在使用操作系統的使用過程中,常常需要復制文件到本地或者傳輸文件到其他電腦上,這時候用到兩個命令cp
和scp
。
cp
命令用來復制文件或者目錄。scp
是secure copy的簡寫,用來在Linux下進行加密的遠程傳輸文件或者目錄。
cp
和scp
是Linux中功能強大且常用的的命令,下面就介紹下cp和scp兩個命令的使用。
cp命令
cp命令可以復制一個文件,可以是單個文件復制也可以是整個目錄復制,命令的使用方式:
cp [options] source dest
例如:cp test.txt test1.txt
,就是把test.txt復制為文件test1.txt。
常用的cp命令選項有:
`-r`:拷貝目錄文件,將目錄下的文件依序拷貝到目標目錄中
`-f`:如果目標文件中已經有相同的文件名存在,在復制前先將同名文件刪除再進行復制
`-l`:對源文件進行硬鏈接,而不復制文件
`-u`:源文件的Modification Time較目的文件有更新的時候,才會進行復制。
`-v`:輸出詳細信息
復制文件夾的命令:
cp -r test/ test1/
scp命令
scp
命令可以實現本地與遠程服務器之間的雙向傳輸,本地文件可以傳輸到遠程服務,也可以把遠程服務器上的文件傳輸到本地,而且是加密的。
scp
命令的基本格式:
scp [options] source dest
scp常用的命令選項:
`-P`:數據傳輸默認端口,默認是22
`-r`:遞歸拷貝整個目錄
`-i`:指定密鑰文件,參數直接傳遞給ssh使用
`-l`:限定網速,以Kbit/s為單位
`-C`:允許壓縮
`-1,-2`:強制scp命令使用ssh1或者ssh2協議
`-4,-6`:使用ipv4或者ipv6尋址
下面是比較常用的scp
命令使用的例子。
-
本地文件傳輸到遠程服務器
命令格式:scp test.txt root@192.168.1.1:/home/
將test.txt文件復制到目標服務器(192.168.1.1)下的home文件夾下。
-
本地文件夾傳輸到遠程服務器
命令格式:scp -r test root@192.168.1.1:/home/
將test整個文件夾復制到目標服務器下的home文件夾下。
-
遠程服務器文件傳輸到本地
命令格式:scp root@192.168.1.1:/home/test.txt test
將遠程服務中home目錄下的
test.txt
文件,復制到本地的test目錄下 -
遠程服務器文件夾復制到本地
scp -r root@192.168.1.1:/home/test /Users/jjz
將遠程服務器中home目錄下的test整個目錄復制到本地的jjz目錄下
-
scp命令指定密鑰文件
scp test.txt root@192.168.1.1:/home/ -i ~/.ssh/id_rsa.1
這里指定了密鑰文件
id_rsa.1
做為ssh的連接參數,不使用默認的密鑰文件。