溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Linux系統(tǒng)中用于復制的cp和scp命令

發(fā)布時間:2021-09-26 15:34:53 來源:億速云 閱讀:142 作者:iii 欄目:系統(tǒng)運維

本篇內容主要講解“如何使用Linux系統(tǒng)中用于復制的cp和scp命令”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Linux系統(tǒng)中用于復制的cp和scp命令”吧!

cp命令
用法:cp [選項]... [-T] 源文件 目標文件
 或:cp [選項]... 源文件... 目錄
 或:cp [選項]... -t 目錄 源文件...
將源文件復制至目標文件,或將多個源文件復制至目標目錄。


長選項必須使用的參數(shù)對于短選項時也是必需使用的。
  -a, --archive   等于-dR --preserve=all
      --backup[=CONTROL  為每個已存在的目標文件創(chuàng)建備份
  -b    類似--backup 但不接受參數(shù)
      --copy-contents  在遞歸處理是復制特殊文件內容
  -d    等于--no-dereference --preserve=links
  -f, --force   如果目標文件無法打開則將其移除并重試(當 -n 選項
     存在時則不需再選此項)
  -i, --interactive  覆蓋前詢問(使前面的 -n 選項失效)
  -H    跟隨源文件中的命令行符號鏈接
  -l, --link   鏈接文件而不復制
  -L, --dereference  總是跟隨符號鏈接
  -n, --no-clobber  不要覆蓋已存在的文件(使前面的 -i 選項失效)
  -P, --no-dereference  不跟隨源文件中的符號鏈接
  -p    等于--preserve=模式,所有權,時間戳
      --preserve[=屬性列表 保持指定的屬性(默認:模式,所有權,時間戳),如果
     可能保持附加屬性:環(huán)境、鏈接、xattr 等
  -c                           same as --preserve=context
      --sno-preserve=屬性列表 不保留指定的文件屬性
      --parents   復制前在目標目錄創(chuàng)建來源文件路徑中的所有目錄
  -R, -r, --recursive  遞歸復制目錄及其子目錄內的所有內容
      --reflink[=WHEN]  控制克隆/CoW 副本。請查看下面的內如。
      --remove-destination 嘗試打開目標文件前先刪除已存在的目的地
     文件 (相對于 --force 選項)
      --sparse=WHEN  控制創(chuàng)建稀疏文件的方式
      --strip-trailing-slashes 刪除參數(shù)中所有源文件/目錄末端的斜杠
  -s, --symbolic-link  只創(chuàng)建符號鏈接而不復制文件
  -S, --suffix=后綴  自行指定備份文件的后綴
  -t,  --target-directory=目錄 將所有參數(shù)指定的源文件/目錄
                                           復制至目標目錄
  -T, --no-target-directory 將目標目錄視作普通文件
  -u, --update                 copy only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done
  -x, --one-file-system        stay on this file system
  -Z, --context=CONTEXT        set security context of copy to CONTEXT
      --help  顯示此幫助信息并退出
      --version  顯示版本信息并退出


默認情況下,源文件的稀疏性僅僅通過簡單的方法判斷,對應的目標文件目標文件也
被為稀疏。這是因為默認情況下使用了--sparse=auto 參數(shù)。如果明確使用
--sparse=always 參數(shù)則不論源文件是否包含足夠長的0 序列也將目標文件創(chuàng)文
建為稀疏件。
使用--sparse=never 參數(shù)禁止創(chuàng)建稀疏文件。


當指定了--reflink[=always] 參數(shù)時執(zhí)行輕量化的復制,即只在數(shù)據塊被修改的
情況下才復制。如果復制失敗或者同時指定了--reflink=auto,則返回標準復制模式。


備份文件的后綴為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:


  none, off       不進行備份(即使使用了--backup 選項)
  numbered, t     備份文件加上數(shù)字進行排序
  existing, nil   若有數(shù)字的備份文件已經存在則使用數(shù)字,否則使用普通方式備份
  simple, never   永遠使用普通方式備份


有一個特別情況:如果同時指定--force 和--backup 選項,而源文件和目標文件
是同一個已存在的一般文件的話,cp 會將源文件備份。

例:

代碼如下:


[root@localhost www]# cp -p test.rb /home/test   #將test.rb copy到test目錄,并且保留原文件的屬性
[root@localhost www]# cp -r Dir/ /home/test      #將Dir目錄copy到test目錄下
[root@localhost www]# cp -fr Dir/* /home/test    #將Dir下面的所有文件強制copy到test目錄下
[root@localhost www]# cp test.rb{,.bak}          #備份test.rb,并在尾部加上.bak后綴



scp命令
SCP 命令語法
scp [-1245BCpqrv] [-c cipher] [F ssh_config] [-I identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:] file1 […] [[suer@]host2:]file2

SCP 命令說明
Scp在主機間復制文件。他使用 ssh(1)作為數(shù)據傳輸。而且用同樣認證和安全性。 scp將在認證中請求輸入密碼所有的文件可能需要服務器和用戶的特別描述來指明文件將被復制到/從某臺服務器。兩個遠程登錄的服務器間的文件復制是允許的。

SCP 命令選項

-1 強制scp 用協(xié)議1

-2 強制scp 用協(xié)議2

-4 強制scp用IPV4的網址

-6 強制scp用IPV6的網址

-B 選擇批處理模式(防止輸入密碼)

-C 允許壓縮。 標注-C到ssh(1)來允許壓縮

-c cipher選擇cipher來加密數(shù)據傳輸。這個選項直接傳遞到ssh(1)

-F ssh_config設定一個可變動的用戶配置給ssh.這個選項直接會被傳遞到ssh(1)

-i identity_file選擇被RSA認證讀取私有密碼的文件。這個選項可以直接被傳遞到ssh(1)

-l limit限制傳輸帶寬,也就是速度 用Kbit/s的速度

-o ssh_option 可以把ssh_config中的配置格式傳到ssh中。這種模式對于說明沒有獨立的scp文件中斷符的scp很有幫助。關于選項的如下。而他們的值請參看ssh_config(5)

-P port 指定連接遠程連接端口。注意這個選項需要寫成大寫的模式。因為-p已經早保留了次數(shù)和模式

-S program  指定一個加密程序。這個程序必須可讀所有ssh(1)的選項。

-p 指定修改次數(shù),連接次數(shù),還有對于原文件的模式

-q 把進度參數(shù)關掉

-r 遞歸的復制整個文件夾

-S program  指定一個加密程序。這個程序必須可讀所有ssh(1)的選項。

-V   冗余模式。 讓 scp 和 ssh(1) 打印他們的排錯信息, 這個在排錯連接,認證,和配置中非常有用。

例:

代碼如下:


[root@localhost www]# scp -r tank@192.16.1.108:/var/www/blog /home/www/blog  #以tank用戶登錄并將服務器文件夾copy到本地
[root@localhost www]# scp /home/www/blog/index.php 192.16.1.108:/var/www/blog  #將本地文件copy到服務器,添填寫用戶,默認當前用戶

使用指定端口從本地拷到遠程服務器

代碼如下:


[root@localhost test]# scp -P 20022 -r ../vhost/ zhuqiang@192.168.0.200:/home/test/  

到此,相信大家對“如何使用Linux系統(tǒng)中用于復制的cp和scp命令”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI