導航:首頁 > 程序命令 > scp命令用法

scp命令用法

發布時間:2022-12-20 21:30:11

A. scp命令詳解

轉自:https://www.cnblogs.com/likui360/p/6011769.html

先說下常用的情況:

兩台機器IP分別為:A.104.238.161.75,B.43.224.34.73。

在A伺服器上操作,將B伺服器上/home/lk/目錄下所有的文件全部復制到本地的/root目錄下,命令為:scp -r [email protected]:/home/lk /root。

具體過程為:

[root@XX ~]#scp-r [email protected]:/home/lk /root

[email protected]'s password: k2.sql100%00.0KB/s00:00   

k.zip100%1760.2KB/s00:00   

.bash_history                                              100%320.0KB/s00:00   

.bash_logout                                              100%180.0KB/s00:00   

.bashrc                                                    100%2310.2KB/s00:00   

k3.sql                                                    100%00.0KB/s00:00   

.bash_profile                                              100%1930.2KB/s00:00   

[root@XX ~]#ls

在A伺服器上將/root/lk目錄下所有的文件傳輸到B的/home/lk/cpfile目錄下,命令為:scp -r /root/lk [email protected]:/home/lk/cpfile。

具體過稱為:

[root@XX lk]#scp-r /root/lk [email protected]:/home/lk/cpfile

[email protected]'s password: k2.sql100%00.0KB/s00:00   

k3.sql                                                    100%00.0KB/s00:00   

.bash_profile                                              100%1930.2KB/s00:00   

.bash_logout                                              100%180.0KB/s00:00   

.bash_history                                              100%320.0KB/s00:00   

k.zip100%1760.2KB/s00:00   

.bashrc                                                    100%2310.2KB/s00:00   

[root@XX lk]#

scp在誇機器復制的時候為了提高數據的安全性,使用了ssh連接和加密方式,如果機器之間配置了 ssh免密碼登錄 ,那在使用scp的時候密碼都不用輸入。

命令詳解:

scp是secure 的簡寫,用於在linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你伺服器硬碟變為只讀 read only system時,用scp可以幫你把文件移出來。另外,scp還非常不佔資源,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小文件眾多的情況下,rsync會導致硬碟I/O非常高,而scp基本不影響系統正常使用。

1.命令格式:

scp [參數] [原路徑] [目標路徑]

2.命令功能:

scp是 secure 的縮寫, scp是linux系統下基於ssh登陸進行安全的遠程文件拷貝命令。linux的scp命令可以在linux伺服器之間復制文件和目錄。

3.命令參數:

-1  強制scp命令使用協議ssh1  

-2  強制scp命令使用協議ssh2  

-4  強制scp命令只使用IPv4定址  

-6  強制scp命令只使用IPv6定址  

-B  使用批處理模式(傳輸過程中不詢問傳輸口令或短語)  

-C  允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)  

-p 保留原文件的修改時間,訪問時間和訪問許可權。  

-q  不顯示傳輸進度條。  

-r  遞歸復制整個目錄。  

-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試連接,驗證和配置問題。   

-c cipher  以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。   

-F ssh_config  指定一個替代的ssh配置文件,此參數直接傳遞給ssh。  

-i identity_file  從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。    

-l limit  限定用戶所能使用的帶寬,以Kbit/s為單位。     

-o ssh_option  如果習慣於使用ssh_config(5)中的參數傳遞方式,   

-P port  注意是大寫的P, port是指定數據傳輸用到的埠號   

-S program  指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項。

4.使用實例:

scp命令的實際應用概述:  

從本地伺服器復制到遠程伺服器: 

(1) 復制文件:  

命令格式:  

scp local_file remote_username@remote_ip:remote_folder  

或者  

scp local_file remote_username@remote_ip:remote_file  

或者  

scp local_file remote_ip:remote_folder  

或者  

scp local_file remote_ip:remote_file  

第1,2個指定了用戶名,命令執行後需要輸入用戶密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名  

第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名   

(2) 復制目錄:  

命令格式:  

scp -r local_folder remote_username@remote_ip:remote_folder  

或者  

scp -r local_folder remote_ip:remote_folder  

第1個指定了用戶名,命令執行後需要輸入用戶密碼;  

第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;

B. linux下怎麼使用scp命令

scp命令 如下:
scp /etc/cluster.conf 192.168.1.10:/etc/cluster.conf
192.168.1.10為目標主機。

C. 怎麼使用scp 命令在兩台電腦上傳輸文件

寫一個exe程序實現遠程傳輸功能,然後把這個程序的執行文件名命名為scp,接著把該文件的路徑添加到系統路徑下面,然後在cmd裡面輸入scp +傳送文件路徑變數就行了。

D. Linux下cp和scp的詳細說明及其他們的區別

一、說明

cp:是在同一個linux系統上,在不同的目錄之間復制文件;

scp:是在不同linux系統之間來回復制文件;

二、cp 用法

單個文件復制:

cp 源文件 目標路徑 ~~從原路徑復制源文件到目標路徑下;如果在目標路勁之後加文件名稱和格式意思就是復制過去之後將該文件重命名。

多個文件復制:

cp 源文件1 源文件2 源文件3 ... 目標路徑 ~~從原路徑復制源文件到目標路徑下;

三、cp 的參數詳解

-a 盡可能將源文件狀態、許可權等資料都照原裝予以復制,並且是遞歸;

-r 表示遞歸,若source中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地;

-f 若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制;

四、scp 的用法

基本語法:scp [參數] 文件 @IP:/目標路徑;如下圖

五、scp參數詳解

-1 強制scp命令使用協議ssh1

-2 強制scp命令使用協議ssh2

-4 強制scp命令只使用IPv4定址

-6 強制scp命令只使用IPv6定址

-B 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)

-C 允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)

-p 保留原文件的修改時間,訪問時間和訪問許可權。

-q 不顯示傳輸進度條。

-r 遞歸復制整個目錄。

-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試連接,驗證和配置問題。

-c cipher 以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。

-F ssh_config 指定一個替代的ssh配置文件,此參數直接傳遞給ssh。

-i identity_file 從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。

-l limit 限定用戶所能使用的帶寬,以Kbit/s為單位。

-o ssh_option 如果習慣於使用ssh_config(5)中的參數傳遞方式,

-P port 注意是大寫的P, port是指定數據傳輸用到的埠號

-S program 指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項。

例:scp -r 文件夾 @IP:目標路徑;

E. linux 使用scp命令從一台機器復制文件到另一台linux機器上去

scp是 secure 的縮寫, scp是 linux 系統下基於ssh登陸進行安全的遠程文件拷貝命令。 linux 的scp命令可以在linux 伺服器 之間復制文件和目錄.
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命令的參數說明:

-1
強制scp命令使用協議ssh1

-2
強制scp命令使用協議ssh2

-4
強制scp命令只使用IPv4定址

-6
強制scp命令只使用IPv6定址

-B
使用批處理模式(傳輸過程中不詢問傳輸口令或短語)

-C
允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)

-p 保留原文件的修改時間,訪問時間和訪問許可權。

-q
不顯示傳輸進度條。

-r
遞歸復制整個目錄。

-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試連接,驗證和配置問題。

-c cipher
以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。

-F ssh_config
指定一個替代的ssh配置文件,此參數直接傳遞給ssh。

-i identity_file
從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。

-l limit
限定用戶所能使用的帶寬,以Kbit/s為單位。

-o ssh_option
如果習慣於使用ssh_config(5)中的參數傳遞方式,

-P port 注意是大寫的P, port是指定數據傳輸用到的埠號

-S program
指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項
scp命令的實際應用
本地復制遠程文件:(把遠程的文件復制到本地)
scp [email protected]:/val/test/test.tar.gz /val/test/test.tar.gz
遠程復制本地文件:(把本地的文件復制到遠程主機上)
scp /val/test.tar.gz [email protected]:/val/test.tar.gz
本地復制遠程目錄:(把遠程的目錄復制到本地)
scp -r [email protected]:/val/test/ /val/test/
遠程復制本地目錄:(把本地的目錄復制到遠程主機上)
scp -r /val/ [email protected]:/val/
註:復制的是目錄的話就要加-r參數
當同時有多個伺服器的文件要復制到本地目錄:
scp [email protected]:/var/cp1.tar.gz [email protected]:/var/cp2.tar.gz /var/tmp/

注意:最後面的一個必需是目錄,前面的必須是文件,才能成功批量復制,復制中會提示多次輸入密碼。

F. 遠程拷貝文件命令Scp的使用

scp通過網路在兩台主機之間拷貝文件,數據在傳輸過程中是經過加密的,其底層使用ssh來進行數據傳輸,並且它和ssh有相同的驗證機制和同樣的安全級別。當使用scp拷貝一個文件到另一台主機上的時候,如果目標文件已經存在,那麼默認會將目標文件的內容替換為拷貝來的文件的內容。如果目標文件不存在,系統會先創建一個空的目標文件,然後再將拷貝文件的內容填充到新創建的目標文件中。

scp命令基本格式:

# scp  [可選參數]    file_source     file_target

選項

scp選項:

# scp  --help

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

各選項的作用:

-1 強制scp使用ssh1 協議。

-2 強勢scp使用ssh2 協議。

-4 強制scp使用 IPV4格式地址。

-6 強制scp使用IPV6格式地址。

-B 使用批處理模式(傳輸之前不再詢問密碼或者口令)。

-C 啟用壓縮模式,將-C傳遞給ssh協議,從而打開壓縮功能。

-p 保留源文件的修改時間、訪問時間還有訪問許可權。

-q 禁用傳輸進度條。

-r 遞歸拷貝指定的整個文件夾。

-c cipher    選擇cipher方式來加密傳輸的數據,該選項將直接傳遞給ssh使用。

-F ssh_config   指定一個可用來替代ssh的配置文件,該選項直接傳遞給ssh使用。

-i identity_file   從指定的文件中讀取用於RSA 驗證的密鑰,該選項直接傳遞給ssh使用。

-l limit   限定用戶可以使用的寬頻,以Kbit/s為速度單位。

-P port   這里的P是大寫。指定連接遠程主機用的埠。

-S program   指定加密傳輸連接時使用的加密程序。

scp使用示例:

例一:

格式:scp   local_file   remote_username@remote_ip:remote-directory

# scp /home/test.sh       [email protected]:/test.sh

這種方式因為指定了用戶名root,所以僅需要輸入密碼。這是將本地/home/test.sh文件遠程拷貝到主機192.168.18.130的根目錄下。

例二:

# scp /home/test.sh      192.168.18.130:/test.sh

這種方式因為沒有指定用戶名,所以需要手動輸入用戶名和密碼。注意,如果沒有指定目的主機的用戶名,默認會是root用戶。

例三:

# scp –r /home/backup     [email protected]:/backup

遞歸拷貝整個文件夾的內容到目標文件夾內。如果目標文件夾/backup不存在,會先創建該文件夾。從 遠程 復制到 本地

=====================================================

如果需要從遠程復制文件到本地,只要將從本地復制到遠程的命令的後2個參數調換順序即可。

例如:

scp   -r  [email protected]:/root/music/      /home/music/

注意兩點:

1.如果遠程主機防火牆有特殊限制,scp便要走特殊埠,具體用什麼埠視情況而定,命令格式如下:

#scp -p  5469  [email protected]:/root/music/      /home/music/

2.使用scp要注意所使用的用戶是否具有可讀取遠程主機相應文件的許可權。

G. linux下scp遠程拷貝問題

linux scp遠程復制命令使用詳解一般情況,本地網路跟遠程網路進行數據交抱,或者數據遷移,常用的有三種方法,一是ftp,二是wget /fetch 三是,rsync 大型數據遷移用rysync,其次用fetch/wget ,最次是ftp,最慢是ftp.這幾天,在忙數據遷移時,用到ssh的scp方法來遷移數據。速度與效果都很好。特別是現在許多伺服器為了安全,都會改ssh默認的22埠,改成一個特殊的埠。所以。在scp或者sftp時,就要指定通過什麼埠來遷移。現在,特記下這個特殊埠來scp的命令。scp -p port user@serverip:/home/user/filename /home/user/filename以上埠p 為參數,port 埠 user 為ssh user serverip 為遠程伺服器ip或者域名 ,/home/user/filename 為遠程伺服器的文件名 /home/user/filename 為本地服務伺服器的文件名。該命令的作用就是將遠程的filename復制到本地對應的目錄下面。scp 的作用真的很巨大,詳細用法,可以man scp 或者 scp –help ,下面為附上一篇 scp 使用詳解。。。linux 的 scp 命令 可以 在 linux 之間復制 文件 和 目錄;==================scp 命令==================scp 可以在 2個 linux 主機間復制文件;命令基本格式:scp [可選參數] file_source file_target======從 本地 復制到 遠程======* 復制文件:* 命令格式:scp local_file remote_username@remote_ip:remote_folder或者scp local_file remote_username@remote_ip:remote_file或者scp local_file remote_ip:remote_folder或者scp local_file remote_ip:remote_file第1,2個指定了用戶名,命令執行後需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;* 常式:scp /home/space/music/1.mp3 root@:/home/root/others/musicscp /home/space/music/1.mp3 root@:/home/root/others/music/002.mp3scp /home/space/music/1.mp3 :/home/root/others/musicscp /home/space/music/1.mp3 :/home/root/others/music/002.mp3* 復制目錄:* 命令格式:scp -r local_folder remote_username@remote_ip:remote_folder或者scp -r local_folder remote_ip:remote_folder第1個指定了用戶名,命令執行後需要再輸入密碼;第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;* 常式:scp -r /home/space/music/ root@:/home/root/others/scp -r /home/space/music/ :/home/root/others/上面 命令 將 本地 music 目錄 復制 到 遠程 others 目錄下,即復制後有 遠程 有 ../others/music/ 目錄======從 遠程 復制到 本地======從 遠程 復制到 本地,只要將 從 本地 復制到 遠程 的命令 的 後2個參數 調換順序 即可;例如:scp root@:/home/root/others/music /home/space/music/i.mp3scp -r :/home/root/others/ /home/space/music/

H. scp命令及使用過程中常見問題的解決方案

scp命令用於操作系統之間(Linux之間或者linux與windows之間)復制文件和目錄。

scp是 secure 的縮寫, scp是linux系統下基於ssh登陸進行安全的遠程文件拷貝命令。

1、從本地復制到遠程 

A. 復制文件命令格式

(1)scp local_file remote_username@remote_ip:remote_folder 

(2)scp local_file remote_username@remote_ip:remote_file 

(3)scp local_file remote_ip:remote_folder 

(4)scp local_file remote_ip:remote_file 

說明:

第1,2個指定了用戶名,命令執行後需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;

第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;

B. 復制目錄命令格式:

(1)scp -r local_folder remote_username@remote_ip:remote_folder

(2)scp -r local_folder remote_ip:remote_folder 

說明:

第1個指定了用戶名,命令執行後需要再輸入密碼;

第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;

2、從遠程復制到本地

從遠程復制到本地,只要將從本地復制到遠程的命令的後2個參數調換順序即可。

應用實例:

scp [email protected]:/home/root/others/music /home/space/music/1.mp3

scp -r www.runoob.com:/home/root/others/ /home/space/music/

說明

(1)如果遠程伺服器防火牆有為scp命令設置了指定的埠,我們需要使用 -P 參數來設置命令的埠號,命令格式如下:

#scp 命令使用埠號 4588

scp -P 4588 [email protected]:/usr/local/sin.sh /home/administrator

(2)使用scp命令要確保使用的用戶具有可讀取遠程伺服器相應文件的許可權,否則scp命令是無法起作用的。

scp命令運行過程中,涉及到SSH。SSH或Secure Shell是一種安全通信協議,用於遠程連接兩個操作系統,以便我們可以使用命令控制台從客戶端計算機控制主機。關於SSH最重要的是它能夠加密連接會話,這是FTP或Telnet無法實現的,更不安全的協議,並且已經很少使用。SSH還允許將數據安全地從主機復制到客戶端,並且可以使用比普通用戶的會話密鑰更安全的RSA密鑰,我們還可以通過隧道傳輸文件來獲得更高的安全性。使用SSH,我們可以在內部網路和完全遠程連接到配置為伺服器的計算機。為此,我們必須打開TCP埠22,這是默認埠。

假設這里有兩台機器A、B,B是安裝在虛擬機里的debian系統,在B機器上可以使用ssh登錄到A機器

但是在A上使用ssh命令登錄B機器時提示錯誤:

ssh: connect to host 192.168.28.160 port 22: Connection refused

原來ssh分為ssh-client和ssh-server兩部分,B設備只安裝了ssh-client而沒有安裝ssh-server才導致上述問題。

解決方法:在B機器上安裝ssh-server,apt-get install ssh-server

然後在A上執行ssh [email protected]卻提示了另外一個waring:

  WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

在網上搜了一下發現出現這個warning是因為對端重新的ssh服務出現變動所致。

I. Linux下數據備份命令scp、rsync和後台運行

scp和rsync 均可實現文件的復制,但相比較,scp佔用系統資源較小,rsync速度較快。當小文件眾多時,rsync會導致硬碟I/O非常高,而scp基本不影響系統正常使用。可根據需要這倆選其一實現文件復制。

scp 是secure 的縮寫,scp是Linux系統下基於ssh登錄進行安全的遠程文件拷貝命令。
可以實現本地文件復制到遠程伺服器,也可以將遠程文件復制到本地。

rsync 是remote sync的縮寫。使用rsync備份數據時,不會直接覆蓋以前的數據(如果數據已經存在),而是先判斷已存在的數據和新數據的差異(默認規則是文件大小或修改時間有差異),只有數據不相同時才會把不相同的部分覆蓋。在僅作增量數據的時比scp靈活。

一般CentOS默認安裝rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安裝。

單個冒號和雙冒號的區別 :使用rsync在遠程傳輸數據前,是需要進行登陸認證的,這個過程可使用ssh協議也可以使用rsync協議完成。單冒號(:)使用的是ssh協議;雙冒號(::)使用的是rsync協議。

默認情況下,rsync只確保源文件的所有內容(明確排除的文件除外)都復制到目標目錄。它不會使兩個目錄保持不同,並且不會刪除文件。如果要使目標目錄成為源目錄的鏡像副本,則使用--delete選項。可刪除只存在目標目錄,不存在於源目錄的文件。

增量備份算是一個經常使用的場景了。兩台伺服器之間進行文件定期備份,無需所有文件都一遍,僅復制有變動的文件。

具體做法是,第一次同步是全量備份,所有文件在基準目錄裡面同步一份。以後每一次同步都是增量備份,只同步源目錄與基準目錄之間有變動的部分,將這部分保存在一個新的目標目錄。這個新的目標目錄之中,也是包含所有文件,但實際上,只有那些變動過的文件是存在於該目錄,其他沒有變動的文件都是指向基準目錄文件的硬鏈接。

--link-dest 參數用來指定同步時的基準目錄。

上面命令中, --link-dest 參數指定基準目錄 /compare/path ,然後源目錄 /source/path 跟基準目錄進行比較,找出變動的文件,將它們拷貝到目標目錄 /target/path 。那些沒變動的文件則會生成硬鏈接。這個命令的第一次備份時是全量備份,後面就都是增量備份了。

一般伺服器之間復制文件都比較大,為防止誤操作,最好在後台運行。但因為需要和遠程伺服器之間的ssh通訊多是需要密碼的,所以不能直接使用nohup 放置於後台。無論是scp還是rsync都可操作如下:

後台和前台任務的切換

scp不支持斷點續傳,掛起scp進程可能導致數據缺失。傾向於使用rsync。

如果有其他任務需要使用nohup後台運行,但執行時卻忘記了使用nohup,也可參照此方法進行設置。

參考:1. Linux之scp命令及後台運行scp

閱讀全文

與scp命令用法相關的資料

熱點內容
用支付寶登錄阿里雲伺服器 瀏覽:877
阿里雲伺服器怎麼更改ip 瀏覽:643
pvp和普通伺服器有什麼區別 瀏覽:706
pc收銀台系統源碼 瀏覽:624
程序員老公要加班 瀏覽:961
51單片機控制的超聲波 瀏覽:827
2021去水印最新源碼 瀏覽:232
ug編程刀具號重復 瀏覽:960
空當接龍演算法 瀏覽:609
可壓縮流體非恆定二維流動 瀏覽:695
天龍八部網單沒有找到技能文件夾 瀏覽:861
android串口程序 瀏覽:833
上海機器人程序員 瀏覽:914
兩台阿里雲伺服器如何拷貝 瀏覽:170
阿里媽媽淘寶聯盟需要什麼app 瀏覽:368
什麼人可以做編程員 瀏覽:359
網盤會員加速是在線解壓嘛 瀏覽:109
單片機按鍵匯編程序 瀏覽:729
傳播學綱要pdf第二版 瀏覽:385
樂友進銷存有什麼app 瀏覽:554