入門UNIXシェルプログラミング

入門UNIXシェルプログラミング改訂第2版を最近読み始めたので、メモしながら読み進める。 基本 シェルプログラムの先頭には #!/bin/shを書く。 汎用性を考えると、Bシェルで書く必要がある。 シェルプログラムには、実行権限(xフラグ)を与える コメント #はコメント、\でコマンド中の改行が可能。 ワイルドカードで使える文字 * 文字列全部 ? 1文字 [...] [ ]の中に含まれている文字のどれがひとつ [!...] [ ]に含まれない文字 クォーテーション ここでいうクォーテーションは、スクリプト内での文字の機能を無視させるという意味。 \(バックスラッシュ)でその後ろの1文字をクオート。'(シングルクォート)で囲む。"(ダブルクォート)で囲む。ただし、ダブルクォートで囲んだ場合、その文字列に含まれる$、`(バッククォート)、\の文字をエスケープできない。 $ FILE=foobar $ echo "Cannot remove $FILE" Cannot remove foobar $ echo "Today is `date`" Today is 2017年 10月 4日 水曜日 23時19分14秒 JST ...

tar command options

tarコマンドのオプションを覚えられないのは、そもそもtarを「ファイルやフォルダの圧縮と解凍ができるコマンドだ」と覚えていたからだった。 tar そもそもtarは、ディレクトリをアーカイブするためのコマンド。圧縮、解凍はオプションになっている。tape archiveの略であることからも、アーカイブ(書庫化というらしい)が主な機能だとわかる。 tarコマンド 基本的は以下の通り。 tar [bundled-flags <args>] [<file> | <pattern> ...] tarの主なオプション 自分はMacで使うことが多いので、Macのman tarで出てきたオプションを書いていく。 c アーカイブを作成する x アーカイブを展開する t アーカイブの内容を表示する f 作成、展開するファイル名を指定する tarの圧縮に関するオプション アーカイブを圧縮、解凍するときに付加するオプション(なおMacだとつけなくても解凍はできそう) z gzipで圧縮、解凍を行う y または j bzip2で圧縮、解凍を行う(圧縮効率が高いが時間がかかるらしい) Z compressで圧縮、解凍を行う その他tarの機能 アーカイブにファイルを追加したり、アーカイブからファイルを削除したりもできるらしい。 r アーカイブにファイルを追加する u タイムスタンプの新しいファイルをアーカイブに追加する アーカイブというニュアンスからも、ローカルにあるファイルを外に出すためのコマンドだった。最近だと容量の大きいストレージが多くなって、わざわざアーカイブする必要もなくなった。このコマンドを使う機会も、やはり少ない。 自分はしばしばscpコマンドでファイルを一気に送るためにtarにすることがあった。今後も使うことはあるはずなので、覚えておきたい。...