Linux基礎命令---cp

一生有你llx發表於2018-11-28

cp

複製檔案,可以將一個檔案複製到另外一個地方,也可以將多個檔案複製到目錄。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1 、語法

cp  [option]  [-T]  src  dst

cp  [option]  src  dir

cp  [option]  -t  dir  src

 

2 、選項列表

選項

說明

--help

顯示幫助文件

--version

顯示命令版本

-a | --archive

等價於“-dR --preserve=all”

--backup[=CONTROL]

為每一個存在的目標檔案建立備份

-b

類似“--backup”,但是沒有引數

--copy-contents

遞迴時複製特殊檔案的內容

-d

等價於“--no-dereference    --preserve=links”

-f | --force

強制執行

-i | --interactive

互動模式,覆蓋檔案之前詢問

-H

遵循src中的命令列符號連結。

-l | --link

建立連結,不復制

-L | --dereference

始終遵循src中的符號連結

-n | --no-clobber

不覆蓋已經存在的檔案

-R | -r

遞迴模式,複製子目錄

-s | --symbolic-link

建立符號連結,不復制

-P | --no-dereference

不遵循src中的符號連結

-p

等價於“--preserve=mode”

--preserve[=ATTR_LIST]

保留指定的屬性(預設:模式、所有權、時間戳),如果可能的話,其他屬性:上下文、連結、xattr、all

-c

等價於“--preserve=context”

--no-preserve=ATTR_LIST

不保留指定的屬性

--parents

使用目錄下的完整原始檔名

-R | -r | --recursive

遞迴複製子目錄

--reflink[=WHEN]

控制拷貝

--remove-destination

在嘗試開啟每個現有目標檔案之前移動它(與“--force”相反)

--sparse=WHEN

控制稀疏檔案的建立

--strip-trailing-slashes

從每個源引數中移除任何尾隨斜線。

-s | --symbolic-link

建立符號連結,不復制

-S | --suffix=SUFFIX

重寫通常的備份字尾

-t | --target-directory=DIRECTORY

將所有源引數複製到DIRECTORY中。

-T | --no-target-directory

將目標檔案當做普通檔案

-t | --target-directory=dir

複製所有的原始檔到目錄

-u | --update

以更新的方式複製

-v | --verbose

顯示詳細執行過程

-x | --one-file-system

保持在這個檔案系統上

-Z | --context=CONTEXT

將副本的安全上下文設定為上下文

 

3 、說明

當“--reflink[=always]”被指定時,執行一個輕量級副本,其中資料塊僅在修改時被複制。如果這是不可能的,複製失敗,或者如果“--reflink=auto “被指定,則返回到標準副本。

備份字尾為‘~’,除非設定“--suffix “或”SIMPLE_BACKUP_SUFFIX“。版本控制方法可以通過”--backup“選項或通過VERSION_CONTROL環境變數來選擇。以下是這些值:

1 )none, off,從不備份,即使指定了“--backup“。

2 )numbered, t,數字版本控制。

3 )existing, nil,如果有數字備份,那麼就使用數字備份,否則使用簡單備份。

4 )simple, never,簡單備份。

作為特例,當提供強制和備份選項時,cp對源進行備份,src和dst名字相同,都是常規檔案。

 

4 、例項

1 )複製整個目錄

[root@192   weijie]#  cp -r test01/ test03/            // 使用 -r 選項,遞迴方式複製

 [root@192 weijie]#  ls test03

1.c  1.c~    2.c  3.c

2 )使用“-t”選項,將多個檔案複製到目錄

[root@192   weijie]#  cp -t test01 1.c 2.c 3.c         // 複製 3 個檔案到 test01 目錄

cp :是否覆蓋 "test01/1.c"  y

[root@192   weijie]#  ls test01

1.c  1.c~    2.c  3.c

3 )建立連結

[root@localhost   wj]#  cp -s 3.c 4.c                    // 建立符號連結,並不是複製

[root@localhost   wj]#  ls -l 4.c                        // 檢視內容,該檔案是一個符號連結

lrwxrwxrwx 1 root   root 3 10  30 08:09 4.c   -> 3.c

[root@localhost   wj]#

 


做了一個Linux學習的平臺,目前出來一個雛形,各位可以參考使用
連結: https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ   密碼:n7bk



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29270124/viewspace-2221909/,如需轉載,請註明出處,否則將追究法律責任。

相關文章