Linux命令學習總結:cp命令

Linux命令學習總結:cp命令


命令簡介:

     cp命令用來復制文件或目錄。指令英文原義:copy,copy files and directories

     指令所在路徑:/bin/cp

命令語法:

  • cp [OPTION]… [-T]   SOURCE   DEST

  • cp [OPTION]…   SOURCE…   DIRECTORY

  • cp [OPTION]… -t DIRECTORY   SOURCE…

命令參數:

參數 長參數 描述
-a 等同于-dR
-d 復制符號鏈接
-f – -force 強制復制
-i 交互式模式。覆蓋目標文件之前先要進行詢問
-n 不覆蓋
-r/-R 處理指定目錄以及子目錄
-v – -verbose 顯示命令執行的詳細信息
– -help 顯示命令在線幫助
– -version 顯示命令版本信息

使用示例:

1. 選項-in 和 -ni 的區別

    cp -in /app/001.log /app/file.log 
    該命令,當file.log存在時,不會覆蓋file.log,即file.log不會做任何的變化,且不會有任何提示信息;file.log不存在時,會創建file.log,并用001.log的內容進行填充。 
     cp -ni /app/001.log /app/file.log 
    該命令,當file.log存在時,會提示覆蓋file.log,如果選擇yes,就會覆蓋文件的內容;file.log不存在時,會創建file.log,并用001.log的內容進行填充。 
     總結:-i 和 -n選項放在一起的時候,后面的選項會覆蓋前面的選項。

2. cp的幾種使用情況總結

    (1) SOURCE為文件,DEST不存在的話,創建DEST文件,復制SOURCE的內容過去,此時新創建的DEST文件的所有者是源。 
    幾種情況:

命令 描述
cp /appa/a.txt /appb/b.txt b.txt 不存在,創建b.txt文件
cp /appa/a.txt /appb/b.sh b.sh 不存在,創建b.sh文件
cp /appa/a.txt /appb/abc abc不存在,創建abc文件,注意abc是文件

    (2) 目標文件存在,overwrite,覆蓋是內容覆蓋,目標文件的所有者和后綴等一些文件元數據不變,cp后的文件的名稱為目標文件的名稱,注意數據丟失風險,建議用-i選項 
     cp -i a.txt b.txt 
     cp -i a.txt bb.sh

    (3) 目標文件存在且為目錄,在DEST目錄下新建與原文件同名的文件,并將源文件中內容填充至新文件中 
     cp /appa/a.txt /appb/abc 
     abc此時存在且為目錄

    (4) 源文件為多個文件,目標文件存在且為目錄,在目標文件夾下新建與原 
文件同名的文件,并將原文件內容復制進新文件中,在此不再舉例

    (5) 源文件為目錄,目標文件不存在,此時,創建指定DEST同名目錄,復制SRC目錄中所有文件至DEST下,舉例如下: 
    創建/testdir/rootdir目錄,并復制/root下所有文件到該目錄內,要求保留原有權限
    答案:cp -a /root    /testdir/rootdir 
    注意:rootdir這個目錄不存在,而testdir存在

    (6) 源文件為目錄,目標文件存在且為目錄,在DEST下新建與原目錄同名的目錄,并將SRC中內容復制至新目錄中,舉例: 
    /testdir/rootdir目錄存在,復制/app/test目錄本身到rootdir目錄內 
    答案: cp -a /app/test    /testdir/rootdir

    (7) 源文件為目錄,目標文件存在且為目錄,且下面是有文件的,如何把源文件夾下面的文件拷貝到目標文件夾下面?舉例: 
    /testdir/rootdir目錄存在,且下面有文件和文件夾,復制/app/test目錄下面的內容到rootdir目錄內 
    答案: cp -a /app/test/*    /testdir/rootdir


原創文章,作者:woking,如若轉載,請注明出處:http://www.www58058.com/82535

(1)
wokingwoking
上一篇 2017-07-23
下一篇 2017-07-23

相關推薦

  • httpd服務——CentOS6

    Web Service 應用層:http,https 實現某類具體應用 傳輸層協議:TCP,UDP,SCTP IANA:          0-1023:從所周知的端口,永久的分配給固定應用使用,特權端口       &…

    Linux干貨 2016-10-09
  • 馬哥網絡教育班第21期+第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 [root@CentOS6 ~]# cp -r /etc/skel /home/tuser1 [root@CentOS6 ~]# chmod&nb…

    Linux干貨 2016-07-29
  • linux下文件處理基礎命令(自己預習瞎學的)

                      Linux下文件處理基礎命令     1.創建文件   有時候我們會遇到需要創建一個空文件的情況。比如,應用程序可能希望在寫…

    2017-07-15
  • CentOS環境下,ab性能測試功具介紹及使用

    網站性能壓力測試是服務器網站性能調優過程中必不可缺少的一環。只有讓服務器處在高壓情況下,才能真正體現出軟件、硬件等各種設置不當所暴露出的問題。 性能測試工具目前最常見的有以下幾種:ab、http_load、webbench、siege。 ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型…

    Linux干貨 2017-07-22
  • 軟硬鏈接區別及tr轉換命令

    軟硬鏈接的區別 (1)軟連接可以 跨文件系統 ,硬連接不可以 (2)關于 I節點的問題 。硬連接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加,只要結點的連接數不是 0,文件就一直存在 ,不管你刪除的是源文件還是連接的文件。只         要有一個存在,文件就 存…

    Linux干貨 2016-08-08
  • linux流程控制if,for,case,while

     Shell編程中循環命令用于特定條件下決定某些語句重復執行的控制方式,有三種常用的循環語句:for、while和until。while循環和for循環屬于“當型循環”,而until屬于“直到型循環”。循環控制符:break和continue控制流程轉向。 選擇執行:           …

    Linux干貨 2017-03-25
欧美性久久久久