文件管理命令:
mkdir 創建空目錄
語法:
mkdir [選項]…目錄…
選項:
- -P:逐層創建目錄。
- -v:顯示過程。
- -m:直接給定權限。
注意:路徑的基名為命令作用對象。基名路徑必須存在。
示例
創建/tmp/x1/a/a1和/tmp/x1/b
rmdir 移除空目錄
語法
rmdir [選項]…目錄…
選項:
- -p:刪除子級后,向繼續父目錄逐層刪除。
- -v:顯示過程
示例
刪除/tmp/x1/a/a1和/tmp/x1/b
cp命令:copy
是將源文件(suorce)復制到目標文件(dastination/DEST)
復制文件可以分為兩種:
- 單源文件復制:
- 如果 目錄DEST不存在,則會先創建文件,并賦值源文件下的數據流到DEST中;
- 如果DEST存在:
- 如果DEST是目錄文件并且包含數據文件,則會覆蓋目標文件;
- 如果DEST是目錄文件,則現在DEST目標下創建一個與源文件同名的文件,并將源文件的數據流復制DEST的目錄文件內。
- 多源復制:
- 如果DEST不存在便會提示錯誤。
- 如果DEST是目錄文件,則現在的DEST目標下創建一個與源文件同名的文件,并將源文件的數據流復制到DEST目錄文件內。
語法:
- 單源復制:
- cp [選項]…[T] SOURCE DEST
- 多源復制:
- cp [OPTION]… SOURCE… DIRECTORY
- cp [OPTION]… -t DIRECTORY SOURCE…
常用選項:
- -i:交互式復制,即覆蓋之前提醒用戶確認;
- -f:強制覆蓋目標文件;
- -r -R:遞歸復制目錄;將目錄下的文件一并復制過去
- -d: 復制符號鏈接本身,而非其指向的源文件。
- -a: -dR –preserve=all,archive,用其實現歸檔;
- -p:保留保留源文件所有者的屬性
- mode:權限
- ownership:屬主屬組
- timestamps:時間戳
- context:安全標簽
- xattr:擴展屬性
- links:符號鏈接
- all:上述所有屬性
示例:
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
多源復制需要目標目錄存在,所以首先建立/tmp/mytest1目錄
執行命令 cp /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
多源復制需要目標目錄存在,所以首先建立/tmp/mytest2目錄
執行命令 cp -a /etc/*.d /tmp/mytest2
12、復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
多源復制需要目標目錄存在,所以首先建立/tmp/mytest3目錄
mv命令:move
- 源文件復制到指定的目錄下,文件名不變。如果目標文件不是目錄文件則會變更目標文件名,并覆蓋以存在的同名文件。
- 如果是在同目錄下作重命名。多個源復制到目標文件時保存源文件名不變。
語法:
- mv [OPTION]…SUORCE DEST
- mv [OPTION]…SUORCE…DEST
- mv [OPTION]…target-directory=DIRECTORY SOURCE…
選項:
- -i:交互式移動,覆蓋前提示。
- -f:覆蓋前永不提示。
- -b:檔文件存在時,覆蓋前為其創建一個備份。
- -S<后綴>:為備份文件指定后綴,而不是用默認的后綴。
- -u:當源文件與目標文件重復且目標文件比較新或目標文件不存在時,才執行移動操作。
- –target-directory=DIRECTORY:移動全部“源文件”參數到“目錄”中。
示例:
1、移動sys符號鏈接文件到/tmp/kernel并備份
rm命令:
移除每個指定的文件,默認情況下,他不能移除目錄。但當使用-r或者-R選項時,在指定目錄下的整個指定的目錄樹都會被移除。
語法:
rm [OPTIONS]…FILE…
常用選項:
- -i:提示是否移除每個文件。如果是則刪除,否行則跳過。
- -f:不提示直接刪除
- -r:遞歸的移除目錄中的每一個文件
示例:
1、刪除之前的演示目錄/tmp/kernel
元數據
所有文件系統中的數據分為數據和元數據。數據是指普通文件中的實際數據,元數據是指這個文件的的特征信息,包含訪問權限、文件的擁有者和文件數據的塊分布信息等。
時間戳metadata: :
- access time:最近訪問 [簡稱a time]:2017-11-27 21:46:04.519521528 +0800
- modify time:最近更改 [簡稱m time]:2017-11-27 21:46:04.519521528 +0800
- change time:最近改動 [簡稱c time]:2017-11-27 21:46:04.519521528 +0800
stat 命令
顯示文件或文件系統的狀態。
格式:
stat FILE…
touch 命令
觸摸改變文件的時間戳
選項:
- -c:指定的文件路徑不存在時不予創建。
- -a:僅修改 acces time
- -m:僅修改 modify time
- -t:STAMP [[CC]YY]MMDDhhmm[.ss]
bash的基礎特性之一:查看命令的執行狀態結果。
bash命令執行時都會將末次執行的命令狀態都將保存與bash的特殊變量$?中,可以使用echo $?進行查看執行命令結果。
- 查看命令裝來確認命令是否執行成功,返回值為0時標示成功。
- 根據命令的功能呢不同返回值為1-255之間的任意數則是標示命令執行失敗。
格式:
$?
示例:
1、查看ls的執行狀態返回值
2、查看符號鏈接文件的第一行,查看錯誤返回值。
3、ls /var 將結果輸出給 /dev/null 查看返回值
4、創建一個tfile開頭后是當前是日期和時間的文件,文件名為:tfile-2016-05-27-09-32-22
bash的基礎特性之一:命令行展開。
- ~:自動展開為用戶的家目錄,或指定的用戶的家目錄。
- {}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑。
示例 1
創建/tmo目錄下的a_b、a_d、b_c、b_d
mkdir -pv /tmp/{a,b}_{c,d}
:
alias命令:
語法:
定義別名:alias 別名=命令
撤銷別名: unalias 別名
示例:
給ifconfig 設置別名為ifc,。
使用命令引用另一個命令的結果創建文件。
創建/tmp/mylinux目錄下的:
mkdir -p /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}}
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現1位數字(可以有其他字符)的文件或目錄。
在/var下新建了3個文件目錄分別是:lock99a、 look8a、like55a、
執行命令 ls /var/l*[0-9]*[a-z]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
在/var下新建了3個文件目錄分別是:9998a、8888a、66a.
執行命令 ls -d /etc/[0-9]*[a-z]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
在/etc下創建9a998
執行命令 ls -d /etc/[0-9][A-Z,a-z]*
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
多源復制需要目標目錄存在,所以首先建立/tmp/mytest1目錄
執行命令 cp /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
多源復制需要目標目錄存在,所以首先建立/tmp/mytest2目錄
執行命令 cp -a /etc/*.d /tmp/mytest2
12、復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
多源復制需要目標目錄存在,所以首先建立/tmp/mytest3目錄
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/89806