LoginSignup
1
0

More than 1 year has passed since last update.

Linux tar,圧縮展開コマンドについて(自分用メモ

Posted at

●cp [オプション] コピー元のファイル(ディレクトリ) コピー先ファイル(ディレクトリ)

オプション
-f コピー先の既存ファイルやディレクトリが上書きできない場合、削除してからコピーする
-i 同名のファイルやディレクトリがある場合、上書きするかどうか問い合わせる
-p ファイルの属性(パーミッション、所有者、更新時間など)を保持したままコピー(所有者情報を保持できるのはrootユーザのみ)
-r|-R 指定したディレクトリ配下を全てコピー

●ls [オプション] [ディレクトリ名またはファイル名]

オプション
-a 隠しファイル(.ファイル)を表示
-A 「-a」と同じだが、カレントディレクトリと親ディレクトリは表示しない
-d 指定したディレクトリの情報を表示
-F名前の後ろのファイルタイプを表示
-i inode番号を付けて表示
-l 詳細情報の表示
-Rサブディレクトリの内容も再起的に表示

●rm [オプション] ファイルまたはディレクトリ名

オプション
-f 削除を問い合わせない
-i 削除を問い合わせる
-r|-R ディレクトリ全体を再起的に削除

●mkdir [オプション] ディレクトリ名

オプション
-m アクセス権 指定したアクセス権でディレクトリを作成
-p 引数に階層のあるディレクトリを指定した場合、存在しない中間ディレクトリも同時に作成

※rmdirは空のディレクトリのみを削除することができるが、-rオプションはありません。
※rmdirの「-p」はディレクトリ名に階層を指定した場合、全ての階層のディレクトリを同時に削除するオプションですが、空のディレクトリしか削除できません。

●tar [オプション] [ファイルまたはディレクトリ名]

オプション
-c 新しいアーカイブを作成
-x アーカイブからファイルを展開
-t アーカイブから内容を一覧表示
-f アーカイブファイル名を指定
-v 処理の詳細情報を表示
-z gzipを通して圧縮/展開
-j bzip2を通して圧縮/展開
-J xzを通して圧縮/展開

※tarコマンドではオプションの「-」は省略できます。オプションは順不同でも動作しますが、慣習的にはc, x, tのような動作オプションを先頭に指定します。

・bzip2よりも圧縮率が高い圧縮形式として、LZMA2圧縮アルゴリズムを採用したxzフォーマットがあります。xzはbzip2よりも多くのCPU/メモリを要求しますが、その分圧縮率が高く、また展開速度はbzip2より短いためファイル配布時の圧縮形式として採用されることが増えています。Linuxカーネルソースの配布形式としても採用されています。

●xz [ オプション ] 処理対象ファイル名

オプション
-d、—decompress 圧縮ファイルの展開
-k、—keep 圧縮、展開処理後に元のファイルを削除しない
-l、—list 圧縮ファイルの情報を表示する

オプション未指定の場合は、展開後元ファイルは削除されます。

例)アーカイブファイル「test.tar.xz」をカレントディレクトリに展開したい

・tar xvJf test.tar.xz
・tar xfJ test.tar.xz

または、
「test.tar.xz」は、拡張子が「tar.xz」であることから、複数のファイルがtarコマンドでアーカイブされた後、xzで圧縮されている事を示しています。 そのため、「test.tar.xz」ファイルは以下のように展開することも出来ます。

$ xz -dc test.tar.xz | tar xfv -

「test.tar.xz」ファイルは、tarでアーカイブしたファイル(test.tar)をxz形式で圧縮しています。はじめにxzコマンドで解凍し、解凍したファイルをtarコマンドに渡すことでファイルを展開することが出来ます。
xzコマンドの「-d」は圧縮ファイルの解凍、「-c」は標準出力に出力するオプションです。この場合、どちらも必須のオプションです。

標準出力に出力した内容(test.tarファイル)をパイプ(|)を使用して、tarコマンドの標準入力に渡しています。tarコマンドに渡された内容は既に解凍済ですので、「-J」オプションは不要です。
tarコマンドでのファイル名には「-」を指定します。これは標準入力からファイル名を受け取る事を意味します。

●dd [オプション]

オプション
if=入力ファイル 入力側ファイル(デバイス)を指定
of=出力ファイル 出力側ファイル(デバイス)を指定
bs=バイト数 入出力のブロックサイズ(一度に読み書きするバイト数)を指定。デフォルトは512バイト
count=回数 入力ファイルから出力ファイルへブロックをコピーする回数を指定

ddコマンドはデータをコピーするコマンド。
cpコマンドと異なり、ブロックサイズ(bsオプション)とそのブロックをコピーする回数(countオプション)を指定してファイルを作成することができます。
入力ファイル(ifオプション)に「/dev/zero」を指定すると全データがnullであるファイルが作成されます。「/dev/zero」はデータの上書きや、ddコマンドで内容の無い特定サイズのファイルを生成したい場合などに使用します。

例)「testfile」という5MBのファイルを作成する場合。(ブロックサイズは1MB)

$ dd if=/dev/zero of=testfile bs=1M count=5

●gzip [オプション] [ファイル名]

オプション
-d 圧縮ファイルを展開
-c 元ファイルを残して標準出力に出力
-r ディレクトリ内の全てのファイルを再起的にそれぞれ圧縮

●bzip2 [オプション] [ファイル名]

オプション
-d 圧縮ファイルを展開
-c 元ファイルを残して標準出力に出力

元ファイル残してファイルを圧縮するには「-c」オプションとリダイレクトの「>」を利用します。リダイレクトの「>」は標準出力の出力先を画面からファイルに切り替えます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0