一、命令格式:spa
cp [選項]... [-T] 源 目的code
二、命令功能:blog
將源文件複製至目標文件,或將多個源文件複製至目標目錄。遞歸
三、命令參數:class
-a:此參數的效果和同時指定"-dpR"參數相同; -d:當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄; -f:強行復制文件或目錄,不論目標文件或目錄是否已存在; -i:覆蓋既有文件以前先詢問用戶; -l:對源文件創建硬鏈接,而非複製文件; -p:保留源文件或目錄的屬性; -R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理; -s:對源文件創建符號鏈接,而非複製文件; -u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件; -S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴; -b:覆蓋已存在的文件目標前將目標文件備份; -v:詳細顯示命令執行的操做。
四、簡單實例:test
(1)、複製單個文件到目標目錄,文件在目標文件中不存在file
命令:di
cp a.txt test1/
輸出:文件
felix@felix-computer:~/test$ tree . ├── a.txt └── test1 1 directory, 1 file felix@felix-computer:~/test$ cp a.txt test1/ felix@felix-computer:~/test$ tree . ├── a.txt └── test1 └── a.txt 1 directory, 2 files
(2)、目標文件存在時,會詢問是否覆蓋時間
命令:
cp -i a.txt test1/
輸出:
felix@felix-computer:~/test$ tree . ├── a.txt └── test1 └── a.txt 1 directory, 2 files felix@felix-computer:~/test$ cp -i a.txt test1/ cp:是否覆蓋'test1/a.txt'? y felix@felix-computer:~/test$ tree . ├── a.txt └── test1 └── a.txt 1 directory, 2 files
(3)、複製整個目錄
命令:
cp -r test1 test2
輸出:
當文件夾存在時,賦值到目標文件夾中 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt └── test2 2 directories, 1 file felix@felix-computer:~/test$ cp -r test1 test2 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt └── test2 └── test1 └── a.txt 3 directories, 2 files 當文件夾不存在時,新建 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt └── test2 └── test1 └── a.txt 3 directories, 2 files felix@felix-computer:~/test$ cp -r test1 test3 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt ├── test2 │ └── test1 │ └── a.txt └── test3 └── a.txt 4 directories, 3 files
(4)、給文件建立一個快捷方式
命令:
cp -s test1/test2/test3/a.txt a_link.txt
輸出:
felix@felix-computer:~/test$ tree . └── test1 └── test2 └── test3 └── a.txt 3 directories, 1 file felix@felix-computer:~/test$ cp -s test1/test2/test3/a.txt a_link.txt felix@felix-computer:~/test$ tree . ├── a_link.txt -> test1/test2/test3/a.txt └── test1 └── test2 └── test3 └── a.txt 3 directories, 2 files