- ipcsコマンド
- シェアードメモリ、セマフォ、メッセージキューの状態確認を行う
Linux::コマンド
10月1
9月14
すぐに忘れてしまうので、使用例をメモ
8月13
tarコマンド
option | 説明 |
-j | cvfjにてtar.gz2のファイルを作成可能 |
--exclude | 除外ファイルを指定可能 |
-C | 指定ディレクトリに展開 |
[使用例]
dir1とdir2を除外したアーカイブを作成
tar cvf test.tar . --exclude dir1 --exclude dir2
除外ファイルを指定してアーカイブを作成し、エラーメッセージを別途ファイルに書き出す。
tar czvplf backup.tar.gz . --exclude backup.tar.gz --exclude backup.err 2>backup.err
指定したディレクトリに展開
tar xzvf arc.tar.gz -C /xxx
指定した拡張子を持つファイルのみ展開
tar xzvf arc.tar.gz -C /xxx *.txt
root直下のファイルを取得する場合
$ cd /; pwd $ tar cvf /media/root.tar ./ --exclude ./sys --exclude ./proc --exclude ./dev --exclude "./media/*" --exclude ./var
※tarの指定は"."でなく"./"でないと「delayed from previous errors」が発生する。
zipコマンド
[圧縮]
zip <出力ファイル名.zip> <入力対象ファイル名>
カレントディレクトリを再帰的に圧縮
zip ../hoge.zip .
※ディレクトリを対象とする場合は"-r"オプションを付ける
[解凍]
unzip
[その他]
アーカイブファイルarchive.zipの内容を確認
unzip -l archive.zip
アーカイブarchive.zipから指定ファイルfileAを削除
zip -d archive.zip fileA
compress
[圧縮]
compress -v *.html #作成ファイルは、「<元ファイル名>.Z」となる。
[解凍]
uncompress <ファイル名>.Z
"tar.bz2"の解凍
bzip2 -dc <ファイル名> | tar xvf - # UNIX系のtar tar jxvf <ファイル名> # LINUX(GNU)系のtar
"gz"の解凍
$ gunzip <ファイル名>
8月12
自分がよく使う物をピックアップ。
もっと複雑な処理を行う場合はPerlのワンライナーで書く方が良いと思う。
正規表現とブロック
正規表現でマッチする行を抽出して、必要なカラムのみ表示
$ cat sample.txt id name ----+---------- 1 hoge 2 foo ※fooさんのidを知りたい場合・・・ 3 bar $ awk '/foo$/ {print $1}' sample.txt 2
第2カラムがhoge、foo、name以外で始まる行を抽出し、カンマ区切りで表示
$ awk '$2 !~ /^hoge|^foo|^name/{print $1","$2}' sample.txt | grep -v '^-'
3,bar
awkで変数を使用する
正規表現の検索条件に変数を指定する場合
- シングルクォーテーションを一度抜ける方法
$ _man=foo $ awk '/'${_man}'$/ {print $1}' sample.txt 2
- シングルクォートからダブルクォートに変更する方法(ただし、print後の$をエスケープする必要)
awk "/${_man}$/ {print \$1}" sample.txt 2
awk内部の変数として利用する場合
"-v"オプションを指定宣言
$ free -m total used free shared buffers cached Mem: 976 961 15 0 12 748 -/+ buffers/cache: 200 776 ※この行のusedカラムを取って計算 Swap: 999 19 980 ※実メモリ使用率を%表記で算出 $ free -m | awk -v _total='976' '/^-\/+/ {print int($3 / _total * 100) }' 20
関数
[int]
小数点以下切り捨て
list="0.1:5.6:9.22" echo $list | awk -F\: '{print int($1),int($2), int($3)}' ==実行結果== 0 5 9
[substr]
文字列の抽出
str="TestMessage" echo $str | awk '{print substr($1, 1, 4)}' echo $str | awk '{print substr($1, 2, 5)}' echo $str | awk '{print substr($1,5)}' ==実行結果== Test estMe Message
プロフィール
edworld
カテゴリ別アーカイブ
人気記事
記事検索
アクセスカウンター
- 今日:
- 昨日:
- 累計: