天天看點

CentOS 7基礎操作07_Linux複制、删除、移動目錄和檔案

1、cp——複制(Copy)檔案或目錄

cp指令用于複制檔案或目錄,将需要複制的檔案或目錄(源)重建一份并儲存為新的檔案或目錄(可儲存到其他目錄中)。cp指令的基本使用格式如下:

cp    [選項]...    源檔案或目錄...    目标檔案或目錄      

需要複制多個檔案或目錄時,目标位置必須是目錄.且目标目錄必須已經存在。cp指令較常月到的幾個選項如下。

  • -f:覆寫目标同名檔案或目錄時不進行提醒,而直接強制(Force)複制。
  • -i:覆寫目标同名檔案或目錄時提醒使用者确認(Interactive,互動式)。
  • -p:複制時保持〔Preserve)源檔案的權限、屬主及時間标記等屬性不變。
  • -r:複制目錄時必須使用此選項,表示遞歸複制所有檔案及子目錄。

例如,以下兩個操作将把/bin/touch指令程式複制到目前目錄下,并命名為mytouch。另外将/etc/yum.conf 檔案複制一份作為備份,添加.bak擴充名,仍存放在/etc目錄中.

[root@blab ~]# cp /bin/touch ./mytouch
[root@blab ~]# cp /etc/yum.conf /etc/yum.conf.bak      

如果需要複制的資料包括完整的目錄,則需要結合“-r”選項才能成功執行,否則目錄将被忽略。例如,以下操作将把目錄/boot/grub、檔案/etc/host . conf 複制到目前目錄下的public_html 檔案夾中。

[root@blab ~]# cp -r /boot/grub/ /etc/host.conf public_html/
[root@blab ~]# ls public_html/
grub  host.conf      

2、rm指令——删除(Remove)檔案或目錄

rm指令用于删除指定的檔案或目錄,在Linux 指令行界面中,删除的檔案是難以恢複的.是以使用rm 指令删除檔案時需要格外小心。rm 指令使用要删除的檔案或目錄名作為參數。常用的幾個選項如下(與CP指令的對應選項含義基本相似)所述。

  • -f:删除檔案或目錄時不進行提醒,而直接強制删除。
  • -i:删除檔案或目錄時提醒使用者确認。
  • -r:删除目錄時必須使用此選項.表示遞歸删除整個目錄樹(應謹慎使用).

對于已經确定不再使用的資料(包含目錄、檔案),通常結合“-rf”選項直接進行删除而不進行提示。例如,若要删除剛複制到public_html目錄中的grub目錄樹,且不提示使用者進行确認(直接删除),可以執行“rm -rf public_html/grub/”指令,具體操作如下:

[root@blab ~]# rm -rf public_html/grub/
[root@blab ~]# ls public_html/
host.conf      

如果需要在執行删除操作前進行确認,可以使用“-i”選項(不要和-f 選項同時使用),rm 指令将對每個待删除的檔案或目錄提示使用者是否真的删除,需要輸入y(表示删除)或n(表示不删除)進行确認,例如以下操作将以提示确認的方式删除public_htmI目錄中的host .conf檔案(根據提示資訊輸入y确認删除).

[root@blab ~]# rm -i public_html/host.conf 
rm:是否删除普通檔案 "public_html/host.conf"?y      

【注意】

在學習 rm删除指令時,不要直接删除系統中已有的目錄或配置檔案,以避免出現意外故障。建議從系統中複制一些目錄或檔案到建立的檔案夾中,然後切換到建立的檔案夾,使用複制後的目錄或檔案進行删除練習。

3、mv指令——移動(Move)檔案或目錄

mv指令用于将指定的檔案或目錄轉移位置,如果目标位置與源位置相同,則效果相當于為檔案或目錄改名mv指令的基本使用格式如下:

mv    [選項]  ...  源檔案或目錄...    目标檔案或目錄      

需要移動多個檔案或目錄時,目标位置必須是目錄,且目标目錄必須已經存在。

如果在同一個目錄下移動檔案或目錄,則相當于執行重命名操作。例如,以下操作将把目前目錄中的mytouch程式檔案改名為mkfile.

[root@blab ~]# mv mytouch mkfile
[root@blab ~]# ls -lh mytouch mkfile 
ls: 無法通路mytouch: 沒有那個檔案或目錄
-rwxr-xr-x. 1 root root 62K 5月   6 11:51 mkfile      

如果移動一個檔案或目錄到一個已經存在的檔案夾中可以隻指定目标檔案夾位置,例如,以下操作将把 mkfile檔案移動到 public_html目錄(已經存在)中,檔案名仍然是mkfile.

[root@blab ~]# mv mkfile public_html/
[root@blab ~]# ls -l public_html/
總用量 64
-rwxr-xr-x. 1 root root 62568 5月   6 11:51 mkfile      

繼續閱讀