日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux文件拷贝

發布時間:2023/11/28 生活经验 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux文件拷贝 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

考慮如下情景:foo用戶home目錄下有一文件file.txt,要將其copy至bar用戶的home目錄。Linux對用戶home目錄有嚴格的權限限制,非owner用戶或者同group用戶無權限讀寫,除非是root(至高無上的root)。如果沒有root權限,有什么辦法把file.txt 復制到bar用戶的home目錄下呢?

想到兩個辦法。
第一個辦法,先用foo用戶登錄,把文件copy到系統臨時目錄/tmp,然后切換到bar用戶,再從系統臨時目錄/tmp把文件copy到自己的home目錄。這里為什么用cp不用mv?因為復制到/tmp的文件owner還是foo,默認情況下其他用戶自有讀權限,沒有寫權限(自然沒有移動權限)。即使通過修改文件權限,讓bar可寫,移動到bar的home目錄下owner還是foo,而且非得root才能改成bar。這個辦法有點曲折,弊端也很明顯,文件需要復制兩次,花兩倍的時間。

# cp file.txt /tmp/ 
# su - bar 
# cp /tmp/file.txt ~/ 
# exit 
# rm /tmp/file.txt 

第二個辦法,使用scp命令。原本scp是用來在不同主機上通過網絡copy文件,用在這里剛好。用bar用戶登錄

# scp foo@localhost:/home/foo/file.txt ./ 

在當前用戶界面下 foo為其他用戶 ./ 為當前用戶的目錄
輸入foo用戶密碼,開始文件傳輸。也可以用foo用戶登錄,

# scp file.txt bar@localhost:/home/bar/ 

輸入bar用戶密碼,過程一樣。

實際中使用哪一種方法,看個人喜好了。如果要copy的文件不大,第一種方法也不失為一種選擇。

結束語

以上就是給大家分享的Linux中不同用戶之間復制文件的兩個方法,希望對大家的學習和工作能有所幫助。如果有疑問可以留言討論。

上面是同一主機不同用戶之間的拷貝

不同的Linux之間copy文件常用有3種方法

第一種:ftp,也就是其中一臺Linux安裝ftpServer,這樣可以另外一臺使用ftp的client程序來進行文件的copy。

第二種:采用samba服務,類似Windows文件copy的方式來操作,比較簡潔方便,

第三種:利用scp命令來進行文件復制。

介紹

scp是secure?copy的簡寫,是linux系統下基于ssh登陸進行安全的遠程文件拷貝命令。linux的scp命令可以在linux服務器之間復制文件和目錄。和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器。

當你服務器硬盤變為只讀?read?only?system時,用scp可以幫你把文件移出來。另外,scp還非常不占資源,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然?rsync比scp會快一點,但當小文件眾多的情況下,rsync會導致硬盤I/O非常高,而scp基本不影響系統正常使用。

說明:當兩臺LINUX主機之間要互傳文件時可使用SCP命令來實現,建立信任關系之后可不輸入密碼。?

?

命令格式:

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

scp 本地用戶名 @IP 地址 : 文件名 1 遠程用戶名 @IP 地址 : 文件名 2

?

命令參數:

-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)的選項。

?

使用方法:

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

?

3、從遠程服務器的文件或目錄拷貝到本地服務器。與從本地傳送到遠程服務器相類似,只是將參數位置互換一下。

?

使用實例:

1、從遠程復制文件到本地目錄。

說明:從192.168.120.204機器上的/opt/soft/的目錄中下載nginx-0.5.38.tar.gz?文件到本地/opt/soft/目錄中

$scp?root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz?/opt/soft/

?

2、從遠程復制目錄到本地目錄。

說明:從192.168.120.204機器上的/opt/soft/中下載mongodb?目錄到本地的/opt/soft/目錄來。

$scp?-r?root@192.168.120.204:/opt/soft/mongodb?/opt/soft/

?

3、上傳本地文件到遠程目錄。

說明:復制本地opt/soft/目錄下的文件nginx-0.5.38.tar.gz?到遠程機器192.168.120.204的opt/soft/scptest目錄

$scp?/opt/soft/nginx-0.5.38.tar.gz?root@192.168.120.204:/opt/soft/scptest

?

4、上傳本地目錄到遠程目錄。

說明:上傳本地目錄?/opt/soft/mongodb到遠程機器192.168.120.204上/opt/soft/scptest的目錄中去

$scp?-r?/opt/soft/mongodb?root@192.168.120.204:/opt/soft/scptest

?

標簽: linux

總結

以上是生活随笔為你收集整理的linux文件拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。