fmemo

Unixコマンド

最終更新:

fmemo

- view
管理者のみ編集可

圧縮と伸張


gzip


ファイルを圧縮する
$ gzip hoge 

ファイルを伸張する
$ gunzip hoge.gz

bzip2


ファイルを圧縮する
$ bzip2 hoge

ファイルを伸張する
$ bunzip2 hoge.bz2

xz


ファイルを圧縮する
$ xz hoge

ファイルを伸張する
$ xz -d hoge.xz

アーカイブ


主なオプション


  • x 展開
  • v 冗長モード
  • z gzip
  • f ファイル
  • c アーカイブ化
  • t 中身の確認
  • j bzip2

使用例


hoge.tar.gzを伸張し、展開したい

$ tar xvzf hoge.tar.gz

hoge.tar.gzの中身を確認したい

$ tar tvzf hoge.tar.gz

hogeをアーカイブ化して圧縮したい

$ tar cvzf hoge.tar.gz hoge

zオプションが使えないとき


GNUのtarならばzオプションが使えるが、そうでない場合はzオプションは使えない。そのようなときは以下のようにパイプで処理する。
gunzip hoge.tar.gz | tar xvf -

test


シェルのif文などで活躍するコマンド。[ ] と同じものである。

ファイルなどに対しての評価


オプション 意味
-d directory directoryが存在すれば真
-e file fileが存在すれば真
-f file 通常ファイルが存在すれば真
-h link シンボリックリンクならば真
-r file fileが読み込み可能なら真
-s file fileの大きさが1以上ならば真
-w file fileが書き込み可能なら真
-x file fileが実行可能なら真
-L link シンボリックリンクなら真

  • -Lと-hは同値である。-Lを使うことが推奨される。

文字列に対しての評価


オプション 意味
-n string 文字列の長さが1以上ならば真
-z string 文字列の長さが0ならば真
string 文字列が存在し、ヌル文字列でなければ真
s1 = s2 文字列s1s2が同一であれば真

数値に対しての評価


オプション 意味
n1 -eq n2 n1n2が代数的に同値ならば真
n1 -ne n2 n1n2が代数的に異なれば真
n1 -gt n2 n1n2より大ならば真
n1 -ge n2 n1n2以上ならば真
n1 -lt n2 n1n2未満ならば真
n1 -le n2 n1n2以下ならば真

論理結合


オプション 意味
! expression1 expression1が偽ならば真(NOT)
expression1 -a expression2 expression1expression2が両方真なら真(AND)
expression1 -o expression2 expression1expression2のどちらかが真ならば真(OR)

dd


2byte整数のエンディアンを変換する。

$ dd if=infile of=outfile conv=swab 

date


日付を表示する。linuxのdateとmacのdateは若干異なる。

$ LANG=C date
Fri Oct 13 10:01:15 JST 2006

nkf


文字コード変換コマンド。
00README.txtに書かれた文章をUTF-8に変換して読みたいとき

$ cat 00README.txt | nkf --utf8 | less

look


引き数で与えられた文字列から始まる英単語を表示する。/usr/share/dict/wordsを使用。

$ look city
city
citycism
citydom
cityfolk
cityful
cityish
cityless
cityness
cityscape
cityward
citywards

grep


ファイルに対してパターンマッチをおこなう。

$ grep pattern filename

主なオプション


  • -c マッチした総行数を表示
  • -i 大文字小文字を区別しない
  • -n 行番号をつけて表示
  • -v 指定したパターンを含まない行だけを表示
  • -l 指定したパターンを含むファイル名だけを表示

正規表現


  • ^ 行頭
  • $ 行末
  • . 任意の1文字
  • [abcd] abcdの中の任意の1文字
  • r* 正規表現rの0回以上の繰り返し

参考サイト



exprコマンド


整数演算をおこなう。

$ expr 5 + 3
8
$ expr 14 - 8
6
$ expr 6 \* 8 # かけ算はバックスラッシュが必要
48
$ expr 32 / 5 # 割り算の余りは切り捨て
6
$ expr 32 % 5 # 余りを表示
2

演算の結果をシェル変数に代入(sh, bashの場合)

$ var=`expr 5 + 3`  
$ echo $var
8

bashやzshなどの場合、以下のように書いてもよい。その場合、かけ算のバックスラッシュは不要である。
$ echo $(( 5 + 3 ))
8
$ echo $(( 14 - 8 ))
6
$ echo $(( 6 * 8 ))
48
$ echo $(( 32 / 5 ))
6
$ echo $(( 32 % 5 ))
2

bc


小数計算をする。

$ bc  
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+0.5
1.5
quit # quitで終了

割り算を小数点以下まで計算したいときは-lオプションをつける

$ bc -l 
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1/7
.14285714285714285714
scale=4 # 小数点以下4桁まで表示
1/7
.1428

bcの計算結果をシェル変数に代入する

$ var=`echo "1/4" | bc -l`
$ echo ${var}
.12500000000000000000

cut


各行からバイト数、文字数、カラム数指定で文字列を切り出す。

od


バイナリデータをダンプする。

$ od -t dC test # 1バイト整数(符号付き)とみなして表示
$ od -t uC test # 1バイト整数(符号なし)とみなして表示
$ od -t d2 test # 2バイト整数とみなして表示 
$ od -t fF test # 4バイト実数とみなして表示
$ od -t fD test # 8バイト実数とみなして表示

od -c での改行コードの見え方

OS 見え方
Unix & Mac OSX \n
Windows \r\n
Mac OS 9 \r


sort


整列させる。

オプション


  • -n 文字列ではなく数字だとみなしてソート
  • -r 降順にソート

uniq


同じ行が連続しているときに一度しか表示しない。-cオプションを使うと出現頻度分析ができる。

$ less fruits 
orange
pear
apple
orange
orange
apple
orange
$ sort fruits | uniq -c | sort -nr
   4 orange
   2 apple
   1 pear

cal


カレンダーを表示する。

cal 9 1752


ユリウス暦からグレゴリオ暦への転換で日数が少ない。

$ cal 9 1752             
   September 1752
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

英単語の辞書


/usr/share/dict/words

sed


置換


ファイルtest内のbeforeという文字列をafterに置き換える。

$ sed -e 's/before/after/g' test

置換条件で.(ドット)は特別な意味を持ってしまうため、頭にバックスラッシュをつけて\.と書く。gはgreedy(欲張り)の意味。

$ sed -e 's/\.txt/.doc/g' test


wget

ftpサイトやhttpサイトからデータをダウンロードする。

$ wget www.hogehoge.co.jp

再帰的にダウンロードする

$ wget -r www.hogehoge.co.jp

レジュームする(途中で失敗したファイルのDLを途中から再開)

$ wget -c www.hogehoge.co.jp

パッシブモードをオフにする(デフォルトだとオンになっているようだ。途中でDLがとまってしまうときはオフにして試してみる)

$ wget --no-passive-ftp www.hogehoge.co.jp 

tr


文字の変換などをする。大文字から小文字に変換したいとき。

$ cat file.txt | tr A-Z a-z



記事メニュー
人気記事ランキング
目安箱バナー