cp命令:復制文件和目錄


cp命令:復制文件和目錄

【功能說明】

  cp命令可以理解英文單詞copy的縮寫,其功能為復制文件和目錄。

【語法格式】

1  cp    [option]     [source]       [dest]
2  cp    【選項】       【源文件】       【目標文件】 

 提示說明:

  1) cp命令以及后面的選項和文件,每個元素之間都至少要有一個空格

【命令參數說明】

參數選項 解釋說明
-p 復制文件時保持源文件的所有者、權限信息及時間屬性
-d 如果復制的源文件時符號鏈接,那么僅復制符號鏈接本身,而保留符號鏈接所有指向的目標文件或目錄
-r 遞歸復制目錄,即復制目錄下的所有層級的子目錄及文件
-a 等同於上面的 p 、d、r這三個選項的功能的總和
-i 覆蓋已有文件前提示用戶確認
-t 默認情況下命令格式是 “cp源文件”  “目標文件”,使用 -t 參數可以顛倒順序,格式變為 “cp -t  目標文件    源文件”


【使用范例】

1. 基礎范例

1.1 案例1:無參數和帶參數-a的比較

[root@python ~]# cd /test/
[root@python test]# pwd
/test

[root@python test]# ll -h               #查看當前文件的時間屬性,大家已自己的為准
total 0
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir1
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir2
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir3
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir4
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir5
-rw-r--r-- 1 root root 0 Dec 1 03:33 file1.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file2.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file3.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file4.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file5.txt

[root@python test]# cp file1.txt file4.txt
cp: overwrite ‘file4.txt’? y
[root@python test]# cp -a file1.txt file5.txt
cp: overwrite ‘file5.txt’? y

[root@python test]# ll -h        #再次查看當前文件的時間屬性
total 0
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir1
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir2
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir3
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir4
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir5
-rw-r--r-- 1 root root 0 Dec 1 03:33 file1.txt               #file1.txt文件是源文件
-rw-r--r-- 1 root root 0 Dec 1 03:33 file2.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file3.txt
-rw-r--r-- 1 root root 0 Dec 1 03:36 file4.txt               #file4在沒有使用任何參數
-rw-r--r-- 1 root root 0 Dec 1 03:33 file5.txt               #file5在使用了“-a”參數復制后的,屬性不變

  可以發現使用了-a參數復制時,文件的時間屬性沒有任何變化,-a參數的功能包含-p參數保持文件的屬性功能。

1.2 案例2:使用 -i 參數的例子

[root@python test]# cp -i file1.txt file5.txt     #使用-i 參數復制文件,會提示是否覆蓋文件
cp: overwrite ‘file5.txt’? y
[root@python test]# cp file1.txt file5.txt       #不使用-i參數一樣的結果,為什么呢?
cp: overwrite ‘file5.txt’? y
[root@python test]# alias cp                        #使用alias命令查看到cp命令 系統設置了cp -i 的別名了
alias cp='cp -i'

1.3 案例3:使用-r參數復制目錄

[root@python test]# cp dir1 dir2                #復制dir1 到dir2,但結果顯示跳過目錄dir1
cp: omitting directory ‘dir1’
[root@python test]# cp -r dir1 dir2/           #若使用-r參數則復制成功。

[root@python test]# tree dir2                    #查看復制結果
dir2
├── dir1
│   ├── test1
│   │   ├── test1
│   │   ├── test2
│   │   ├── test3
│   │   ├── test4
│   │   └── test5
│   ├── test2
│   │   ├── test1
│   │   ├── test2
│   │   ├── test3
│   │   ├── test4
│   │   └── test5
│   └── test3
│   ├── test1
│   ├── test2
│   ├── test3
│   ├── test4
│   └── test5
├── test1
│   ├── test1
│   ├── test2
│   ├── test3
│   ├── test4
│   └── test5
├── test2
│   ├── test1
│   ├── test2
│   ├── test3
│   ├── test4
│   └── test5
└── test3
├── test1
├── test2
├── test3
├── test4
└── test5

7 directories, 30 files

#提示:

  使用-a參數也可以達到相同的效果,因為-a參數相當於“dpr” 三個參數


免責聲明!

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



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