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主要用於拷貝一個文件或者目錄到另外一個文件或者目錄,通過本文主要講解了拷貝命令的使用方法,拷貝命令的使用還是得非常小心,不然使用不當,就會造成文件未備份導致文件被覆蓋。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM