scp是 secure copy的縮寫, scp是 linux 系統(tǒng)下基于ssh登陸進行安全的遠程文件拷貝命令。 linux 的scp命令可以在linux 服務(wù)器 之間復(fù)制文件和目錄.
創(chuàng)新互聯(lián)公司專注于遼寧網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供遼寧營銷型網(wǎng)站建設(shè),遼寧網(wǎng)站制作、遼寧網(wǎng)頁設(shè)計、遼寧網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造遼寧網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供遼寧網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
scp命令基本格式:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
scp命令的參數(shù)說明:
-1
強制scp命令使用協(xié)議ssh1
-2
強制scp命令使用協(xié)議ssh2
-4
強制scp命令只使用IPv4尋址
-6
強制scp命令只使用IPv6尋址
-B
使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
-C
允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)
-p 保留原文件的修改時間,訪問時間和訪問權(quán)限。
-q
不顯示傳輸進度條。
-r
遞歸復(fù)制整個目錄。
-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調(diào)試信息。這些信息用于調(diào)試連接,驗證和配置問題。
-c cipher
以cipher將數(shù)據(jù)傳輸進行加密,這個選項將直接傳遞給ssh。
-F ssh_config
指定一個替代的ssh配置文件,此參數(shù)直接傳遞給ssh。
-i identity_file
從指定文件中讀取傳輸時使用的密鑰文件,此參數(shù)直接傳遞給ssh。
-l limit
限定用戶所能使用的帶寬,以Kbit/s為單位。
-o ssh_option
如果習慣于使用ssh_config(5)中的參數(shù)傳遞方式,
-P port 注意是大寫的P, port是指定數(shù)據(jù)傳輸用到的端口號
-S program
指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項
scp命令的實際應(yīng)用
本地復(fù)制遠程文件:(把遠程的文件復(fù)制到本地)
scp root@192.168.30.100:/val/test/test.tar.gz /val/test/test.tar.gz
遠程復(fù)制本地文件:(把本地的文件復(fù)制到遠程主機上)
scp /val/test.tar.gz root@192.168.30.100:/val/test.tar.gz
本地復(fù)制遠程目錄:(把遠程的目錄復(fù)制到本地)
scp -r root@192.168.30.100:/val/test/ /val/test/
遠程復(fù)制本地目錄:(把本地的目錄復(fù)制到遠程主機上)
scp -r /val/ root@192.168.30.100:/val/
注:復(fù)制的是目錄的話就要加-r參數(shù)
當同時有多個服務(wù)器的文件要復(fù)制到本地目錄:
scp root@192.168.0.1:/var/cp1.tar.gz root@192.168.0.2:/var/cp2.tar.gz /var/tmp/
注意:最后面的一個必需是目錄,前面的必須是文件,才能成功批量復(fù)制,復(fù)制中會提示多次輸入密碼。
linux系統(tǒng)使用cp命令即可將一個文件夾里面的文件復(fù)制到另外一個文件夾里面。
這個命令相當于dos下面的copy命令,具體用法是:cp_r源文件目的文件,其中參數(shù)r是指連同源文件中的子目錄一同拷貝。../ 和 ./ 代表的 是上級目錄以及當前目錄。使用時的兩種情況:
1、處在當前目錄復(fù)制當前目錄下文件到別的目錄:cp文件名稱別的文件目錄路徑
例如,在orz文件夾下有兩個子文件夾a和b,a中有文件x.c,b中無文件。此時我們在a文件夾中命令如下:cpx.c../b/。
2、處在當前文件夾下復(fù)制另外文件夾下的文件到當前文件夾下:cp路徑/文件名稱./例如和上面例子一樣,命令如下:cp../a/x.c./。
擴展資料:
Linux系統(tǒng)復(fù)制錯誤文件要刪除的命令:
命令RM是用來刪除文件的,與DOS下的RM(刪除一個空目錄)是不同的,應(yīng)該注意。對于rm命令有三個常見的參數(shù):-i、-r和-f。例如,您想刪除名為Test:Rm-ITest的文件
系統(tǒng)會問:RM:刪除測試?Y,文件將不會被刪除,直到你按回車。這樣做的原因是Linux沒有像DOS恢復(fù)刪除命令,或者你可以使用pcTool和其他工具來保存刪除文件,刪除文件在Linux中不能得救,因此有必要使用這個參數(shù)刪除之前讓你再次確認。
參考資料:百度百科-linux命令
常用的命令為# cp命令
方式一:對文件進行copy:
#cp object_file source_file
方式二:對目錄下文件進行copt:
#cp -r object_file source_file
補充cp的參數(shù):
用法:cp [選項]... [-T] 源文件 目標文件
或:cp [選項]... 源文件... 目錄
或:cp [選項]... -t 目錄 源文件...
將源文件復(fù)制至目標文件,或?qū)⒍鄠€源文件復(fù)制至目標目錄。
長選項必須使用的參數(shù)對于短選項時也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 為每個已存在的目標文件創(chuàng)建備份
-b 類似--backup 但不接受參數(shù)
--copy-contents 在遞歸處理是復(fù)制特殊文件內(nèi)容
-d 等于--no-dereference --preserve=links
-f, --force 如果目標文件無法打開則將其移除并重試(當 -n 選項
存在時則不需再選此項)
-i, --interactive 覆蓋前詢問(使前面的 -n 選項失效)
-H 跟隨源文件中的命令行符號鏈接
-l, --link 鏈接文件而不復(fù)制
-L, --dereference 總是跟隨符號鏈接
-n, --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-P, --no-dereference 不跟隨源文件中的符號鏈接
-p 等于--preserve=模式,所有權(quán),時間戳
最常見的拷貝命令,常用的形式有
-p - 保留源文件的所有者、用戶組、權(quán)限、修改和訪問時間,以及一些擴展屬性;
-R 或 -r - 遞歸復(fù)制目錄,將目錄及其下的所有文件和子目錄都復(fù)制到目標位置;
-d - 保留軟鏈接;
-a - 即歸檔模式,相當于 -dpR;
-v - 顯示rsync過程中詳細信息;
-a - 歸檔模式,表示遞歸傳輸并保持文件屬性;
-z - 傳輸時進行壓縮提高效率;
-P - 顯示文件傳輸?shù)倪M度信息;
-e - 指定所要使用的遠程shell程序,默認為ssh,無特殊情況不需要指定;
--exclude=PATTERN - 指定排除不需要傳輸?shù)奈募J剑?/p>
--exclude-from=FILE - 從文件中讀取指定排除不需要傳輸?shù)奈募J剑?/p>
在linux系統(tǒng)中復(fù)制文件我們可以使用cp或copy命令了,我們要復(fù)制文件或目錄都可以使用它們兩來完成哦,下面我來給大家介紹cp或copy命令與復(fù)制目錄到指定目錄的命令吧。 ? ? copy命令 ? ? 該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強大。
語法: cp [選項] 源文件或目錄 目標文件或目錄 ? ? 說明:該命令把指定的源文件復(fù)制到目標文件或把多個源文件復(fù)制到目標目錄中。 ?
該命令的各選項含義如下: ? ? - a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項的組合。 ? ? - d 拷貝時保留鏈接。 ? ? - f 刪除已經(jīng)存在的目標文件而不提示。 ? ? - i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認?;卮饄時目標文件將被覆蓋,是交互式拷貝。 ? ? - p 此時cp除復(fù)制源文件的內(nèi)容外,還將把其修改時間和訪問權(quán)限也復(fù)制到新文件中。 ? ? - r 若給出的源文件是一目錄文件,此時cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。 ? ? - l 不作拷貝,只是鏈接文件。 ?
需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp命令拷貝文件后,這個文件就會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。 ?
例1 ? ? 復(fù)制指定目錄下的全部文件到另一個目錄中 ? ? 文件及目錄的復(fù)制是經(jīng)常要用到的。linux下進行復(fù)制的命令為cp。 ? ? 假設(shè)復(fù)制源目錄 為 dir1 ,目標目錄為dir2。怎樣才能將dir1下所有文件復(fù)制到dir2下了 ? ? 如果dir2目錄不存在,則可以直接使用 ? ? cp -r dir1 dir2 ? ? 即可。 ? ? 如果dir2目錄已存在,則需要使用 ? ? cp -r dir1/. dir2 ? ? 如果這時使用cp -r dir1 dir2,則也會將dir1目錄復(fù)制到dir2中,明顯不符合要求。 ? ? ps:dir1、dir2改成對應(yīng)的目錄路徑即可。 ?
例2 ? ? 復(fù)制指定文件到指定文件夾 ? ? 首先建立一個用于測試的目錄,用'tree'命令查看其結(jié)構(gòu)如下所示: ? ? ? ? 可見,目錄中主要包含用于測試的*.txt文件和用于充當炮灰的*。tes文件 ? ? 目標是保持當前的目錄結(jié)構(gòu),只把txt文件復(fù)制出來 ?
方法一:當不需要的文件類型較為單一時,可以通過完全復(fù)制然后刪除指定類型的文件完成 ? ? Step1 使用命令 cp -r test/ test2 將測試目錄test下所有內(nèi)容完全復(fù)制到test2,此時樹形結(jié)構(gòu)如下圖 ? ? ? ? Step2 組合使用find及xargs,將*.tes文件刪除 ? ? xargs是給命令傳遞參數(shù)的一個過濾器,可以將前一個命令產(chǎn)生的輸出作為后一個命令的參數(shù) ? ? 命令find test2/ -name '*.tes' |xargs rm -rf, 即將find產(chǎn)生的輸出(test2目錄下的所有tes文件),作為rm的參數(shù),從而完全刪除 ? ? 實際效果如圖所示 ? ? ? ? 適用場景舉例:把項目文件備份,要去除其中的.svn文件,可以采用這種方式 ?
方法二:需要的文件為單一類型,帶目錄結(jié)構(gòu)復(fù)制 ? ? 這種情況下可以使用tar命令將指定類型的文件打包,然后解包,同樣需要組合使用find和xargs ? ? Step1 建立目錄test3 ? ? mkdir test3 ? ? Step2 將指定類型文件帶目錄結(jié)構(gòu)打包 ? ? find test/ -name '*.txt' |xargs tar czf test3.tgz ? ? Step3 解包到目錄test3 ? ? tar zxvf test3.tgz -C test3
1,將文件從/etc/aaa.gz拷貝到/tmp/目錄下:
cp
/etc/aaa.gz
/tmp/
將文件從/etc/aaa.gz拷貝到/tmp/目錄下,并給它命名為bbb.gz
cp
/etc/aaa.gz
/tmp/bbb.gz
將目錄/etc/fold/拷貝到/tmp/目錄下
cp
-rf
/etc/fold
/tmp/
注:-r
用來拷貝文件夾,-f
用來強制拷貝不提示確認
2,linux里給/etc/aaa.gz創(chuàng)建一個叫bbb.haha的鏈接,并移動到/usr目錄下
ln
-s
/etc/aaa.gz
/usr/bbb.haha
注:-s是用來創(chuàng)建軟連接,類似windows上的快捷方式。
3,linux里給/etc/qqq.gz改名為bbb.gz
mv
/etc/qqq.gz
/etc/bbb.gz