cp
Copy files and directories(復制文件和目錄)
cp?選項:
選項 | 意義 |
-a, --archive | 復制文件和目錄,以及它們的屬性,包括所有權和權限。 通常,復本具有用戶所操作文件的默認屬性。 |
-i, --interactive | 在重寫已存在文件之前,提示用戶確認。如果這個選項不指定, cp 命令會默認重寫文件。 |
-r, --recursive | 遞歸地復制目錄及目錄中的內容。當復制目錄時, 需要這個選項(或者-a 選項)。 |
-u, --update | 當把文件從一個目錄復制到另一個目錄時,僅復制 目標目錄中不存在的文件,或者是文件內容新于目標目錄中已經存在的文件。 |
-v, --verbose | 顯示翔實的命令操作信息 |
cp實例:
命令 | 運行結果 |
cp file1 file2 | 復制文件 file1 內容到文件 file2。如果 file2 已經存在, file2 的內容會被 file1 的內容重寫。如果 file2 不存在,則會創建 file2。 |
cp -i file1 file2 | 這條命令和上面的命令一樣,除了如果文件 file2 存在的話,在文件 file2 被重寫之前, 會提示用戶確認信息。 |
cp file1 file2 dir1 | 復制文件 file1 和文件 file2 到目錄 dir1。目錄 dir1 必須存在。 |
cp dir1/* dir2 | 使用一個通配符,在目錄 dir1 中的所有文件都被復制到目錄 dir2 中。 dir2 必須已經存在。 |
cp -r dir1 dir2 | 復制目錄 dir1 中的內容到目錄 dir2。如果目錄 dir2 不存在, 創建目錄 dir2,操作完成后,目錄 dir2 中的內容和 dir1 中的一樣。 如果目錄 dir2 存在,則目錄 dir1 (和目錄中的內容)將會被復制到 dir2 中。 |
mv
Move/rename files and directories(移動/重命名文件和目錄)選項 | 意義 |
---|---|
-i --interactive | 在重寫一個已經存在的文件之前,提示用戶確認信息。?如果不指定這個選項,mv 命令會默認重寫文件內容。 |
-u --update | 當把文件從一個目錄移動另一個目錄時,只是移動不存在的文件, 或者文件內容新于目標目錄相對應文件的內容。 |
-v --verbose | 當操作 mv 命令時,顯示詳細的操作信息。 |
mv 實例:
mv file1 file2 | 移動 file1 到 file2。如果 file2 存在,它的內容會被 file1 的內容重寫。 如果 file2 不存在,則創建 file2。 每種情況下,file1 不再存在。 |
mv -i file1 file2 | 除了如果 file2 存在的話,在 file2 被重寫之前,用戶會得到 提示信息外,這個和上面的選項一樣。 |
mv file1 file2 dir1 | 移動 file1 和 file2 到目錄 dir1 中。dir1 必須已經存在。 |
mv dir1 dir2 | 如果目錄 dir2 不存在,創建目錄 dir2,并且移動目錄 dir1 的內容到 目錄 dir2 中,同時刪除目錄 dir1。如果目錄 dir2 存在,移動目錄 dir1(及它的內容)到目錄 dir2。 |
mkdir
Create directories(創建目錄)
mkdir dir1 | 在當前目錄下創建dir1目錄 |
mkdir dir1 dir2 | 在當前目錄下創建dir1 和dir2目錄 |
mkdir dir1 dir1/dir2 | 創建目錄dir1,然后在dir1目錄下創建dir2。 注:如使用 mkdir dir1/dir2 創建dir2時如果dir1目錄不存在則創建失敗并報錯 |
mkdir /opt/dir1 | 在/opt目錄下創建 dir1目錄 |
rm
Remove files and directories(刪除文件和目錄)選項 | 意義 |
---|---|
-i, --interactive | 在刪除已存在的文件前,提示用戶確認信息。?如果不指定這個選項,rm 會默默地刪除文件 |
-r, --recursive | 遞歸地刪除文件,這意味著,如果要刪除一個目錄,而此目錄 又包含子目錄,那么子目錄也會被刪除。要刪除一個目錄,必須指定這個選項。 |
-f, --force | 忽視不存在的文件,不顯示提示信息。這選項顛覆了“--interactive”選項。 |
-v, --verbose | 在執行 rm 命令時,顯示詳細的操作信息。 |
rm -i *.log | 刪除當前目錄下所有的.log類型文件(刪除提示用戶確認信息,用戶確認后方才刪除) |
rm -v temp.log | 刪除temp.log文件,同時顯示操作信息(例如刪除成功信息) |
rm -rf dir1 | 默默的刪除dir1目錄(連同dir1中的內容一并刪除) |
rm -rf dir/* | 默默的清空dir目錄的內容(dir目錄不刪除) |
rm -r file1 dir1 | 刪除文件 file1, 目錄 dir1,及 dir1 中的內容。 |
通配符
表1.1 通配符通配符 | 意義 |
* | 匹配任意多個字符(包括零個或一個) |
? | 匹配任意一個字符(不包括零個) |
[characters] | 匹配任意一個屬于字符集中的字符 |
[!characters] | 匹配任意一個不是字符集中的字符 |
[[:class:]] | 匹配任意一個屬于指定字符類中的字符 |
表1.2?普遍使用的字符類
字符類 | 意義 |
[:alnum:] | 匹配任意一個字母或數字 |
[:alpha:] | 匹配任意一個字母 |
[:digit:] | 匹配任意一個數字 |
[:lower:] | 匹配任意一個小寫字母 |
[:upper] | 匹配任意一個大寫字母 |
表1.3?通配符范例
模式 | 匹配對象 |
* | 所有文件 |
g* | 文件名以“g”開頭的文件 |
b*.txt | 以"b"開頭,中間有零個或任意多個字符,并以".txt"結尾的文件 |
Data??? | 以“Data”開頭,其后緊接著3個字符的文件 |
[abc]* | 文件名以"a","b",或"c"開頭的文件 |
BACKUP.[0-9][0-9][0-9] | 以"BACKUP."開頭,并緊接著3個數字的文件 |
[[:upper:]]* | 以大寫字母開頭的文件 |
[![:digit:]]* | 不以數字開頭的文件 |
*[[:lower:]123] | 文件名以小寫字母結尾,或以 “1”,“2”,或 “3” 結尾的文件 |