linux系統(tǒng)下cp命令是什么呢?下面是cp命令的具體介紹:
1、語法:
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
這兩個語法的效果是一樣的,都是把 SOURCE 代表的文件復制到 DIRECTORY 目錄中。
2、使用cp命令將文件復制到目錄:
首先來看下如何把文件復制到目錄中,使用上面的兩種語法
cp file1 file2 file3 dir1
cp -t dir1 file1 file2 file3
注意,目錄 dir1 必須存在,否則會發(fā)生文件復制重命名。
3、使用cp命令將目錄復制到目錄:
有時候,我們想把整個目錄復制到另外一個目錄下,這個時候,我們需要加上 -r 或 -R 或 --recursive 選項
cp -r dir1/ dir2/
注意,目錄 dir2 必須存在,否則會發(fā)生目錄復制重命令。
4、使用cp命令將目錄項復制到目錄:
cp -r dir1 dir2 是把整個 dir1 目錄復制到目錄 dir2 下,但是有時候我們只想把 dir1 目錄下的內(nèi)容復制到 dir2 目錄下,使用通配符來完成這個任務
cp dir1/* dir2
如果 dir1 目錄有 hello.txt 以及 world.txt 兩個文件,那么 dir1/* 會被 shell 展開為 dir1/hello.txt 以及 dir1/world.txt,那么上面的命令的展開形式如下
cp dir1/hello.txt dir2/world.txt dir2
這個形式就是文件復制到目錄的操作。
注意,目錄 dir2 必須存在,否則會報錯。
5、使用cp命令將文件復制重命名:
有時候,我們想復制一個文件,但是同時又想把副本(復制后的文件)進行重命名,cp 命令可以做到,只要重命名的名子不存在即可
cp file1 dir1/renamed_file1
這個命名會把當前目錄下的 file1 復制到 dir1 目錄下,并且重命名為 renamed_file1。
注意,只有在 renamed_file1 不存在的情況下,才會發(fā)生文件復制重命名的操作。如果 renamed_file1 存在,那么將會用 file1 的內(nèi)容覆蓋 renamed_file1 的內(nèi)容。
6、使用cp命令將目錄復制重命名:
目錄復制重命名與文件復制重命名類似,只是復制目錄需要加上選項 -r。
cp -r dir1/ dir2/renamed_dir1
注意,如果想目錄復制重命名,那么 renamed_dir1 目錄必須不存在。如果存在,那么將會發(fā)生把一個目錄復制到另外一個目錄下的操作。
7、使用cp命令將文件覆蓋:
在前面的部分中提到一個問題,文件復制可以導致覆蓋操作,例如
cp file1 file2 dir1
如果 dir1 目錄下存在 file1 文件,那么默認將會發(fā)生覆蓋,但是不會給我們提示。如果這不是你想要的,那么可以使用下面幾個選項
使用 -n 選項,不會發(fā)生覆蓋操作。
使用 -i 選項,可以提示操作者是否執(zhí)行覆蓋操作。
使用 -b 選項,在覆蓋前進行備份,備份文件名是原始文件名加上一個波浪線。
使用 -u 選項,表示只有文件比較新的時候,才發(fā)生覆蓋。
8、使用cp命令將備份文件:
通過--suffix 重新定義備份文件名后綴。
cp --suffix=.bak file1 dir1
注意,如果指定了 --suffix 選項,那么已經(jīng)包含了 -b 的意思,因此不需要再指定 -b 選項。
如果 dir1 目錄已經(jīng)存在 file1 文件,那么會生成一個備份文件 file1.bak,然后再發(fā)生文件復制。
其實 cp 命令有幾種內(nèi)置的生成備份文件的方式,通過 --backup 選項指定,有如下幾個值
simple/never: 備份后綴名為波浪符(~),這是默認方式。
numbered/t : 備份后綴為數(shù)字,例如 ~1~。
existing/nil : 如果已經(jīng)存在數(shù)字備份的文件,那么就使用數(shù)字后綴,否則使用波浪符后綴。
9、使用cp命令將文件的自我備份:
$ cp -b file1 file1
cp: 'file1' and 'file1' are the same file
這個命令表示在當前目錄下,把 file1 復制為 file1,并且 -b 選項表示生成備份文件。但是這個命令無法執(zhí)行,可以通過 -f 選項強制執(zhí)行
$ cp -vfb hello.c hello.c
'hello.c' -> 'hello.c~'
以上就是小編今天的分享了,希望可以幫助到大家。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com