阿里雲 Linux遠程服務器之間文件拷貝(scp、zip、unzip)


一、登錄Linux服務器A

打包壓縮需要拷貝的文件夾

Zip -r    文件名稱20191216.zip    文件夾名稱

 

二、將zip包復制到遠程Linux服務器B。

scp 文件名稱20191216.zip   root@服務器B的IP:/拷貝的遠程文件夾目錄www

 

三、登錄Linux服務器B的www文件夾目錄,解壓Zip包。

unzip -n -d /www 文件名稱20191216.zip

 

四、ZIP命令和UNZIP命令

一、zip 壓縮

  1,應用實例

  (1)將當前文件夾下的所有文件打包成一個×××.zip 文件

    zip  ×××.zip *

  (2)把當前文件夾下所有 .doc 的文件打包成一個 ×××.zip 文件

    zip  ×××.zip  *.doc

  (3)把一個文件 ×××.txt 和一個目錄 dir1 壓縮成為 @.zip

    zip -r @.zip ×××.txt dir1

  (4)將 /111/222/333/ 這個目錄下所有文件和文件夾打包為當前目錄下的 @.zip

    zip -r @.zip  /111/222/333

    zip -qr @.zip  /111/222/333

    備注:-q 為安靜模式,在壓縮的時候不顯示指令的執行過程

  (5)添加一個文件到@ .zip 中

    zip -g @.zip ***.doc

    備注:如果當初並沒有把 ***.doc 壓在 @.zip 里面,現在把它加進去。

    -g 選項是增加而不要重新產生的意思。

  (6)將更改過的***.doc文件添加到@.zip壓縮包中

    zip -u @.zip ***.doc

  (7)刪除除@ .zip 文件中的指定A.doc文件

    zip -d @.zip A.doc

    備注:如果當初 A.doc是壓縮在 @.zip 中的一個文件,現在這條命令把它從壓縮文件中抽走並刪掉。-d 是刪除的意思。

 

  2,主要參數

    • -f 更新現有的文件
    • -u 與 -f 參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中
    • -d 指定文件解壓縮后所要存儲的目錄
    • -m 將文件壓縮並加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中
    • -r 將指定的目錄下的所有子目錄以及文件一起處理
    • -j 不處理壓縮文件中原有的目錄路徑
    • -0 只存儲,不壓縮
    • -l 顯示壓縮文件內所包含的文件
    • -1 較快速度的壓縮
    • -9 較高質量的壓縮
    • -q 安靜模式,在壓縮的時候不顯示指令的執行過程
    • -v 執行時顯示詳細的信息
    • -c 將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換
    • -z 僅顯示壓縮文件的備注文字
    • -@ 從標准輸入中讀取名稱,一個路徑名稱用一行
    • -o 將壓縮文件內的所有文件的最新變動時間設為壓縮時候的時間
    • -x 指定不要處理.zip壓縮文件中的哪些文件
    • -i 只壓縮符合條件的文件
    • -F 嘗試修復損壞的壓縮文件
    • -D 壓縮文件內不建立目錄名稱  
    • -A 調整可執行的自動解壓縮文件
    • -J 刪除可執行文件,留下一個普通的 zip 歸檔文件
    • -T 檢查備份文件內的每個文件是否正確無誤
    • -X 解壓縮時同時回存文件原來的 UID/GID
    • -y 直接保存符號連接,而非該連接所指向的文件,本參數僅在 UNIX 之類的系統下有效
    • -e 加密
    • -n 不壓縮具有特定字尾字符串的文件
    • -h2 顯示更多幫助

 

二、unzip 解壓縮

  1,應用實例

  (1)把文件解壓到當前目錄下

    unzip test.zip

  (2)如果要把文件解壓到指定的目錄下,需要用到-d參數。

    unzip mydata.zip -d mydatabak

  (3)解壓的時候,有時候不想覆蓋已經存在的文件,那么可以加上 -n 參數

    unzip -n test.zip
    unzip -n -d /temp test.zip

  (4)將壓縮文件 test.zip 在指定目錄 tmp 下解壓縮,如果已有相同的文件存在,要求 unzip 命令覆蓋原先的文件

    unzip -o test.zip -d /tmp/

  (5)只看一下 zip 壓縮包中包含哪些文件,不進行解壓縮

    unzip -l test.zip

  (6)查看A.zip壓縮包里的文件,還包含壓縮比率
    unzip -v A.zip  【這個命令包含了(5)里面的內容,更詳細】

  (7)檢查A.zip里的文件是否損壞
    unzip -t A.zip

  (8) 把/home目錄下面wwwroot.zip里面的所有文件解壓到第一級目錄
  
  unzip -j wwwroot.zip

  (9)把/home目錄下面的abc12.zip、abc23.zip、abc34.zip同時解壓到/home目錄里面

    unzip abc*.zip

  2,主要參數

      • -c 將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換
      • -p 與 -c 參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
      • -l 顯示壓縮文件內所包含的文件
      • -f 更新現有的文件
      • -t 檢查壓縮文件是否正確,但不解壓
      • -u 與 -f 參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中
      • -z 僅顯示壓縮文件的備注文字
      • -v 執行時顯示詳細的信息。或查看壓縮文件目錄,但不解壓
      • -T 將壓縮文件內的所有文件的最新變動時間設為解壓縮時候的時間
      • -x 指定不要處理 .zip 壓縮文件中的哪些文件
      • -d 指定文件解壓縮后所要存儲的目錄
      • -n 解壓縮時不要覆蓋原有的文件
      • -q 安靜模式,執行時不顯示任何信息
      • -o 不必先詢問用戶,unzip 執行后覆蓋原有文件
      • -a 對文本文件進行必要的字符轉換
      • -j 不處理壓縮文件中原有的目錄路徑
      • -aa 把所有的文件目錄當作文本處理
      • -U use escapes for all non-ASCII Unicode
      • -UU 忽略 Unicode 編碼字符
      • -C 壓縮文件中的文件名稱區分大小寫
      • -L 將壓縮文件中的全部文件名改為小寫
      • -X 解壓縮時同時回存文件原來的 UID/GID
      • -V 保留 VMS 的文件版本信息
      • -K 保留文件的 setuid/setgid/tacky 屬性
      • -M 將輸出結果送到 more 程序處理
      • -O 指定字符編碼為 DOS,Windows 和 OS/2
      • -I 指定字符編碼為 UNIX

 

五、SCP的命令

1、從本地復制到遠程

命令格式:

scp local_file remote_username@remote_ip:remote_folder 
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file 

 

  • 第1,2個指定了用戶名,命令執行后需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名;
  • 第3,4個沒有指定用戶名,命令執行后需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名;

應用實例:

scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3 

復制目錄命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 
  • 第1個指定了用戶名,命令執行后需要再輸入密碼;
  • 第2個沒有指定用戶名,命令執行后需要輸入用戶名和密碼;

應用實例:

scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ 
scp -r /home/space/music/ www.runoob.com:/home/root/others/ 

上面命令將本地 music 目錄復制到遠程 others 目錄下。

2、從遠程復制到本地

從遠程復制到本地,只要將從本地復制到遠程的命令的后2個參數調換順序即可,如下實例

應用實例:

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/

說明

1.如果遠程服務器防火牆有為scp命令設置了指定的端口,我們需要使用 -P 參數來設置命令的端口號,命令格式如下:

#scp 命令使用端口號 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

2.使用scp命令要確保使用的用戶具有可讀取遠程服務器相應文件的權限,否則scp命令是無法起作用的。


免責聲明!

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



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