学科の1年生に贈る、Ubuntu・bashの便利技
例えばls 2015100?.txtを実行したとき、カレントディレクトリに20151001.txtや20151009.txtがあったら情報を表示してくれる
2015-10-09 23:52:18なお、ここまでのワイルドカード指定や、デフォルトのlsコマンドでは、「.」から始まるファイル(ドットファイル)を除外している
2015-10-09 23:52:38ドットファイルだけを表示させるには、ls .*とする。ドットファイルも通常のファイルも同時に見たい場合には、ls -aを実行する
2015-10-09 23:52:48ファイル(ディレクトリを含む)があるかを知るには、lsに替えてechoというコマンドを使用し、ワイルドカード指定をして、実行するといい
2015-10-09 23:53:25先ほど使ったけど、1回のコマンド実行(Enterを押すこと)で連続して複数のコマンドを実行させたいときは、コマンドを「;」でつなぐ。記号はセミコロン。コロンと間違えないように
2015-10-09 23:53:35例えば、hello.cというCのソースファイルがあるとき、cc hello.c -o hello && ./helloを実行すれば、コンパイルと実行を連続してやってくれる。コンパイルエラーがあれば、./helloは実行しない
2015-10-09 23:54:09「||」はふだん使わないので、ちょっと苦しい例になるけど、which geditt || echo 'そんなコマンドはない'を実行すれば、「そんなコマンドはない」と出る(はず)
2015-10-09 23:54:22which gedit || echo 'そんなコマンドはない'を実行したら、何も表示されずにプロンプトが出る(はず)
2015-10-09 23:54:35で、思い出した。コマンド中に"を2つ書いて実行したら、実際のコマンド実行では引用符が取り除かれ、その中が1つの文字列になる
2015-10-09 23:54:48引用符は、空白文字を含むファイルを作ってしまったとき、シェルでそれを指定するのに便利。mv "空白を 含む ファイル名.txt" space-removed.txtのように
2015-10-09 23:55:55上のコマンドは、mv 空白を\ 含む\ ファイル名.txt space-removed.txtでも同じだけど、入力ミスしやすいのでおすすめしない
2015-10-09 23:56:10ls、そしてスペースを打ってから、Tabキーを2回押すと、ファイル名一覧が表示されるはず(カレントディレクトリにファイルが0~1個の場合を除く)
2015-10-09 23:56:31先頭何文字か打ち込んでから、またTabを押すと、候補が絞られる。うまく使えば、少ない入力回数で、ファイル名を指定できる
2015-10-09 23:56:58