1. 程式人生 > >Linux基礎知識(檔案在系統中的傳輸,歸檔及壓縮)

Linux基礎知識(檔案在系統中的傳輸,歸檔及壓縮)

一、檔案 在系統中的傳輸(scp和rsync命令)

一. scp與rsync的區別

  1. scp傳輸速度較慢,傳輸過程是一種資料的重新建立,連同屬性一塊建立。
  2. rsync傳輸速度快,傳輸過程是資料的同步,是一種映象複製的過程,並非所有檔案都可以資料同步,可以資料同步的檔案,映象過去也會改變屬性,若要不改變屬性需要加命令。

二. rsync 傳輸
說明:rsync是一種映象複製的過程,速度快,但預設會忽略檔案屬性。
rsync -r 同步目錄
rsync -p 同步許可權
rsync -o 同步檔案所有人
rsync -g 同步檔案所有組
rsync -l 同步連結
rsync -t 同步檔案時間戳
rsync -D 同步裝置檔案

實驗如下:
第一:先建立環境(兩臺虛擬機器)
主機:desktop------ ip 172.25.254.150
主機: server-------- ip 172.25.254.250

  1. 在server主機中先cd /mnt 進入mnt 後touch westos{1…5}建立檔案,並檢視ll
    在這裡插入圖片描述
  2. chown student.student * 修改檔案所有人和所有組都為student。
    在這裡插入圖片描述
  3. chmod 777 westos* 更改wenstos所有檔案的許可權為滿許可權
    在這裡插入圖片描述
  4. ln -s /mnt/westos1 /mnt/file 建立file連結
    在這裡插入圖片描述
    實驗:
  5. rsync -r /mnt/
    [email protected]
    :/mnt/ 資料同步/mnt下的
    檔案到[email protected] 使用者的/mnt/下。
    在這裡插入圖片描述
    [email protected]使用者檢視ll
    在這裡插入圖片描述
  6. rsync -rp /mnt/ [email protected]:/mnt/ 資料同步/mnt下的
    檔案到[email protected] 使用者的/mnt/下,並且同步許可權。
    在這裡插入圖片描述
    在這裡插入圖片描述
  7. rsync -rpo /mnt/ [email protected]:/mnt/ 資料同步/mnt下的
    檔案到[email protected] 使用者的/mnt/下,並且同步許可權和所有人。
    在這裡插入圖片描述

    在這裡插入圖片描述
  8. rsync -rpog /mnt/ [email protected]:/mnt/ 資料同步/mnt下的
    檔案到[email protected] 使用者的/mnt/下,並且同步許可權和所有人和所有組。
    在這裡插入圖片描述
    在這裡插入圖片描述
  9. rsync -rpogt /mnt/ [email protected]:/mnt/ 資料同步/mnt下的
    檔案到[email protected] 使用者的/mnt/下,並且同步許可權和所有人和所有組和時間。
    在這裡插入圖片描述
    在這裡插入圖片描述
  10. rsync -rpogtl /mnt/ [email protected]:/mnt/ 資料同步/mnt下的
    檔案到[email protected] 使用者的/mnt/下,並且同步許可權和所有人和所有組和時間和連結。
    在這裡插入圖片描述
    在/mnt下檢視ll
    在這裡插入圖片描述
  11. 檢視/dev/pts字元裝置檔案
    在這裡插入圖片描述
    執行 rsync -r /dev/pts [email protected]:/mnt/命令時因為沒有加-D會直接跳過,不會進行傳輸。
    在這裡插入圖片描述
    rsync -Dr /dev/pts/ [email protected]:/mnt/ 資料同步/dev/pts/下的
    檔案到[email protected] 使用者的/mnt/下。加-D就會傳輸成功
    在這裡插入圖片描述
    在這裡插入圖片描述

三、檔案歸檔,就是把多個檔案變成一個歸檔檔案

  1. tar 命令
    tar -c 建立
    tar -v 顯示過程
    tar -f 指定歸檔檔名稱
    tar -x 解檔(取出歸檔檔案中的所有內容)
    tar -t 檢視歸檔檔案內容
    tar -r 新增檔案到歸檔檔案中
    tar --get 解檔指定檔案
    tar --delete 刪除歸檔中的指定檔案
    tar -C 指定解檔目錄

  2. tar cf etc.tar /etc /mnt 建立一個歸檔檔案etc.tar將/etc和/mnt裝在歸檔檔案中。(-c 建立)(-f指定歸檔檔名稱)
    在這裡插入圖片描述
    tar tf etc.tar 檢視歸檔檔案內容 (t檢視內容)
    在這裡插入圖片描述
    tar -rf etc.tar file 新增file檔案到歸檔檔案中(-r新增)
    在這裡插入圖片描述
    tar -xf etc.tar 解檔(取出歸檔檔案的所有內容)(-x 解檔)
    在這裡插入圖片描述
    tar -f etc.tar --get file 解檔file(–get 解檔指定檔案)
    在這裡插入圖片描述
    tar -f etc.tar --delete mnt 刪除歸檔檔案中的mnt (–delete 刪除歸檔檔案中的指定檔案)
    在這裡插入圖片描述
    tar -xf etc.tar -C /mnt/ 將歸檔檔案中的所有檔案全部解檔到/mnt目錄下(-C 指定解檔目錄)
    在這裡插入圖片描述

四、檔案壓縮的四種格式以及解壓:

  1. zip 壓縮
    zip -r etc.tar.zip etc.tar 壓縮成zip格式
    unzip etc.tar.zip 解壓zip格式壓縮包
    在這裡插入圖片描述
  2. gz 壓縮
    gzip etc.tar 壓縮成gz格式
    gunzip etc.tar.gz 解壓gz格式壓縮包
    tar zcf etc.tar.gz /etc 把檔案歸檔為tar並壓縮成gz格式
    tar zxf etc.tar.gz 解壓並解檔gz格式壓縮包
    在這裡插入圖片描述
  3. bz2 壓縮
    bzip2 etc.tar 壓縮成bz2格式
    bunzip2 etc.tar.bz2 解壓bz2格式壓縮包
    tar jcf etc.tar.bz2 /etc 把檔案歸檔為tar並壓縮成bz2格式
    tar jxf etc.tar.bz2 解壓並解檔bz2格式壓縮包
    在這裡插入圖片描述
  4. xz 壓縮
    xz etc.tar 壓縮成xz格式
    unxz etc.tar.xz 解壓xz格式壓縮包
    tar Jcf etc.tar.xz /etc 把檔案歸檔為tar並壓縮成xz格式
    tar Jxf etc.tar.xz 解壓並解檔xz格式壓縮包
    在這裡插入圖片描述
  5. 建立並壓縮
    建立並壓縮g-------->gz------> tar zcf etc.tar.gz /etc
    建立並壓縮j-------->bz2------> tar jcf etc.tar.bz2 /etc
    建立並壓縮J-------->xz-------> tar Jcf etc.tar.xz /etc
    du -sh etc.tar 檢視壓縮大小
    在這裡插入圖片描述
    解壓:
    tar zxf etc.tar.gz 解壓 gz
    tar jxf etc.tar.bz2 解壓 bz2
    tar Jxf etc.tar.xz解壓 xz
    在這裡插入圖片描述
  6. file *
    在這裡插入圖片描述