⑴ 如何從linux的文件拷貝到另一台機器
1、首先從服務端文件到本地。比如伺服器的home下有一個文件是a.txt,那麼命令是:scp [email protected]:/home/a.txt /home,
⑵ linux的scp的遠程復制文件不能使用root
Linux scp 命令用於 Linux 之間復制文件和目錄。
scp 是 secure 的縮寫, scp 是 linux 系統下基於 ssh 登陸進行安全的遠程文件拷貝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加強版。
使用 SCP 意味著它享有與 SSH 相同散察級別的數據加密,因此被認為是跨兩個遠程主機傳輸文件的安全方式。
2、scp的基本語法
本地->遠沖畢茄程
$ scp [option] /path/file user@server-ip:/path/directory
1
1
遠程->本地
$ scp [option] user@server-ip:/path/file/ path/directory
1
1
/path/file – 要復制的文件名及路徑。
user@server-IP: – 這是遠程系統的用戶名和 IP 地址。注意 IP 地址後面加冒號。
/path/directory – 保存的路徑。
option常用選項:
-C - 這會在復制過程中壓縮文件或目錄。
-P - 如果默認 SSH 埠不是 22,則使用此選項指定 SSH 埠。注意大寫
-r - 此選項遞歸復制目錄及其內容。
-p - 保留文件的訪問和修改時間。
3、將文件復制到遠程 Linux 伺服器
將文件 file.tar.gz復制到遠程.
主機IP為192.168.43.137,用戶名為root。
[root@server1 ~]# scp file.tar.gz [email protected]:/home/place
1
1
將文件夾目錄 /home/filePath復制到遠程,使用**-r**選項。
[root@server1 ~]# scp -r /home/filePath [email protected]:/home
1
1
4、將文件從遠程系統復制到本地
將文件 file.tar.gz從遠程復制到本地
[root@server1 ~]# scp [email protected]:/root/file.tar.gz /root/
1
1
將文件夾目錄 /root/filePaht 從遠程復制到本地, 使用**-r**標志
[root@server1 ~]# scp -r [email protected]:/root/filePaht /root/
1
1
有關使用 scp 命令的更多選項,可以查看手冊,命令是:man scp
Linux SCP 命令是一種在兩個遠程節點之間傳輸文件的便捷且安全數答的方式,而無需擔心攻擊者窺探你的數據。
⑶ Linux文件拷貝命令
拷貝A文件夾到B目錄
cp -rvA B
如果你正在B目錄下,可局帶以這樣:
cp -rv A ./
拷貝A文件下的A1文件
cp -v A/A1 ./
或者
cp -v A/A1 B/
文件復制命令cp
命令格式:
cp [-adfilprsu] 源文件(source) 目標文件(destination)
cp [option] source1 source2 source3 ...directory
參數說明:
-a:是指archive的意思,也說是指復制所有的目錄
-d:若源文件為連接文件(link file),則復制連接文件屬性而非文件本身
-f:強制(force),若有重復或其它疑問時,不會詢核芹問用戶,而強制復制
-i:若目標文件(destination)已存在,在覆蓋時會先詢問是否真的操作
-l:建立硬連接(hard link)的連接文件,而非復制文件本身
-p:與文件的屬性一起復制,而非使用默認屬性
-r:遞歸復制,用於目錄的復制操作
-s:復製成符號連接文件(symbolic link),即桐氏蘆「快捷方式」文件
-u:若目標文件比源文件舊,更新目標文件
如將/test1目錄下的file1復制到/test3目錄,並將文件名改為file2,可輸入以下命令:
cp /test1/file1 /test3/file2
⑷ 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服務出現變動所致。
⑸ 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個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;
⑹ 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
⑺ linux遠程拷貝文件!!
可以考慮使用 scp命令。
Linux為我們提供了兩個用於文件的命令,一個是cp,一個是scp,但是他們略有不同,cp 主要是用於在同一台電腦上,在不同的目錄之間來迴文件 scp 主要是在不同的Linux系統之間來迴文件。
Linux為我們提供了兩個用於文件的命令,一個是cp,一個是scp,但是他們略有不同。
cp --- 主要是用於在同一台電腦上,在不同的目錄之間來迴文件
scp --- 主要是在不同的Linux系統之間來迴文件
關於cp的具體用法:
命令基本格式:
cp [OPTIONS] SOURCE DEST --- 從源路徑文件到目的路徑
cp [OPTIONS] SOURCE... DIRECTORY --- 將多個源文件到指定的目錄(多個源文件用空格分隔)
OPTIONS:
-a same as -dpR 盡可能將源文件狀態、許可權等資料都照原裝予以復制,並且是遞歸;
-r 表示遞歸,若source中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地;
-f 表示force,若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制;
範例:
1. 將檔案 aaa 復制(已存在),並命名為 bbb:
cp aaa bbb
2. 將所有的C語言程式拷貝至 Finished 子目錄中:
cp *.c Finished/
關於scp的具體用法:
不同的Linux之間文件常用有3種方法:
第一種就是ftp,也就是其中一台Linux安裝ftp Server,這樣可以在另外一台機器使用ftp的client程序來進行文件的。
第二種方法就是採用samba服務,類似Windows文件 的方式來操作,比較簡潔方便。
第三種就是利用scp命令來進行文件復制。
scp是有Security的文件,基於ssh登錄。
命令基本格式:
scp [OPTIONS] file_source file_target
OPTIONS:
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接、認證、 或是配置錯誤
-C 使能壓縮選項
-P 選擇埠 . 注意 -p 已經被 rcp 使用
從 本地 復制到 遠程
scp /home/daisy/full.tar.gz [email protected]:/home/root (然後會提示你輸入另外那台172.19.2.75主機的root用戶的登錄密碼,接著就開始了),復制目錄加參數 -r 即可
從 遠程 復制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
以下是補充:
命令:cp
使用許可權:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
把計
-a 盡可能將檔案狀態、許可權等資料都照原狀予以復制。
-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
-f 若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制。
範例:
將檔案 aaa 復制(已存在),並命名為 bbb :
cp aaa bbb
將所有的C語言程式拷貝至 Finished 子目錄中 :
cp *.c Finished
命令:scp
不同的Linux之間文件常用有3種方法:
第一種就是ftp,也就是其中一台Linux安裝ftp Server,這樣可以另外一台使用ftp的client程序來進行文件的。
第二種方法就是採用samba服務,類似Windows文件 的方式來操作,比較簡潔方便。
第三種就是利用scp命令來進行文件復制。
scp是有Security的文件,基於ssh登錄。操作起來比較方便,比如要把當前一個文件到遠程另外一台主機上,可以如下命令。
scp /home/daisy/full.tar.gz [email protected]:/home/root
然後會提示你輸入另外那台172.19.2.75主機的root用戶的登錄密碼,接著就開始了。
如果想反過來操作,把文件從遠程主機到當前系統,也很簡單。
linux之cp/scp命令+scp命令詳解(轉) - linmaogan - 獨木★不成林scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
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 [email protected]:/home/root/others/music
scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.e.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.e.cn:/home/root/others/music/001.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/ [email protected]:/home/root/others/
scp -r /home/space/music/ www.cumt.e.cn:/home/root/others/
上面 命令 將 本地 music 目錄 復制 到 遠程 others 目錄下,即復制後有 遠程 有 ../others/music/ 目錄
======
從 遠程 復制到 本地
======
從 遠程 復制到 本地,只要將 從 本地 復制到 遠程 的命令 的 後2個參數 調換順序 即可;
例如:
scp [email protected]:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.e.cn:/home/root/others/ /home/space/music/
最簡單的應用如下 :
scp 本地用戶名 @IP 地址 : 文件名 1 遠程用戶名 @IP 地址 : 文件名 2
[ 本地用戶名 @IP 地址 :] 可以不輸入 , 可能需要輸入遠程用戶名所對應的密碼 .
可能有用的幾個參數 :
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .
-C 使能壓縮選項 .
-P 選擇埠 . 注意 -p 已經被 rcp 使用 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .
注意兩點:
1.如果遠程伺服器防火牆有特殊限制,scp便要走特殊埠,具體用什麼埠視情況而定,命令格式如下:
#scp -p 4588 [email protected]:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用戶是否具有可讀取遠程伺服器相應文件的許可權。