tarコマンドでファイル操作
●tarコマンドで作成したアーカイブの内容を表示
tarコマンドで作成したアーカイブの内容を表示するには、「t」オプションを付けてtarコマンドを実行します。
ファイルとして保存してあるのであれば、「f」オプションを併用します。
「v」オプションを使用しない場合は、アーカイブに含まれるファイル名のみが表示され、使用した場合は、それぞれのファイルの属性などの詳細情報が表示されます。
※tarコマンドはオプション指定の「-」(ハイフン)を省略できます。
[root@Lion ~]# tar tf country_list.tgz ←アーカイブファイルの内容(ファイル名のみ)を表示 country_list.txt country_list_001.txt country_list_002.txt country_list_003.txt[root@Lion ~]# tar tvf country_list.tgz ←アーカイブファイルの内容(詳細情報表示)表示 -rw-rw-r-- root/root 2000 2020-09-22 07:59 country_list.txt -rw-rw-r-- root/root 2000 2020-09-22 08:09 country_list_001.txt -rw-rw-r-- root/root 2000 2020-09-25 05:50 country_list_002.txt -rw-rw-r-- root/root 2001 2020-09-26 07:09 country_list_003.txt |
●Bzip2形式で圧縮されたアーカイブの内容を表示する(詳細情報表示)
[root@Lion ~]# tar tjvf country_list.tbz2 ←Bzip2形式アーカイブファイルの内容を表示します。 -rw-rw-r-- root/root 2000 2020-09-22 07:59 country_list.txt -rw-rw-r-- root/root 2000 2020-09-22 08:09 country_list_001.txt -rw-rw-r-- root/root 2000 2020-09-25 05:50 country_list_002.txt -rw-rw-r-- root/root 2001 2020-09-26 07:09 country_list_003.tx |
Bzip2形式で圧縮されたアーカイブの内容を表示するには、オプション「j」を指定して実行
●tarコマンドでディレクトリをアーカイブファイルにする
tarコマンドでファイルをアーカイブする際、大量のファイルをアーカイブするのにファイル名すべてを指定するのは大変です。そのような場合、特定のディレクトリにアーカイブしたいファイルをまとめ、そのディレクトリをアーカイブすると便利です。
ディレクトリをアーカイブするには、tarコマンドの引数にアーカイブファイル名、アーカイブしたいディレクトリ名を付けて実行します。
※アーカイブしたいディレクトリは、スペースで区切って複数指定することも可能です。
[root@Lion ~]# ls -l drwxrwxr-x 2 root root 4096 8月 28 15:18 2020 temp [root@Lion ~]# tar czvf temp.tar.gz temp/ ←tempディレクトリをアーカイブファイルにします。 temp/ temp/country_list_002.txt temp/country_list.tgz temp/country_list.txt temp/country_list.tbz2 temp/country_list_001.txt temp/country_list_002.txt [root@Lion ~]# ls -l ←アーカイブファイルを確認 drwxrwxr-x 2 root root 4096 8月 28 15:18 2020 temp -rw-rw-r-- 1 root root 5056 9月 24 07:29 2020 temp.tar.gz ←アーカイブファイルが作成されています |
●tarコマンドでアーカイブファイルを展開する
アーカイブファイルを展開するには、tarコマンドに「-x」オプションを付けて実行します。
保存対象がファイルの場合は「-f」オプションを付けます。
展開の実行結果を表示させるには、「-v」オプションを付け、
更に圧縮されている場合には、「-z」オプションも付けます。
展開後ディレクトリに、アーカイブ内に同じ名前のファイルやディレクトリが存在した場合、タイムスタンプを比較し、新しい日付のファイル、ディレクトリが残ります。
オプション「-k」を付けることで、同じファイルが存在した場合には、警告を表示して処理を中断させることも可能です。
引数にはこれらのオプションの他に、展開したいアーカイブファイル名を指定し、これらアーカイブファイルは展開後も削除されず残ります。
[root@Lion ~]# ls -l drwxrwxr-x 2 root root 4096 8月 28 15:18 2020 temp.tar.gz [root@Lion ~]# tar zxvf temp.tar.gz ←アーカイブファイルを展開 temp/ temp/country_list_002.txt temp/country_list.tgz temp/country_list.txt temp/country_list.tbz2 temp/country_list_001.txt 同名のファイルが存在する場合、警告を表示して展開を中止する [root@Lion ~]# tar zxvfk temp.tar.gz ←オプション「-k」を追加して実行 temp/ temp/country_list_002.txt tar: temp/country_list_002.txt: open 不能: ファイルが存在します temp/country_list.tgz tar: temp/country_list.tgz: open 不能: ファイルが存在します temp/country_list.txt tar: temp/country_list.txt: open 不能: ファイルが存在します temp/country_list.tbz2 tar: temp/country_list.tbz2: open 不能: ファイルが存在します temp/country_list_001.txt tar: temp/country_list_001.txt: open 不能: ファイルが存在します tar: 前のエラーにより失敗ステータスで終了します ↑同名のファイルが存在するため、警告を表示して展開を中止します。 |