cp:複製文件或目錄

【功能說明】markdown

   cp命令能夠理解爲英文單詞copy的縮寫,其功能爲複製文件或目錄ide

【語法格式】命令行

cp [option] [source]  [dest]
cp [選項]    [源文件]  [目標文件]

【選項說明】code

參數選項 解釋說明(帶*的爲重點)
-p 複製文件時保持文件的全部者、權限信息及時間屬性
-d 若是複製的源文件是符號連接,那麼僅複製符號連接自己,並且保留符號連接所指向的目標文件或目錄
-r 遞歸複製目錄,即複製目錄下的全部層級的子目錄及文件
-a 等同於上面的p、d、r 這3個選項功能的總和 <font color=#0099f6>*</font>
-i 覆蓋已有文件前提示用戶確認
-t 默認狀況下命令格式是「cp 源文件 目標文件」,使用-t參數能夠顛倒順序,格式變爲「cp -t 目標文件 源文件」

使用範例

1.基礎範例blog

  • 無參數和帶參數 -a 的比較
    cp:複製文件或目錄

能夠發現使用 -a 參數複製時,文件的時間屬性沒有改變,-a的參數功能包含-p參數保持文件屬性的功能。遞歸

  • -i 參數的例子
    [root@tianakong test]# cp -i file1.txt  file5.txt  # <==使用-i參數複製文件,會提示是否覆蓋文件
    cp: overwrite `file5.txt'? 
    [root@tianakong test]# cp file1.txt file5.txt #<== 不使用 -i 參數同樣的結果,爲何呢?
    cp: overwrite `file5.txt'? 
    [root@tianakong test]# alias cp #<==緣由是系統爲cp命令默認設置了別名
    alias cp='cp -i'

    CentOS 系統默認爲cp命令設置了別名,即增長了-i的參數。可是在Shell腳本中執行cp時,若沒有-i參數,則並不會詢問是否覆蓋。這是由於命令行和Shell腳本執行時的環境變量不一樣,不過在腳本中通常使用命令的全路徑。it

相關文章
相關標籤/搜索