Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机
文章目錄
- 一、使用 scp 命令
- (一)將本地的文件上傳(上載/復制)到遠程主機的指定目錄下
- (二)將本地主機的目錄內容(含目錄本身)上傳到遠程主機指定的目錄下
- 1.將本地主機桌面上的目錄 www 及其內容上傳至遠程主機的目錄 /root/test 下
- 2.將本地主機桌面上的目錄 www 下的內容上傳至遠程主機的目錄 /root/test 下
- (三)將遠程主機的文件下載(下傳/復制)到本地
- (四)將遠程主機指定目錄下的內容全部下載到本地主機指定的目錄下
- 1.將遠程主機目錄 test 整個下載到本地主機的目錄 www 下
- 2.將遠程主機目錄 test 下的內容下載到本地主機的目錄 www 下
- 二、使用 sftp 命令
- (一)通過 sftp 連接遠程主機
- 方法1:打開命令終端,直接輸入 sftp 命令語句
- 方法2:打開命令終端后,通過配置窗口執行 sftp 命令
- (二)將本地文件上傳到遠程主機的指定目錄下
- (三)將本地指定目錄下的內容上傳到遠程主機指定目錄下
- (四)將遠程主機的文件下載到本地主機指定的目錄下
- (五)將遠程主機指定目錄下的內容全部下載到本地主機指定的目錄下
- 1.將遠程主機的目錄 test 整個下載到本地主機的目錄 www 下
- 2.將遠程主機指定目錄下的內容(不含目錄本身)下載到本地主機指定的目錄下
- (六)退出 sftp 命令行
- (七)<code>切記,必須記住,勿忘,深坑!!!</code>
- (八)覆蓋問題
- 三、使用 FTP 客戶端軟件
一、使用 scp 命令
(一)將本地的文件上傳(上載/復制)到遠程主機的指定目錄下
蘋果電腦經常需要上傳文件到遠程的 Linux 主機上,如下:
liaowenxiong@liaowenxiongdeMacBook-Air ~ % scp /Users/liaowenxiong/Desktop/insert.sql root@47.108.37.204:/root; root@47.108.37.204's password: insert.sql 100% 784 21.5KB/s 00:00 liaowenxiong@liaowenxiongdeMacBook-Air ~ %本地 Linux 電腦將數據庫備份文件上傳到局域網內的 Linux 主機上,如下:
[root@htlwk0001host ~]# scp /home/website/backups/mysqlbackup.txt root@192.168.1.50:/home/website/backups如果你希望上傳文件到遠程主機指定目錄下的同時還要修改文件的名稱,那么就需要指定遠程主機具體的文件路徑。
例如,你本地文件的路徑是 /Users/liaowenxiong/.ssh/id_rsa.pub,這是個公鑰文件,你希望將該文件上傳到遠程主機 /root/.ssh 目錄下,同時文件名改成為 authorized_keys,那么就需要指定這個目標文件具體的路徑。
說明:
(二)將本地主機的目錄內容(含目錄本身)上傳到遠程主機指定的目錄下
1.將本地主機桌面上的目錄 www 及其內容上傳至遠程主機的目錄 /root/test 下
liaowenxiongdeMacBook-Air:~ liaowenxiong$ scp -r /Users/liaowenxiong/Desktop/www root@48.104.95.667:/root/test root@48.104.95.667's password: .DS_Store 100% 6148 162.6KB/s 00:00 tf_user_20210523.sql 100% 86KB 758.6KB/s 00:00 td_dictionary_20210523.sql 100% 15KB 432.6KB/s 00:002.將本地主機桌面上的目錄 www 下的內容上傳至遠程主機的目錄 /root/test 下
liaowenxiongdeMacBook-Air:~ liaowenxiong$ scp -r /Users/liaowenxiong/Desktop/www/* root@48.104.95.667:/root/test root@48.104.95.667's password: td_dictionary_20210523.sql 100% 15KB 173.1KB/s 00:00 tf_user_20210523.sql 100% 86KB 388.4KB/s 00:00說明:
將本地目錄下的內容上傳至遠程主機指定目錄下,這里只能使用 .../www/*,不能使用 .../www/.,但是 sftp 則可以使用 .../www/.
(三)將遠程主機的文件下載(下傳/復制)到本地
[root@htlwk0001host ~]# scp www@210.14.146.123:/home/website/backups/mysqlbackup.txt /home/website/backups說明:
(四)將遠程主機指定目錄下的內容全部下載到本地主機指定的目錄下
1.將遠程主機目錄 test 整個下載到本地主機的目錄 www 下
liaowenxiongdeMacBook-Air:www liaowenxiong$ scp -r root@48.104.95.667:/root/test /Users/liaowenxiong/Desktop/www root@48.104.95.667's password: td_dictionary_20210523.sql 100% 15KB 284.5KB/s 00:00 tf_user_20210523.sql 100% 86KB 534.7KB/s 00:00說明:本例是將遠程主機目錄 test 及其內容一起 下載到本地主機目錄 www 下
2.將遠程主機目錄 test 下的內容下載到本地主機的目錄 www 下
liaowenxiongdeMacBook-Air:www liaowenxiong$ scp -r root@48.104.95.667:/root/test/* /Users/liaowenxiong/Desktop/www root@48.104.95.667's password: td_dictionary_20210523.sql 100% 15KB 240.6KB/s 00:00 tf_user_20210523.sql 100% 86KB 411.4KB/s 00:00 liaowenxiongdeMacBook-Air:www liaowenxiong$ pwd /Users/liaowenxiong/desktop/www liaowenxiongdeMacBook-Air:www liaowenxiong$ ls td_dictionary_20210523.sql tf_user_20210523.sql二、使用 sftp 命令
(一)通過 sftp 連接遠程主機
方法1:打開命令終端,直接輸入 sftp 命令語句
liaowenxiongdeMacBook-Air:~ liaowenxiong$ sftp root@48.104.95.667 root@48.104.95.667's password: Connected to 48.104.95.667. sftp>方法2:打開命令終端后,通過配置窗口執行 sftp 命令
請點擊查看如何使用配置窗口連接遠程服務器主機
(二)將本地文件上傳到遠程主機的指定目錄下
sftp 遠程連接成功之后,接著使用 sftp 的 put 命令來上傳本地文件
sftp> put /Users/liaowenxiong/Desktop/insert.sql /root/ Uploading /Users/liaowenxiong/Desktop/insert.sql to /root/insert.sql /Users/liaowenxiong/Desktop/insert.sql 100% 784 25.0KB/s 00:00有關說明:
(三)將本地指定目錄下的內容上傳到遠程主機指定目錄下
將本地電腦目錄 /users/liaowenxiong/desktop/www/ 下的內容全部上傳到遠程主機的目錄 /root/test 下
sftp> put -r /users/liaowenxiong/desktop/www/* /root/test/ Uploading /users/liaowenxiong/desktop/www/td_dictionary_20210523.sql to /root/test/td_dictionary_20210523.sql /users/liaowenxiong/desktop/www/td_dictionary_20210523.sql 100% 15KB 390.9KB/s 00:00 Uploading /users/liaowenxiong/desktop/www/tf_user_20210523.sql to /root/test/tf_user_20210523.sql /users/liaowenxiong/desktop/www/tf_user_20210523.sql 100% 86KB 412.6KB/s 00:00說明:
(四)將遠程主機的文件下載到本地主機指定的目錄下
使用命令 get 將遠程主機上的文件 /root/qydpw.sql 下載到本地主機的目錄 /users/liaowenxiong/desktop 下
sftp> get /root/qydpw.sql /users/liaowenxiong/desktop Fetching /root/qydpw.sql to /users/liaowenxiong/desktop/qydpw.sql /root/qydpw.sql 100% 698KB 638.6KB/s 00:01 sftp>(五)將遠程主機指定目錄下的內容全部下載到本地主機指定的目錄下
1.將遠程主機的目錄 test 整個下載到本地主機的目錄 www 下
sftp> get -r /root/test /users/liaowenxiong/desktop/www Fetching /root/test/ to /users/liaowenxiong/desktop/www/test Retrieving /root/test /root/test/tf_user_20210523.sql 100% 86KB 464.0KB/s 00:00 /root/test/td_dictionary_20210523.sql說明:這樣是將整個目錄及其包含的內容下載到本地指定的目錄下,上述例子中,打開本地目錄 www,會看到下載下來的目錄 test
2.將遠程主機指定目錄下的內容(不含目錄本身)下載到本地主機指定的目錄下
sftp> get -r /root/test/* /users/liaowenxiong/desktop/www Fetching /root/test/td_dictionary_20210523.sql to /users/liaowenxiong/desktop/www/td_dictionary_20210523.sql /root/test/td_dictionary_20210523.sql 100% 15KB 147.6KB/s 00:00 Fetching /root/test/tf_user_20210523.sql to /users/liaowenxiong/desktop/www/tf_user_20210523.sql /root/test/tf_user_20210523.sql 100% 86KB 402.4KB/s 00:00說明:上述例子中,是把遠程主機目錄 test 下的內容全部下載到本地主機目錄 www 下,并不包含目錄 test 本身,下載下來的是目錄 test 下的內容,也可以使用 . 代表目錄 test 下的內容,例如,/root/test/.
(六)退出 sftp 命令行
exit 或者 quit,
(七)切記,必須記住,勿忘,深坑!!!
sftp 命令切記不要以 ; 結尾,我經常習慣以 ; 結尾,導致命令執行失敗,總是沒有反應過來,我擦!!!
(八)覆蓋問題
如果被下載文件所在目錄與本地目錄如果是同個目錄,執行下載指令后,被下載的文件的內容會被清空,如下所示,文件 text2.txt 的內容會被刪除掉:
sftp> get /root/test/text2.txt /root/test Fetching /root/test/text2.txt to text2.txt /root/test/text2.txt 0% 0 0.0KB/s --:-- ETA本地目錄存在相同的文件 text2.txt,sftp 就會刪除該文件的內容,但是會保留文件名以及相關屬性信息,而被下載的文件也是這個文件,說明被下載的文件的內容被刪除了,也就是說文件名(text2.txt)所引用的內容其實是空的,所以執行完之后的結果就是被下載的文件的內容被刪除了,然后文件名保留,刷新下文件的 atime,mtime。
擴展:所以這個結果就可以得知,Linux 中的 sftp 是怎么覆蓋同名文件的了,覆蓋的時候其實本地的文件名及屬性信息沒有被一并刪除,只是內容部分(block)被刪除了,然后把遠程主機的同名文件的內容存放進去,所以覆蓋的是文件的內容。
三、使用 FTP 客戶端軟件
推薦使用 VanDyke Software, Inc.(中文譯為:范戴克軟件公司)研發生產的支持普通FTP標準和安全數據傳輸標準(SFTP 或者 在SSH2 上的FTP)的FTP客戶端軟件:SecureFX
點擊查看 SecureFX 介紹
SecureFX 官方下載地址
點擊查看 SecureFX 使用教程
總結
以上是生活随笔為你收集整理的Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序开发基础教程
- 下一篇: 软考-案例分析