Linux系統作為一款服務器操作系統,經常需要進行文件的傳輸,比如從本地向遠程服務器上傳下載文件,或在多個遠程服務器之間傳輸文件,或者在服務器之間進行實時的同步,需要用到一些常見的文件傳輸方法和命令。
一、SCP
SCP(Secure Copy)是一款基於SSH協議的文件傳輸工具,在傳輸文件的同時進行加密,可以確保數據的安全性。它的命令用法和cp非常相似,常用的命令格式如下:
$ scp [可選參數] [源地址] [目標地址]
其中,可選參數包括:
- -r:遞歸傳輸整個文件夾。
- -P:指定端口號。
- -p:保留文件原本的權限和時間戳。
- -v:顯示詳細的傳輸過程。
例如,將本地的test.txt文件上傳至遠程服務器192.168.1.100的/home/user/目錄下:
$ scp test.txt user@192.168.1.100:/home/user/
要將遠程服務器192.168.1.100:/home/user/目錄下的test.txt文件下載到本地:
$ scp user@192.168.1.100:/home/user/test.txt .
二、SFTP
SFTP(SSH File Transfer Protocol)是一款基於SSH協議的安全文件傳輸工具,它相較於FTP,可以進行加密傳輸,確保數據的機密性和完整性。SFTP支持交互式的命令行操作,也可以通過FTP客戶端進行傳輸。常用的命令格式如下:
$ sftp [用戶名]@[地址]
在SFTP命令行中,常用的命令包括:
- ls:列出當前的文件列表。
- cd:切換到指定的目錄,例如cd /home/user/。
- get:下載文件,例如get test.txt。
- put:上傳文件,例如put test.txt。
- rm:刪除指定的文件或目錄,例如rm test.txt。
- mkdir:創建目錄,例如mkdir test。
- pwd:顯示當前所在的目錄。
- exit:退出SFTP命令行。
三、RSYNC
RSYNC是一種快速、靈活、可靠的文件同步和備份工具,它可以根據更新日期和時間戳來決定哪些文件需要同步,也可以進行壓縮傳輸、增量備份等高級操作。RSYNC除了可以在本地之間同步文件,也可以在不同服務器之間進行同步。常用的命令格式如下:
$ rsync [可選參數] [源地址] [目標地址]
其中,常用的可選參數包括:
- -a:表示歸檔模式,同步時保留文件的所有元數據,遞歸同步子目錄。
- -v:顯示詳細的同步進程。
- -z:壓縮同步過程中的數據。
- -u:只同步更新時間戳較新的文件。
例如,將本地目錄/home/user/test/同步到遠程服務器192.168.1.100上的/home/user/目錄下:
$ rsync -avz /home/user/test/ user@192.168.1.100:/home/user/
注意:同步目錄時,源地址結尾必須包含/,目標地址結尾不能包含/。
四、FTP
FTP(File Transfer Protocol)是一種文件傳輸協議,早在互聯網發展早期,就是最常用的文件傳輸協議之一。使用FTP需要客戶端和服務器之間建立FTP連接,比如可以使用開源FTP客戶端FileZilla或者系統自帶的命令行工具ftp。FTP需要進行用戶名和密碼的驗證,並且傳輸的數據不是加密的,安全性相對較低。FTP命令格式如下:
$ ftp [地址]
在FTP命令行中,常用的命令包括:
- ls:列出當前的文件列表。
- cd:切換到指定的目錄,例如cd /home/user/。
- get:下載文件,例如get test.txt。
- put:上傳文件,例如put test.txt。
- delete:刪除指定的文件或目錄,例如delete test.txt。
- mkdir:創建目錄,例如mkdir test。
- pwd:顯示當前所在的目錄。
- bye:退出FTP連接。
例如,連接到一個FTP服務器:
$ ftp ftp.example.com
五、HTTP
HTTP(Hyper Text Transfer Protocol)是一種常見的互聯網協議,主要用於Web服務器和瀏覽器之間的通信,常用於對文件進行下載和傳輸。HTTP協議支持常見的文件格式如文本、圖像、音頻、視頻等。常用的警惕格式如下:
$ wget [可選參數] [URL]
wget是常用的HTTP下載工具,它支持斷點續傳和多線程下載,常用的可選參數包括:
- -c:繼續之前下載過的文件。
- -r:遞歸下載整個目錄。
- -np:不下載父級目錄。
- -nH:禁止生成目錄。
- -P:指定保存下載文件的目錄。
例如,下載一個文件:
$ wget http://example.com/test.zip
要下載一個目錄:
$ wget -r -np -nH --cut-dirs=1 -R index.html http://example.com/test/
–cut-dirs=1去除目錄前綴,-R index.html排除下載的文件中的index.html。
六、總結
選擇恰當的文件傳輸方法可以提高服務器安全性、減少傳輸時間和提高效率。以上是幾種常見的文件傳輸方法和命令,具體應根據實際需求選擇合適的工具和參數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/311350.html