1. 程式人生 > 其它 >Linux中cp命令的使用方法

Linux中cp命令的使用方法

作為一個Linux管理員,在工作中怎麼能少掉cp命令呢?畢竟對於搭建一個環境或者部署一個應用都少不了使用cp命令,為了能夠把一個檔案拷貝到另外一個目錄,比如在docker映象構建檔案指令碼中都經常用到cp命令,把一個配置檔案目錄拷貝到具體的路徑下。

1,拷貝檔案從一個目錄到另外一個目錄

通過使用"cp 原始檔 目標檔案"來拷貝一個檔案,通過使用該命令來把原始檔拷貝到目標檔案中。

[root@sharplee creatfile]# cp hello.txt test1/test.txt

如何想要拷貝到目的目錄下的檔名不發生改變,在拷貝目錄下不用加檔名,直接新增拷貝目錄即可。

[root@sharplee creatfile]# cp hello.txt test1/

2,拷貝多個檔案到另外一個目錄

cp命令可以拷貝多個檔案到另外一個目錄,通過以下命令來實現,前面是原始檔,最後一個是要拷貝到的目錄 。

[root@sharplee creatfile]# cp tt1.log tt3.log tt4.log test3/

如果要拷貝的檔名有多個並且檔案的副檔名都相同的話,則可以使用以下方式全部把檔案拷貝到另一個目錄下。

[root@sharplee creatfile]# cp *.log test3/

3,拷貝時備份同名檔案

通過cp命令來拷貝一個檔案,有些是會進行互動提示是否重新同名檔案,有些是不會提醒是否重新同名檔案的,這個時候在拷貝檔案時建議加上以下選項來對同名檔案進行備份操作,備份操作會提示是否重寫,選擇是,接著會生成一個備份檔案出來。

[root@sharplee creatfile]# cp --backup hello.txt test2/
         or
[root@sharplee sharplee]# cp -b hello.txt test2/

4,拷貝檔案保留連結

執行 cp 命令時,如果原始檔是連結檔案,則將複製實際檔案,而不是連結檔案。如果您只想按原樣複製連結檔案,請指定選項 -d,如下所示:

[root@sharplee creatfile]# cp -d softlinkfile.txt test1/

5,拷貝不重寫一個存在的檔案

如果只想在目標檔案不存在時進行復制,請使用選項 -n,如下所示。這樣不會覆蓋現有檔案,並且 cp 命令將返回成功。

[root@sharplee creatfile]# cp -n hello.txt test1/

6,拷貝同名檔案提示是否重寫

當拷貝檔案使用 -i 選項時,它將在覆蓋檔案之前要求確認,如下所示。

[root@sharplee creatfile]# cp hello.txt test1/

7,建立指向檔案的硬連結(而不是複製)

通過cp命令來建立一個檔案的硬連結,而不是複製,通過以下命令。

[root@sharplee sharplee]# cp -l hello.txt test4/

8,建立指向檔案的硬連結(而不是複製)

通過cp命令來建立一個檔案的硬連結,而不是複製,通過以下命令,最後test5/hello.txt 和上一級目錄的hello.txt是相同的檔案。

[root@sharplee sharplee]# cp -l hello.txt test5/

8,建立指向檔案的軟連結(而不是複製)

通過cp命令來建立一個檔案的軟連結,而不是複製,建立軟連線檔案只能在相同目錄下進行操作,不能拷貝到其它目錄。以下是建立軟連線的例項。

[root@sharplee sharplee]# cp -s hello.txt hello1.txt

9,拷貝檔案保留檔案的屬性

通過cp命令來拷貝檔案,保留檔案的模式,檔案擁有的所有權,以及檔案的時間戳等。

[root@sharplee sharplee]# cp -p hello.txt test6/

通過cp命令來拷貝檔案,保留檔案的模式通過以下命令,然而時間戳是已經被改變了,也可以使用時間戳改變模式改變時間戳。使用選項--preserve=timestamp。

[root@sharplee sharplee]# cp --preserve=mode hello.txt test6/

 

10,拷貝最新檔案,舊檔案不拷貝

通過cp命令來拷貝檔案,只拷貝最新的檔案,舊檔案不進行拷貝,根據時間戳來看是否是最新的檔案。

[root@sharplee sharplee]# cp -u hello.txt test6/

11,拷貝目錄

通過cp -r命令來拷貝目錄,把一個目錄拷貝到另外一個目錄。

[root@sharplee sharplee]# cp -r test7 test8/

12,拷貝多個目錄

通過cp命令來拷貝多個目錄,把多個目錄拷貝到一個目錄下。

[root@sharplee sharplee]# cp -r test6 test7 test8 test9 test10

總結:cp主要用於拷貝一個檔案或者目錄到另外一個檔案或者目錄,通過本文主要講解了拷貝命令的使用方法,拷貝命令的使用還是得非常小心,不然使用不當,就會造成檔案未備份導致檔案被覆蓋。