linux c语言文件拷贝_linux - 远程拷贝文件之scp
簡介
scp就是secure copy,是用來進行遠程文件拷貝的。數據傳輸使用ssh1,并且和ssh1使用相同的認證方式,提供相同的安全保證。
scp只要通過sshd服務進行通訊,而且要求兩端都有scp這個命令。
用法
scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file]
[-l limit] [-o ssh_option] [[user@]host1:]file1 [...] [[user@]host2:]file2
常用方式
復制一個文件到遠程主機
scp file 192.168.1.100:/tmp/如果不指定用戶名, 默認是跟當前的用戶名是一樣,如果是需要制定用戶直接是root@192.168.1.100;端口默認是ssh_config配置的端口(默認是22),如果IP后面不加路徑,默認就是用戶的家目錄。
復制一個文件夾
scp -r dir1 192.168.1.100:/tmp/復制目錄需要添加一個-r參數,來遞歸復制。
注意:這里的目錄中的軟鏈接,如果是目錄打軟鏈接,會被當成正常的目錄,復制所有打文件到遠程,導致軟鏈接都消失了。
拷貝多個文件或者目錄
scp -r dir1 dir2 file1 file2 192.168.1.100:/tmp/只要把目標放到最后,中間的文件目錄都會被拷貝到遠程的/tmp目錄。
限速拷貝
scp -l 102400 -r dir 192.168.1.100:/tmp-l 參數的單位是:Kbit/s,限速可以防止拷貝文件占用帶寬,導致正常的服務出現異常。
自定義端口
scp -l 102400 -r -P 2222 dir root@192.168.1.100:/tmp為了安全一點,有些ssh服務不使用默認端口了,這時候拷貝文件就需要指定端口,用-P這個參數(是大寫的P)
指定密鑰
scp -i /data/id_rsa -r dir root@192.168.1.100:/tmp有些情況,是直接使用密鑰進行驗證的,如果不是本機默認打key,需要使用-i指定一下密鑰打路徑。
指定ssh_config配置文件
scp -F /data/ssh_config -r dir root@192.168.1.100:/tmpscp調用的是ssh_config,有時候,我們自定義打一些參數,比如自動接受key之類的參數,又不想影響系統本身自帶的配置。這時候就需要-F制定一下ssh客戶端的配置。默認加載的是/etc/ssh/ssh_config
總結
scp使用起來簡單方便,但是對于軟鏈接的處理不是很人性化。可以先使用tar打包,然后再進行拷貝。
tar zcvf file.tar.gz dir1 file scp file.tar.gz 192.168.1.100:/tmp/總結
以上是生活随笔為你收集整理的linux c语言文件拷贝_linux - 远程拷贝文件之scp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现md5加密_Python
- 下一篇: java jdk安装_Java从入门到入