當涉及到在Linux等操作系統(tǒng)中共享數據時,我們可以選擇多種命令來共享信息。下面,我們將重點討論SCP命令,如何
通過SSH將文件從遠程傳輸到本地?
一、什么是SCP命令?
SCP是安全復制協(xié)議的縮寫。它是一個命令行實用程序,允許用戶在兩個位置(通常是UNIX或Linux系統(tǒng)之間)之間安
全地復制文件和目錄。該協(xié)議確保文件傳輸經過加密,以防止任何有可疑意圖的人獲取敏感信息。簡而言之,我們可以
說SCP是cp( copy )命令的更安全選項。還需要注意的是,SCP通過SSH(安全外殼)連接使用加密,這可確保傳輸的數
據免受可疑攻擊。
二、SCP語法
就像終端中使用的任何其他命令一樣,SCP也有一種用于成功執(zhí)行的格式。通過理解語法,我們可以更輕松地寫下命令:
scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2
scp-它初始化命令并確保安全shell就位。
OPTIONS-他們根據使用方式授予不同的權限。一些最常見的選項包括:
P(大寫)-指定與遠程主機建立連接的端口。
p(小寫)-保留時間戳以便于修改和訪問。
r -遞歸復制整個目錄
q -安靜地復制文件,不顯示進度消息,也稱為安靜模式。
C -用于在傳輸過程中壓縮數據。
src_host-文件的托管位置。源可以是客戶端或服務器,具體取決于文件的來源。
dest_host-文件將被復制到的位置。
由于我們正在處理文件傳輸,這意味著必須有不止一臺機器的參與才能使該過程成為可能。我們可以在以下情況下使用
SCP:
在同一臺機器上復制文件。
將文件從本地主機復制到遠程主機,反之亦然。
在兩個不同的遠程服務器之間復制文件。
此時,在使用任何SCP命令之前,需要準備好一些東西:
客戶端和服務器上都安裝了SSH。
對客戶端和服務器計算機的根訪問權限。
三、常用SCP命令
1、將文件從本地主機復制到遠程服務器
復制文件時,能夠將文件/數據從本地存儲傳輸到遠程服務器是非常重要的。使用SCP命令時,需要指定一些事情才能發(fā)生
這種情況。
我們必須指定文件的路徑作為源,并指定文件復制到的遠程主機路徑。
讓我們假設一個場景,我們有一個文件test.txt,我們需要將其復制到遠程服務器,我們的命令如下所示:
scp test.txt userbravo@destination:/location2
我們不限制可以復制的文件數量。假設我們位于桌面上名為web的文件夾中,其中有.php文件擴展名,并且需要將其復制
到遠程服務器主目錄。我們的命令將如下所示:
scp *.php userbravo@destination_host:/~/
*.php -復制當前指定文件夾中擴展名為.php的所有文件。
/~/ - 表示將它們復制到主目錄。
假設我們想復制一個名為test.txt的文件,并使用端口選項將其以不同的名稱保存在遠程服務器中。該命令將是:
scp -P 8080 test.txt userbravo@destination_host:/user/home/test2.txt
在此示例中,我們將文件test.txt從本地計算機復制到遠程計算機,并使用端口8080將其保存為test2.txt。
2、將文件從遠程復制到本地
理解這一點的更好方法是使用示例??紤]一個我們想要從遠程系統(tǒng)復制文件的場景。要復制文件,我們需要首先調用
SCP,然后是遠程用戶名@IP 地址、文件路徑。
如果不指定路徑,則在這種情況下假定默認為用戶的主目錄,這將遵循文件在本地存儲的路徑。語法:
scp <remote_username>@<IPorHost>:<PathToFile> <LocalFileLocation>
假設我想從地址為192.168.1.100的遠程設備復制一個名為linuxcheatsheet的文件。
linuxcheatsheet文件存儲在kali用戶的主目錄中,我將驗證該用戶。因此,在冒號之后,我不需要指定路徑,因為它是
默認路徑,即主目錄,我只需鍵入文件名(“l(fā)inuxcheatsheet”)。然后,我通過鍵入一個點將當前目錄指定為存儲文
件的本地位置。
scp lary@192.168.1.100:linuxcheatsheet .
3、將文件從遠程主機復制到另一臺主機
在文件傳輸中使用SCP的優(yōu)點在于,它不僅允許本地計算機之間的連接,還允許您連接到遠程服務器。
假設我們想要將名為test.txt的文件復制到另一個遠程服務器,命令如下所示:
scp user1@host1.com:/files/test.txt user2@host2.com:/files
此命令將執(zhí)行的操作是從user1的文件夾中復制test.txt,并在user2 中創(chuàng)建它的副本,該副本仍在該文件夾中的
host2.com上運行。
4、復制多個文件
復制多個文件時,只需指定文件名作為源路徑即可。例如語法:
scp file1 file2 ... user@<ip_address_of_user>: Destination
假設我們想要復制文件 1、2、3 和 4。命令如下所示:
scp file1.txt file2.txt file3.txt file4.txt user1@host1.com:/home/user1/Desktop
總結要點:
1、為了能夠復制文件,我們必須具有源文件的讀取權限和目標系統(tǒng)的寫入權限。
2、SCP命令依賴SSH進行安全數據傳輸,這意味著它需要密碼才能在遠程系統(tǒng)上進行身份驗證。
3、復制具有相同名稱和位置的文件時要小心,因為SCP會在不警告您的情況下覆蓋它們。
4、為了能夠區(qū)分本地和遠程位置,請使用完整的冒號:。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站