前言:本篇是 Linux 基本操作篇章的內(nèi)容!
筆者使用的環(huán)境是基于騰訊云服務(wù)器:CentOS 7.6 64bit。
學(xué)習(xí)集:
- C++ 入門到入土?。。W(xué)習(xí)合集
- Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集
目錄索引:
1. 基本語法及功能
2. 常用可選項說明
3. 文件基本拷貝操作
- - 3.1 指定文件拷貝到當前目錄
- - 3.2 拷貝指定文件到指定目錄
- - 3.3 拷貝指定文件到上級目錄
4. 目錄拷貝基本操作
- - 4.1 測試直接拷貝目錄
- - 4.2 可選項 [-r] 實現(xiàn)目錄拷貝
- - 4.3 拷貝目錄及文件
5. 相關(guān)文章或系列推薦
1. 基本語法及功能
語法:
- cp [選項] 源文件或目錄 目標文件或目錄(已存在!)
- 目標文件可以賦予新的名字!
功能:
- 復(fù)制文件或目錄
說明:
- cp指令用于復(fù)制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經(jīng)存在的目錄,則它會把前面指定的所有文件或目錄復(fù)制到此目錄中。若同時指定多個文件或目錄,而最后的目的地并非一個已存在的目錄,則會出現(xiàn)錯誤信息。
2. 常用可選項說明
- -f 或 --force 強行復(fù)制文件或目錄, 不論目的文件或目錄是否已經(jīng)存在
- -i 或 --interactive 覆蓋文件之前先詢問用戶
- -r 遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態(tài),不屬于目錄或符號鏈接,則一律視為普通文件處理
- -R 或 --recursive遞歸處理,將指定目錄下的文件及子目錄一并處理
3. 常用選項及測試
3.1 指定文件拷貝到當前目錄
[Mortal@VM-12-16-centos ~]$ ls
StudyingOrder_Linux test1 test2 test3 test_mkdir
[Mortal@VM-12-16-centos ~]$ mkdir test_cp
[Mortal@VM-12-16-centos ~]$ ls
StudyingOrder_Linux test1 test2 test3 test_cp test_mkdir
[Mortal@VM-12-16-centos ~]$ cd test_cp
/* 同時創(chuàng)建兩個目錄一個源文件所在目錄,一個拷貝目的地所在目錄 */
[Mortal@VM-12-16-centos test_cp]$ mkdir origin_dir destination_dir
[Mortal@VM-12-16-centos test_cp]$ ls
destination_dir origin_dir
/* 創(chuàng)建源文件并用重定向方式寫入信息(以后會介紹) */
/* 創(chuàng)建源文件 */
[Mortal@VM-12-16-centos test_cp]$ touch origin_dir/test_origin.txt
/* 用重定向方式寫入信息 */
[Mortal@VM-12-16-centos test_cp]$ echo "hello" > origin_dir/test_origin.txt
/* 執(zhí)行拷貝操作:不指定拷貝目錄即表示拷貝到當前所在目錄 */
[Mortal@VM-12-16-centos test_cp]$ cp origin_dir/test_origin.txt copy.txt
[Mortal@VM-12-16-centos test_cp]$ ls
copy.txt destination_dir origin_dir
/* 查看拷貝文件的內(nèi)容! */
[Mortal@VM-12-16-centos test_cp]$ cat copy.txt
hello
3.2 拷貝指定文件到指定目錄
/*
將 origin_dir 目錄下的 test_origin.txt 文件
拷貝到:destination_dir 目錄下!
*/
/* 操作指令: */
[Mortal@VM-12-16-centos test_cp]$ cp origin_dir/test_origin.txt destination_dir/copy.txt
/* 查看拷貝文件內(nèi)容 */
[Mortal@VM-12-16-centos test_cp]$ cat destination_dir/copy.txt
hello
3.3 拷貝指定文件到上級目錄
/* 查看當前所在路徑 */
[Mortal@VM-12-16-centos test_cp]$ pwd
/home/Mortal/test_cp
/* 執(zhí)行操作: */
[Mortal@VM-12-16-centos test_cp]$ cp origin_dir/test_origin.txt ../copy.txt
/* 返回上級并查看目錄: */
[Mortal@VM-12-16-centos test_cp]$ cd ..
[Mortal@VM-12-16-centos ~]$ pwd
/home/Mortal
/* 查看是否存在拷貝文件 */
[Mortal@VM-12-16-centos ~]$ ls
copy.txt(這) StudyingOrder_Linux test1 test2 test3 test_cp test_mkdir
4. 修改文件創(chuàng)建時間
4.1 基本操作測試
結(jié)論:不能直接拷貝目錄!
[Mortal@VM-12-16-centos test_cp]$ ls
copy.txt destination_dir origin_dir
[Mortal@VM-12-16-centos test_cp]$ cp origin_dir origin_dir_backup
cp: omitting directory ‘origin_dir’
/* 無法直接操作非空目錄 */
/* 測試空目錄拷貝 */
[Mortal@VM-12-16-centos test_cp]$ mkdir test
[Mortal@VM-12-16-centos test_cp]$ ls
copy.txt destination_dir origin_dir test
[Mortal@VM-12-16-centos test_cp]$ cp test test_backup
cp: omitting directory ‘test’
4.2 可選項 [-r] 實現(xiàn)目錄拷貝
結(jié)論:使用 -r 可以使用目錄的拷貝,同時會拷貝非空目錄下的文件!
提問:是否會拷貝非空目錄下的單目錄 / 多級目錄?
/* 執(zhí)行拷貝:空目錄! */
[Mortal@VM-12-16-centos test_cp]$ cp -r test test_backup
[Mortal@VM-12-16-centos test_cp]$ ls
copy.txt destination_dir origin_dir test test_backup
/* 執(zhí)行拷貝:非空目錄! */
[Mortal@VM-12-16-centos test_cp]$ cp -r origin_dir origin_dir_backup
[Mortal@VM-12-16-centos test_cp]$ ls
copy.txt destination_dir origin_dir origin_dir_backup test test_backup
/* 查看目錄下子文件是否拷貝 */
[Mortal@VM-12-16-centos test_cp]$ ls origin_dir_backup/
test_origin.txt
[Mortal@VM-12-16-centos test_cp]$ ls origin_dir
test_origin.txt
4.3 拷貝目錄及文件
回答問題:是否會拷貝非空目錄下的單目錄 / 多級目錄?
答:使用:cp -r … 可以直接拷貝指定目錄下的全部內(nèi)容!
[Mortal@VM-12-16-centos test_cp]$ rm -r test_backup
[Mortal@VM-12-16-centos test_cp]$ mkdir -p test/a/aa/aaa
[Mortal@VM-12-16-centos test_cp]$ touch test/t1.txt
[Mortal@VM-12-16-centos test_cp]$ touch test/a/aa/aaa/t2.txt
[Mortal@VM-12-16-centos test_cp]$ tree test
test
|-- a
| `-- aa
| `-- aaa
| `-- t2.txt
`-- t1.txt
3 directories, 2 files
[Mortal@VM-12-16-centos test_cp]$ cp -r test test_backup
[Mortal@VM-12-16-centos test_cp]$ ls
copy.txt destination_dir origin_dir origin_dir_backup test test_backup
[Mortal@VM-12-16-centos test_cp]$ tree test_backup/
test_backup/
|-- a
| `-- aa
| `-- aaa
| `-- t2.txt
`-- t1.txt
3 directories, 2 files
5. 相關(guān)文章或系列推薦
1. Linux 學(xué)習(xí)目錄合集 ;文章來源:http://www.zghlxwxcb.cn/news/detail-772626.html
2. Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(4)】:: mkdir :: 創(chuàng)建目錄:指定路徑單個目錄創(chuàng)建及一次性創(chuàng)建多級目錄 ;
3. Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(5)】:: touch:創(chuàng)建普通文件、修改文件創(chuàng)建時間及其他基本操作;
4. Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(6)】:: rmidr / rm:刪除空目錄、刪除非空目錄及刪除文件指令;文章來源地址http://www.zghlxwxcb.cn/news/detail-772626.html
到了這里,關(guān)于Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(7)】:: cp:指定文件或目錄的拷貝及指定拷貝到指定路徑(與重命名)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!