歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux文件管理與bash特性有哪些

 Linux上的文件管理命令

  目錄管理命令:

  mkdir:make directories

  mkdir [OPTION]… DIRECTORY…

  -p: 自動按需創建父目錄;

  -v: verbose,顯示詳細過程;

  -m MODE:直接給定權限;

  注意:路徑基名方為命令的作用對象;基名之前的路徑必須得存在;

  rmdir:remove empty directories

  rmdir [OPTION]… DIRECTORY…

  -p:刪除某目錄後,如果其父目錄為空,則一並刪除之;

  -v: 顯示過程;

  文件管理命令

  cp命令:copy

  源文件;目標文件;

  單源復制:cp [OPTION]… [-T] SOURCE DEST

  多源復制:cp [OPTION]… SOURCE… DIRECTORY

  cp [OPTION]… -t DIRECTORY SOURCE…

  單源復制:cp [OPTION]… [-T] SOURCE DEST

  如果DEST不存在:則事先創建此文件,並復制源文件的數據流至DEST中;

  如果DEST存在:

  如果DEST是非目錄文件:則覆蓋目標文件;

  如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的文件,並復制其數據流;

  多源復制:cp [OPTION]… SOURCE… DIRECTORY

  cp [OPTION]… -t DIRECTORY SOURCE…

  如果DEST不存在:錯誤;

  如果DEST存在:

  如果DEST是非目錄文件:錯誤;

  如果DEST是目錄文件:分別復制每個文件至目標目錄中,並保持原名;

  常用選項:

  -i:交互式復制,即覆蓋之前提醒用戶確認;

  -f:強制覆蓋目標文件;

  -r, -R:遞歸復制目錄;

  -d:復制符號鏈接文件本身,而非其指向的源文件;

  -a:-dR –preserve=all, archive,用於實現歸檔;

  –preserv=

  mode:權限

  ownership:屬主和屬組

  timestamps: 時間戳

  context:安全標簽

  xattr:擴展屬性

  links:符號鏈接

  all:上述所有屬性

  mv命令:move

  mv [OPTION]… [-T] SOURCE DEST

  mv [OPTION]… SOURCE… DIRECTORY

  mv [OPTION]… -t DIRECTORY SOURCE..

  常用選項:

  -i:交互式;

  -f:force

  rm命令:remove

  rm [OPTION]… FILE…

  常用選項:

  -i:interactive

  -f:force

  -r: recursive

  bash的特性

  命令的執行狀態結果

  命令執行的狀態結果:

  bash通過狀態返回值來輸出此結果:

  成功:0

  失敗:1-255

  命令行展開

  ~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

  {}:可承載一個以逗號分隔的路徑列表,並能夠將其展開為多個路徑;

  創建/tmp目錄下的:a_c, a_d, b_c, b_d

  touch {a,b}_{c,d}

  創建/tmp/mylinux目錄下的

  mkdir -pv   /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-      scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

  文件元數據

  文件元數據主要包括權限,大小,inode,屬主,屬組,access time, modify time, change time,etc…

  文件的元數據可以用stat命令查看。

  touch命令可以修改時間戳:

  touch [OPTION]… FILE…

  -c: 指定的文件路徑不存在時不予創建;

  -a: 僅修改access time;

  -m:僅修改modify time;

  -t STAMP

  [[CC]YY]MMDDhhmm[.ss]

  命令別名&引用命令的執行結果

  可以使用alias name=value形式定義命令別名。

  引用命令的執行結果:

  $(COMMAND)

  或`COMMAND`

  練習

  顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。

  ls -ld /var/l*[0-9]*[a-z]

  顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。

  ls -ld /etc/[0-9]*[^[:digit:]]

  顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄。

  ls -ld /etc/[^[:alpha:]][a-z]*

  在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

  touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

  復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

  cp -r /etc/p*[^0-9] /tmp/mytest1/

  復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

  cp -r /etc/*.d /tmp/mytest2/

  復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

  cp -r /etc/[lmn]*.conf /tmp/mytest3/

Copyright © Linux教程網 All Rights Reserved