Tarは、複数のファイルやフォルダのアーカイブを1つのアーカイブファイルに作成するためのオペレーティングシステムのようなUnixやLinuxで最も広く使用されているコマンドであり、そのアーカイブファイルは<を使用してさらに圧縮できます。 strong> gzip およびbzip2 テクニック。つまり、tarコマンドを使用して、複数のファイルとディレクトリを1つのtarまたはアーカイブファイルにアーカイブし、後でファイルとディレクトリをtar圧縮ファイルから抽出してバックアップをとることができます。
この記事では、17の便利な例を使用してLinuxtarコマンドについて説明します
tarコマンドの構文:
#tar
tarコマンドで一般的に使用されるオプションのいくつかを以下に示します:
注: tarコマンドオプションのハイフン(–)はオプションです。
例1)tarアーカイブファイルを作成する
/etcディレクトリのtarファイルと「/root/anaconda-ks.cfg」ファイルを作成しましょう。
[[email protected] ~]# tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg
上記のコマンドは、「 myarchive」という名前のtarファイルを作成します 現在のフォルダ内の」。 tarファイルには、 / etcのすべてのファイルとディレクトリが含まれています フォルダとanaconda-ks.cfg ファイル。
tarコマンドで「-c ‘オプションでtarファイルを作成するように指定します。‘ -v’ 詳細出力と「-f」に使用されます オプションは、アーカイブファイル名を指定するために使用されます。
[[email protected] ~]# ls -l myarchive.tar -rw-r--r--. 1 root root 22947840 Sep 7 00:24 myarchive.tar [[email protected] ~]#
例2)アーカイブファイルの内容を一覧表示する
「–t」を使用する tarコマンドの‘オプションを使用すると、tarファイルのコンテンツを抽出せずに表示できます。
[[email protected] ~]# tar -tvf myarchive.tar
tarファイルから特定のファイルまたはディレクトリを一覧表示します。以下の例では、「anaconda-ks.cfg」ファイルがtarファイルにあるかどうかを確認しようとしています。
[[email protected] ~]# tar -tvf myarchive.tar root/anaconda-ks.cfg -rw------- root/root 953 2016-08-24 01:33 root/anaconda-ks.cfg [[email protected] ~]#
例3)アーカイブの最後にファイルを追加または追加する
‘ -r tarコマンドの‘オプションは、既存のtarファイルにファイルを追加または追加するために使用されます。 「data.tar」に/etc/fstabファイルを追加しましょう ‘
[[email protected] ~]# tar -rvf data.tar /etc/fstab
注: 圧縮されたtarファイルでは、ファイルまたはディレクトリを追加できません。
例4)アーカイブファイルからファイルとディレクトリを抽出する
‘ -x ‘オプションは、tarアーカイブファイルからファイルとディレクトリを抽出するために使用されます。上記で作成したtarファイルの内容を抽出してみましょう。
[[email protected] ~]# tar -xvf myarchive.tar
上記のコマンドは、現在の作業ディレクトリにあるmyarchivetarファイルのすべてのファイルとディレクトリを抽出します。
例5)tarアーカイブファイルを特定のフォルダーに抽出します
tarファイルを特定のフォルダまたはディレクトリに抽出する場合は、「 -C」を使用します ‘オプションの後にフォルダのパスが続きます。例を以下に示します
[[email protected] ~]# tar -xvf myarchive.tar -C /tmp/
例6)tarファイルから特定のファイルまたはディレクトリを抽出します
/tmpフォルダーの下のtarファイルからanaconda-ks.cfgファイルのみを抽出するとします。
構文:
#tar –xvf {tar-file} {file-to-be-extracted} -C {path-where-to-extract}
[[email protected] tmp]# tar -xvf /root/myarchive.tar root/anaconda-ks.cfg -C /tmp/ root/anaconda-ks.cfg [[email protected] tmp]# ls -l /tmp/root/anaconda-ks.cfg -rw-------. 1 root root 953 Aug 24 01:33 /tmp/root/anaconda-ks.cfg [[email protected] tmp]#
例7)アーカイブファイル(gzip)の作成と圧縮
/etcおよび/optフォルダーのtarファイルを作成し、gzipツールを使用して圧縮したいとします。これは、「 -z」を使用して実現できます tarコマンドの‘オプション。このようなtarファイルの拡張子はtar.gzになります。 または.tgz
[[email protected] ~]# tar -zcpvf myarchive.tar.gz /etc/ /opt/ Or [[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/
例8)アーカイブファイル(bzip2)を作成して圧縮する
/etcおよび/optフォルダーの圧縮(bzip2)tarファイルを作成するとします。これは、オプション( -j )を使用して実現できます。 )tarコマンドで。このようなtarファイルの拡張子は tar.bz2のいずれかになります。 または.tbz
[[email protected] ~]# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/ Or [[email protected] ~]# tar -jcpvf myarchive.tbz2 /etc/ /opt/
例9)tarファイルの作成中に特定のファイルまたはタイプを除外する
「–除外」を使用する tarコマンドの「」オプションを使用すると、tarファイルの作成時に特定のファイルまたはファイルタイプを除外できます。圧縮されたtarファイルを作成するときにhtmlのファイルタイプを除外したいとします。
[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.html
例10)tar.gzまたは.tgzファイルの内容を一覧表示する
拡張子がtar.gzまたは.tgzのtarファイルの内容は、オプション「 -t」を使用して表示されます。 ’。例を以下に示します:
[[email protected] ~]# tar -tvf myarchive.tgz | more ............................................. drwxr-xr-x root/root 0 2016-09-07 08:41 etc/ -rw-r--r-- root/root 541 2016-08-24 01:23 etc/fstab -rw------- root/root 0 2016-08-24 01:23 etc/crypttab lrwxrwxrwx root/root 0 2016-08-24 01:23 etc/mtab -> /proc/self/mounts -rw-r--r-- root/root 149 2016-09-07 08:41 etc/resolv.conf drwxr-xr-x root/root 0 2016-09-06 03:55 etc/pki/ drwxr-xr-x root/root 0 2016-09-06 03:15 etc/pki/rpm-gpg/ ..........................................................
例11)tar.bz2または.tbz2ファイルのコンテンツを一覧表示する
拡張子が.bz2または.tbz2のtarファイルのコンテンツは、オプション「-t」を使用して表示されます。例を以下に示します:
[[email protected] ~]# tar -tvf myarchive.tbz2 | more ........................................................ rwxr-xr-x root/root 0 2016-08-24 01:25 etc/pki/java/ drwxr-xr-x root/root 0 2016-09-06 02:54 etc/pki/nssdb/ -rw-r--r-- root/root 65536 2010-01-12 15:09 etc/pki/nssdb/cert8.db -rw-r--r-- root/root 9216 2016-09-06 02:54 etc/pki/nssdb/cert9.db -rw-r--r-- root/root 16384 2010-01-12 16:21 etc/pki/nssdb/key3.db -rw-r--r-- root/root 11264 2016-09-06 02:54 etc/pki/nssdb/key4.db -rw-r--r-- root/root 451 2015-10-21 09:42 etc/pki/nssdb/pkcs11.txt -rw-r--r-- root/root 16384 2010-01-12 15:45 etc/pki/nssdb/secmod.db drwxr-xr-x root/root 0 2016-08-24 01:26 etc/pki/CA/ drwxr-xr-x root/root 0 2015-06-29 08:48 etc/pki/CA/certs/ drwxr-xr-x root/root 0 2015-06-29 08:48 etc/pki/CA/crl/ drwxr-xr-x root/root 0 2015-06-29 08:48 etc/pki/CA/newcerts/ drwx------ root/root 0 2015-06-29 08:48 etc/pki/CA/private/ drwx------ root/root 0 2015-11-20 06:34 etc/pki/rsyslog/ drwxr-xr-x root/root 0 2016-09-06 03:44 etc/pki/pulp/ ..............................................................
例12)圧縮されたアーカイブファイル(tar.gzまたは.tgz)を抽出します
拡張子がtar.gzまたは.tgzのtarファイルは、オプション「- x」を使用して抽出または解凍されます。 」および「-z ’。例を以下に示します:
[[email protected] ~]# tar -zxpvf myarchive.tgz -C /tmp/
上記のコマンドは、/tmpフォルダーの下にtarファイルを抽出します。
注: これで、days tarコマンドは抽出中に圧縮ファイルタイプを自動的に処理します。つまり、tarコマンドで圧縮タイプを指定することはオプションです。例を以下に示します:
[[email protected] ~]# tar -xpvf myarchive.tgz -C /tmp/
例13)tar.bz2または.tbz2ファイルを抽出または解凍します
拡張子がtar.bz2または.tbz2のtarファイルは、オプション「 -j」で抽出されます 」および「-x ’。例を以下に示します:
[[email protected] ~]# tar -jxpvf myarchive.tbz2 -C /tmp/
または
[[email protected] ~]# tar xpvf myarchive.tbz2 -C /tmp/
例14)tarコマンドを使用したバックアップのスケジュール
毎日バックアップ目的で特定のファイルとディレクトリのtarファイルを作成する必要があるリアルタイムのシナリオがいくつかあります。 / optフォルダー全体のバックアップを毎日作成する必要があるとしましょう。これは、tarコマンドのcronジョブを作成することで実現できます。例を以下に示します:
[[email protected] ~]# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/
上記のコマンドのcronジョブを作成します。
例15)-Tおよび-Xオプションを使用してアーカイブファイルを作成および圧縮します
tarコマンドでファイルから入力を取得するリアルタイムのシナリオがいくつかあり、そのファイルはアーカイブおよび圧縮されるファイルとディレクトリのパスで構成されます。アーカイブから除外したいファイルがある場合があります。入力ファイルに記載されています。
tarコマンドでは、入力ファイルは「 -T」の後に指定されます ’オプションと除外リストで構成されるファイルは‘ -Xの後に指定されます ’オプション。
/ etcのようなディレクトリをアーカイブして圧縮したいとします。 、 / opt および/home ファイル「/etc / sysconfig/kdump」を除外したい および「/etc / sysconfig / foreman ‘、テキストファイルを作成します‘ / root / tar-include 」と「/root / tar-exclude ’と、次の内容をそれぞれのファイルに入れます。
[[email protected] ~]# cat /root/tar-include /etc /opt /home [[email protected] ~]# [[email protected] ~]# cat /root/tar-exclude /etc/sysconfig/kdump /etc/sysconfig/foreman [[email protected] ~]#
次に、以下のコマンドを実行して、アーカイブファイルを作成および圧縮します。
# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude
例16).tar、.tgz、および.tbz2ファイルのサイズを表示する
以下のコマンドを使用して、tarおよび圧縮されたtarファイルのサイズを表示します。
[[email protected] ~]# tar -czf - data.tar | wc -c 427 [[email protected] ~]# tar -czf - mybackup-2016-09-09.tgz | wc -c 37956009 [[email protected] ~]# tar -czf - myarchive.tbz2 | wc -c 30835317 [[email protected] ~]#
例17)大きなtarファイルを小さなファイルに分割する
Linuxのようなオペレーティングシステムでは、splitコマンドを使用して、大きなファイルを小さなファイルに分割または分割します。大きなtarファイルは、splitコマンドを使用して小さな部分に分割することもできます。
「mybackup-2016-09-09.tgz」を分割したいとします。 ‘各6MBの小さな部分にファイルします。
構文:split -b
[[email protected] ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts
上記のコマンドは、mybackup圧縮tarファイルを現在の作業ディレクトリでそれぞれサイズ6 MBの小さなファイルに分割し、分割ファイル名はmybackup-partsaa…mybackup-partsagから始まります。アルファベットの代わりに数字を追加する場合は、上記の分割コマンドで「-d」オプションを使用してください。
[[email protected] ~]# ls -l mybackup-parts* -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaa -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsab -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsac -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsad -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsae -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaf -rw-r--r--. 1 root root 637219 Sep 10 03:05 mybackup-partsag [[email protected] ~]#
これで、これらのファイルをネットワーク経由で別のサーバーに移動し、次に説明するコマンドを使用して、すべてのファイルを1つのtar圧縮ファイルにマージできます。
[[email protected] ~]# cat mybackup-partsa* > mybackup-2016-09-09.tgz [[email protected] ~]#
以上です。tarコマンドのさまざまな例が気に入っていただければ幸いです。フィードバックやコメントを共有してください。
また読む :Crontabを使用してLinuxでタスクを自動化する方法
また読む: Linuxでの9つの「diff」コマンド例