shellスクリプト(6)B計画

4010 ワード

1、tarでアーカイブ
tarは、複数のファイルとフォルダを単一のファイルとして保存するとともに、所有者、権限などのすべてのファイル属性を保持することができます.すべてのUnixオペレーティングシステムにはtarコマンドがデフォルトで含まれています
tar -cf output.tar [SOURCES] //-c(create)      
eg: tar -cf output.tar file1 file2 file3 folder1 ……

パラメータ
説明
-t
アーカイブに含まれるファイルのリスト
-v/-vv
冗長モード(verbose)は、ほとんどのコマンドで端末に詳細を出力します.
-f
ファイル名は-fの後に続く必要があります.-fはオプションの最後のものである必要があります.-f(specify filename)指定ファイル
-r
アーカイブへのファイルの追加
-x
アーカイブからファイルまたはフォルダを抽出
-C
抽出されたディレクトリの指定
-A
2つのアーカイブを接続
-u
タイムスタンプによるドキュメントの更新
-delete
アーカイブからファイルを削除
-a/--auto-compress
tarは拡張子に基づいて自動的に圧縮処理を行います(mac端末には-aパラメータはありません)
--exclude/-X
アーカイブからファイルの一部を除外
-totals
印刷アーカイブの合計バイト数
//-t             
tar -tf archive.tar
file1
file2

//-v/-vv    (verbose),        ,              
//        -f  ,  -f           。-f(specify filename)    
tar -tvf archive.tar

//          
tar -rf original.tar new_file

//               
//x(exact)  ,-C        
tar -xf archive.tar -C my_directory

//        
//mac    A    
tar -Af file1.tar file2.tar

//              
//              ,           ,
//      -u    :                  
tar -uf archive.tar filea

//          
tar -f archive.tar --delete file1 file2 ……
tar --delete --file archive.tar [FILE LIST]

//  tar    
//tar             ,       。
//      ,                           ,
//              。
//  -a  --auto-compress  tar              (mac    -a  )。
tar -acvf archive.tar.gz filea fileb filec

//          
//     txt  ,            ,    shell      
tar -cf archive.tar * --exclude “*txt”
//              list     -X          
tar -cf archive.tar * -X list 

//         
tar -cf archive.tar * --exclude “\*txt” --totoals

2、gzipでデータを圧縮する
gzipは、ディレクトリと複数のファイルをアーカイブできない単一のファイルまたはデータストリームのみを圧縮できます.そのため、tarアーカイブファイルを作成してからgzipで圧縮する必要があります.
//    
gzip filename
//     
gunzip filename.gz

パラメータ
説明
-l
圧縮ファイルのプロパティ情報のリスト
--fast/--best
圧縮レベルの指定
//           
gzip -l text.txt.gz

//      
gzip --fast filename
gzip --best filename

//      
gzip archive.tar

//    ,    gzip    
zcat test.gz

//   
//   9    ,1       ,        ;9       ,        
gzip -5 test.img

gzip,bzip 2およびlzmaの3つの比較
を選択します.
あっしゅくひ
あっしゅく
解凍
gzip
最小
gzip filename
gunzip filename
bzip2
gzipよりも圧縮比が高い
bzip2 filename
bunzip2 filename
lzma
gzip,bzip 2よりも高い圧縮比ですが、圧縮速度は少し遅いです.
lzma filename
unlzma filename
3、zipによるアーカイブと圧縮
Linuxシステムでは、gzipやbzip 2ほど広く使われていませんが、インターネット上のファイルは通常このフォーマットを採用しており、macシステムでは圧縮ファイルはこのフォーマットを採用しています.ほとんどのアーカイブ、圧縮ツールと同様ですが、zipはアーカイブが完了した後もソースファイルを削除しません.これはluma、gzip、bzip 2とは異なります.最も重要なのは、zipはtarに似ているにもかかわらず、アーカイブしたり圧縮したりすることができ、tarだけでは圧縮操作ができないことです.
//       zip    
zip archive_name.zip [SOURCE FILES/DIRS]
zip file.zip file

//            
zip -r archive.zip folder1 folder2

// zip       
unzip file.zip

パラメータ
説明
-u
圧縮ファイルの更新内容の更新
-d
圧縮ファイルからコンテンツを削除
-l
圧縮ファイルの内容のリスト
//           
zip file.zip -u newfile

//          
zip -d file.zip file.txt

//         
unzip -l archive.zip

4、より迅速なアーカイブツールpbzip 2
pbzip 2はマルチスレッドでアーカイブできるので、速度が速くなります.
5、rsyncを使用してシステムスナップショットをバックアップする
これまでcpコマンドでローカルコンピュータとリモートコンピュータを同期させたファイルrsyncコマンドでもできますrsyncコマンドはSSHでリモートホストに接続するので、使用する必要がありますuser@hostこの形式では、userがユーザ名を表し、hostがリモートホストのIPアドレスまたはホスト名を表すリモートホストのアドレスを設定する.PATHは、データをコピーする必要があるリモートホスト上のパスを指定します.
                 
// test       (   test  ) backups   
rsync -av /home/test/ /home/backups

// test     (  test  )   backups   
rsync -av /home/test /home/backups

// test     (   test  )   backups   
rsync -av /home/test/ /home/backups/ 

// test     (  test  )   backups   
rsync -av /home/test /home/backups/

   /  ,       ;  /  ,          

拡張
cronttab:タイミングタスクを開く