Linux—文件上傳和下載


一、通過SecureCRT的rz、sz實現文件的上傳和下載

1.檢查是否安裝sz  rz,命令如下

[root@localhost ~]# rpm -qa | grep rz   # 上傳
[root@localhost ~]# rpm -qa | grep sz   # 下載

2.安裝lrzsz軟件,命令如下

[root@localhost ~]# yum install -y lrzsz             # CentOS
[root@localhost ~]# apt-get install -y lrzsz         # Ubuntu

3.文件上傳

[root@localhost ~]# rz
[root@localhost ~]# rz -be
使用rz會有兩個問題: 上傳中斷、上傳文件變化(md5不同)。解決辦法如下:
-b: 用binary的方式上傳下載, 不解釋字符為ASCII。 -e: 強制escape所有控制字符, 比如Ctrl+x, DEL等。

4.文件下載

# 1.下載一個文件
[root@localhost ~]# sz filename 
[root@localhost ~]# sz requirements.txt

#
2.下載多個文件 [root@localhost ~]# sz filename1 filename2
#
3.下載dir目錄下的所有文件,不包含dir下的文件夾 [root@localhost ~]# sz dir/*

二、通過sftp實現文件的上傳和下載

  • 為了數據和服務的安全, 很多生產環境中的Linux服務器不能使用外網環境. 在只有SSH連接的情況下, 傳輸文件變得很不方便。
  • 如果Linux服務器未安裝用於上傳和下載的lrzsz軟件, 又不能現場安裝, 此時可考慮使用sftp完成相關操作。
  • FTP是一種方便數據共享的文件傳輸協議, 包括一個FTP服務器和多個FTP客戶端. FTP客戶端通過FTP協議從服務器上下載資源。
  • SFTP是Secure File Transfer Protocol(安全文件傳輸協議)的縮寫, 可以為傳輸文件提供一種安全的網絡的加密方法。
  • SFTP協議是在FTP的基礎上, 對數據采取了加密/解密技術, 使數據傳輸更安全。
  • SFTP的傳輸效率比FTP的低很多。

Windows系統下, 可以使用Core FTP、FileZilla、WinSCP、Xftp等軟件來連接SFTP進行上傳/下載文件、建立/刪除目錄等操作。這里主要探討Linux系統下的操作。

1.軟件環境

可以使用任意終端工具, 比如xshell, 或SecureCRT。

2.sftp建立連接

[root@localhost ~]# sftp username@remote_ip(or remote host name),      # 連接root用戶, 則可省略"root@". 
[root@localhost ~]# sftp -o port=1000 username@remote_ip
[root@localhost ~]# sftp root@68.56.32.159

3.sftp - 上傳文件:如果上傳/下載的是文件夾, 在put/get命令后加上-r參數即可。

上傳文件:  把本地服務器的/www/wwwroot目錄下面的study.log文件上傳到遠程服務器的/www/server目錄下。
sftp> lcd /www/wwwroot sftp> put study.log /www/server

上傳文件夾:把本地服務器的/www/wwwroot目錄下面的test文件夾上傳到遠程服務器的/www/server目錄下。
sftp> put -r test /www/server

查看遠程服務器/www/server目錄下面的文件和文件夾
sftp> ls /www/server

4.sftp - 下載文件

下載文件:  把遠程服務器的/www/server目錄下面的study.log文件下載到本地服務器的/www目錄下。
sftp> get /www/server/study.log /www
下載文件夾:把遠程服務器的/www/server目錄下面的test文件夾下載到本地服務器的/www目錄下。
sftp> get -r /www/server/test /www

查看本地服務器/www目錄下面的文件和文件夾
sftp> lls /www

5.sftp與ftp有着幾乎相同的語法和功能

① ls, rm, cd, mkdir, pwd     等指令是對當前連接的遠程端服務器的操作。
② lls, lrm, lcd, lmkdir, lpwd 等指令是對本地端服務器的操作 —— 在上述指令前加l(local)即可。

6.退出sftp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM