kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

Linuxの基本コマンド

知らないことが結構あったのでメモ

いろいろな実行方法

パイプライン

前のコマンドの出力(標準出力)が次のコマンドに入力(標準入力)されます。

コマンド1 | コマンド2 | ...
コマンドリスト
  • 「;」(セミコロン)で区切ることで、1行に複数のコマンドを書くことができます。
  • コマンドを「&&」で区切って書くと、前のコマンドが成功した場合(終了コードが0の場合)のみ、後ろのコマンドが実行されます。
  • コマンドを「||」で区切って書くと、コマンド1が正常終了以外(終了コードが0以外)だったら、コマンド2を実行されます。
コマンド置換

「$()」で囲まれた部分は、そのコマンドの実行結果に置き換えられます。

$ touch $(date +%F)
$ ls

2008-09-05

ブレース展開
$ mkdir {dir1,dir2,dir3}
$ ls

dir1/ dir2/ dir3/

シェルの変数展開

 変数から値を取り出すときに使われるのが変数展開です。「$変数名」または「${ 変数名 }」のように使います。

変数展開 説明
${パラメータ#パターン} パラメータ前方から、パターンに最短一致した部分を除く
${パラメータ##パターン} パラメータ前方から、パターンに最長一致した部分を除く
${パラメータ%パターン} パラメータ後方から、パターンに最短一致した部分を除く
${パラメータ%%パターン} パラメータ後方から、パターンに最長一致した部分を除く
$ mypath=/home/hoge/foo.txt
$ echo ${mypath%.*}    → 拡張子を除く

/home/hoge/foo

$ echo ${mypath##/*/}  → ファイル名のみを得る

foo.txt

オリジナルサイト
http://codezine.jp/article/detail/3014