一、登錄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命令是無法起作用的。