『Linux學習筆記』4. 檔案和目錄操作指令 -- cp mv mkdir rm
阿新 • • 發佈:2021-06-29
本篇將在上篇的基礎上, 介紹常用的檔案(目錄)實際操作命令.
-
cp – Copy files and directories
- 複製檔案或目錄
-
mv – Move/rename files and directories
- 移動檔案或目錄
-
mkdir – Create directories
- 新建目錄
-
rm – Remove files and directories
- 刪除檔案或目錄
萬用字元
在使用檔案操作命令之前, 需要先了解為什麼在圖形操作介面如此發達的今天, 命令列操作方式仍未被淘汰的原因. 而萬用字元則是答案之一.
萬用字元允許你依據字元的組合模式來選擇檔名。下表列出這些萬用字元以及它們所選擇的物件:
萬用字元 | 意義 |
---|---|
* | 匹配任意多個字元(包括零個或一個) |
? | 匹配任意一個字元(不包括零個) |
[characters] | 匹配任意一個屬於字符集中的字元 |
[!characters] | 匹配任意一個不是字符集中的字元 |
[[:class:]] | 匹配任意一個屬於指定字元類中的字元(見下表) |
字元類 | 意義 |
---|---|
[:alnum:] | 匹配任意一個字母或數字 |
[:alpha:] | 匹配任意一個字母 |
[:digit:] | 匹配任意一個數字 |
[:lower:] | 匹配任意一個小寫字母 |
[:upper:] | 匹配任意一個大寫字母 |
藉助萬用字元, 為檔名構建非常複雜的選擇標準成為可能. 這也是圖形化介面難以高效實現的.
在Linux(Shell)中, 任何可以接受檔名作為命令引數的命令, 都可以使用萬用字元.
mkdir
mkdir 命令是用來建立目錄的.
它可以同時接受多個引數以同時建立多個目錄.
如:
mkdir dir1 dir2 dir3
在當前工作目錄下建立三個目錄,名為 dir1, dir2, dir3.
cp
cp是由copy縮寫所得到的, 其所做的工作與其原本的意思無異 -- 拷貝.
它有兩種使用方法:
cp item1 item2
複製檔案或目錄item1到目錄item2
cp item... directory
複製多個檔案或目錄到一個目錄下
除此之外, cp命令還有一些常用的可選引數, 如下:
選項 | 意義 |
---|---|
-a, --archive | 複製檔案和目錄,以及它們的屬性,包括擁有者和所有權。 通常,副本具有使用者所操作檔案的預設屬性。 |
-i, --interactive | 在重寫已存在檔案之前,提示使用者確認。如果這個選項不指定, cp 命令會預設重寫檔案。 |
-r, --recursive | 遞迴地複製目錄及目錄中的內容。當複製目錄時, 需要這個選項(或者-a 選項)。 |
-u, --update | 當把檔案從一個目錄複製到另一個目錄時,僅複製 目標目錄中不存在的檔案,或者是檔案內容新於目標目錄中已經存在的檔案。 |
-v, --verbose | 複製時顯示詳細的命令操作資訊 |
舉例:
命令 | 執行結果 |
---|---|
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
mv源於move的縮寫, 它可以用作檔案或目錄的移動或重新命名.mv的用法與cp十分相似.
但需要注意的是, 無論是用作重新命名或移動, 只要使用了mv命令, 原檔案或目錄將不存在.
它有同樣兩種使用方法:
mv item1 item2
移動檔案或目錄item1到目錄item2
mv item... directory
複製多個檔案或目錄到一個目錄下
mv命令與cp命令的很多可選引數都是一樣的:
選項 | 意義 |
---|---|
-i --interactive | 在重寫一個已經存在的檔案之前,提示使用者確認資訊。如果不指定這個選項,mv 命令會預設重寫檔案內容。 |
-u --update | 當把檔案從一個目錄移動另一個目錄時,只是移動不存在的檔案, 或者檔案內容新於目標目錄相對應檔案的內容。 |
-v --verbose | 執行操作時顯示詳細的命令操作資訊 |
舉例:
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。 |
rm
rm源自remove的縮寫, 它用來移除(刪除)檔案和目錄
rm item...
同樣, rm也有可選引數
選項 | 意義 |
---|---|
-i, --interactive | 在刪除已存在的檔案前,提示使用者確認資訊。如果不指定這個選項,rm 會默默地刪除檔案 |
-r, --recursive | 遞迴地刪除檔案,這意味著,如果要刪除一個目錄,而此目錄 又包含子目錄,那麼子目錄也會被刪除。要刪除一個目錄,必須指定這個選項。 |
-f, --force | 忽視不存在的檔案,不顯示提示資訊。這選項覆蓋了“--interactive”選項。 |
-v, --verbose | 在執行 rm 命令時,顯示翔實的操作資訊。 |
例:
命令 | 執行結果 |
---|---|
rm file1 | 默默地刪除檔案 |
rm -i file1 | 除了在刪除檔案之前,提示使用者確認資訊之外,和上面的命令作用一樣。 |
rm -r file1 dir1 | 刪除檔案 file1, 目錄 dir1,及 dir1 中的內容。 |
rm -rf file1 dir1 | 同上,除了如果檔案 file1,或目錄 dir1 不存在的話,rm 仍會繼續執行。 |
rm -rf * | 使用了萬用字元, 這將刪除當前工作目錄下的任何東西. 刪庫跑路(bushi |