導航:首頁 > 程序命令 > scp命令拷貝文件

scp命令拷貝文件

發布時間:2023-01-01 16:38:21

1. 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服務出現變動所致。

2. 樹莓派里的文件復制到本地-scp命令

使用scp命令拷貝文件非常好用,我們可以通過scp命令把本地文件上傳到樹莓派,也可以把樹莓派里的文件拷貝到本地。

本地系統: MacOS
樹莓派的IP地址: 192.168.123.159
樹莓派用戶名: pi
本地文件夾位置: /Users/yushengtan/desktop/
樹莓派文件夾位置: /home/pi/download/Desktop/

假如我們要把本地桌面上的文件1.txt拷貝到樹莓派伺服器桌面上,可以使用命令: scp <本地文件夾及文件> <遠程用戶名>@<遠程ip>:<遠程文件夾>

執行命令後按要求輸入ssh登錄密碼即可;
支持文件夾拷貝,只需在scp 後添加一個 -r 參數即可。

加入我們要把樹莓派桌面上的文件2.txt拷貝到本地,可以使用命令: scp <遠程用戶名>@<遠程ip>:<遠程文件夾> <本地文件夾及文件>

scp同樣支持文件夾拷貝,只需在scp 後添加一個 -r 參數即可,
如把本地桌面目錄拷貝到遠程樹莓派桌面:

3. scp從linux伺服器拷貝文件到windows的機子上怎麼寫命令

scp從linux伺服器拷貝文件到windows的機子上方法:

1.首先,下載putty軟體,並可以在目錄中,找到pscp.exe文件,我們可以通過這個軟體實現Windows和linux之間拷貝文件。


4. 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/

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

5. scp本地往遠程伺服器拷貝文件或文件夾

1.拷貝文件 

scp local_file remote_username@remote_ip:remote_file

2.拷貝文件夾  

scp -r local_folder remote_username@remote_ip:remote_folder

-r 是遞歸復制整個目錄

6. scp文件用什編輯不會腳本報錯

scp文件編輯不會腳本報錯的方法:
1、scp命令用於操作系統之間(Linux之間或者linux與windows之間)復制文件和目錄。scp是secure的縮寫,scp是linux系統下基於ssh登陸進行安全的遠程文件拷貝命令。
2、從本地復制到遠程A.復制文件命令格式(1)scplocal_fileremote_username@remote_ip:remote_folder(2)scplocal_fileremote_username@remote_ip:remote_file(3)scplocal_fileremote_ip:remote_folder(4)scplocal_fileremote_ip:remote_file說明:第1,2個指定了用戶名,命令執行後需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名。第3,4個沒有指定用戶名,命令執行後需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名。
3、復制目錄命令格式:(1)scp-rlocal_folderremote_username@remote_ip:remote_folder(2)scp-rlocal_folderremote_ip:remote_folder說明:第1個指定了用戶名,命令執行後需要再輸入密碼。第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼。

7. scp如何一次拷貝多個文件或者文件夾

scp -r root@ip:/home/name/data/ 你自己的文件夾

8. 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個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;

9. SCP服務傳輸文件

scp 是用於遠程拷貝文件,類似於本地拷貝文件命令cp,scp傳輸是加密傳輸,並且不佔用系統資源。可能會稍微影響一下速度,但相比其他傳輸,在文件較小時幾乎無明顯差距。

scp src-dir-file des-dir-file

src-dir-file源文件:要復制的源文件,注意平台差異。

des-dir-file目標文件:目標文件,注意平台差異。

從遠處復制文件或者文件夾到本地目錄

linux:

scp [email protected]:/data/test.py /opt/soft/

scp -r [email protected]:/tool/romTest /opt/soft/

windows:

scp [email protected]:/log/log.txt  d:/

scp -r [email protected]:/tool/romTest  d:/

上傳本地文件到遠程機器指定目錄

linux:

scp /opt/soft/test.py  [email protected]:/data

scp -r /opt/soft [email protected]:/tool/romTest

windows:

scp d:/log.txt [email protected]:/log

scp -r d:/romTest [email protected]:/tool

https://winscp.net/eng/download.php

10. 遠程拷貝文件命令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要注意所使用的用戶是否具有可讀取遠程主機相應文件的許可權。

閱讀全文

與scp命令拷貝文件相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163