blog

Linux初心者必見:8つの便利なLinuxターミナルコマンド

Linuxのターミナルを使うことは、単にコマンドを入力するだけではありません。これらの基本的なTipsを学べば、ほとんどのLinuxディストリビューションでデフォルトで使用されているターミナルツール、...

May 3, 2016 · 4 min. read
シェア

Linuxターミナルの使い方はコマンドを入力するだけではありません。これらの基本的なTipsを学べば、ほとんどのLinuxディストリビューションでデフォルトで使用されているターミナルツール、Bashシェルを使いこなせるようになるでしょう。

この記事は経験の浅い初心者のために書かれたもので、ほとんどの上級ユーザーはすでにこれらのヒントをすべて知っていると思います。しかし、あなたが見落としていた何かを学ぶことができるかもしれません。

タブキー自動補完

Tabキーを使ったオートコンプリートは基本的なテクニックです。時間の節約にもなりますし、ファイル名やコマンドのスペルがわからないときにも便利です。

例えば、カレントディレクトリに「すごく長いファイル名」という名前のファイルがあり、それを削除したいとします。ファイル名をすべて入力することもできますが、スペースの打ち間違いに注意する必要があります。rm r」と入力してTabキーを押すと、Bashが自動的にファイル名を補完してくれます。

もちろん、カレントディレクトリにrで始まるファイルがたくさんあると、Bashはどれを指しているのかわからなくなります。たとえば、カレントディレクトリに "really very long file name" という名前の別のファイルがある場合、Tab キーを押すと Bash は "really" の部分まで補完します。という文字で始まります。そして、もう一度 Tab を押すと、以下のように、その先頭に一致するすべてのファイルのリストが表示されます。

次に、希望のファイル名を入力して Tab キーを押します。こうすると、"l" と入力して Tab キーを押すと、Bash が目的のファイル名を自動的に入力します。

この方法はコマンドの入力にも使えます。どんなコマンドを入力したいのかわからないけど、"gnome "で始まるコマンドだと覚えている場合、"gnome "と入力してTabキーを押すと、入力可能なすべての結果が表示されます。

パイプラインコマンド

パイプコマンドを使うと、あるコマンドの出力を別のコマンドに転送することができます。Unixの設計思想では、各プログラムは少ない機能でより洗練された機能を持つように設計されています。例えば、"ls "コマンドは現在のディレクトリにあるすべてのファイルのリストを表示し、"grep "コマンドは入力文字列が指定された場所を検索します。

この2つをパイプラインコマンド("|"記号で表示)で組み合わせると、カレントディレクトリのファイルを検索することができます:

ls | grep really 

ワイルドカード文字

アスタリスク "*"は何でもマッチするワイルドカードです。例えば、カレントディレクトリから「本当に長いファイル名」と「本当にとても長いファイル名」の両方を削除したい場合は、以下のコマンドを使います:

rm really*name 

このコマンドは really で始まり name で終わるすべてのファイルを削除します。rm *" コマンドを使うと、そのディレクトリのすべてのファイルを削除してしまうので、注意してください。

出力リダイレクト

コマンドの出力をファイルにリダイレクトします。例えば、以下のコードでは、"ls "コマンドを使ってカレントディレクトリの全ファイルをリストアップし、その出力を単にターミナルに出力するのではなく、"file1 "という名前のファイルに入力しています。

ls > file1 

コマンドライン履歴

Bashは使ったコマンドの履歴を記憶しています。上下キーで使用したコマンドをスクロールできます。history」コマンドを使うとコマンドの履歴が出力されるので、パイプラインコマンドを使って最近使ったコマンドを検索できます。

コマンドライン履歴に関して使えるヒントは他にもたくさんあります:

~,.& ...

波"~"は現在のユーザーのホームディレクトリを表します。つまり、"cd /home/name "と入力する代わりに、"cd ~"を使ってホームディレクトリに切り替えることができます。これは相対パスでも動作します。例えば、"cd ~/Desktop "と入力すると、現在のユーザーのデスクトップ・ディレクトリに切り替わります。

同様に、".はカレントディレクトリを表し、"..."は親ディレクトリを表します。いずれも、"cd ..."と入力すると、親ディレクトリにジャンプします。これは相対パスでも有効で、例えばDesktopディレクトリにいるときに、Desktopディレクトリと同じ階層にあるDocumentディレクトリに移動したい場合は、「cd .../Documents」というコマンドを使います。/Documents "コマンドを使用します。

バックグラウンドでコマンドを実行

デフォルトでは、Bashは現在のターミナルの下でコマンドを実行します。通常はこれで問題ありませんが、同時にアプリケーションを実行し、ターミナルを使い続けたい場合はどうなるでしょうか。例えば、"firefox "と入力してFirefoxを実行すると、Firefoxはターミナルを引き継ぎ、閉じるまでエラーメッセージやその他の出力を表示します。しかし、コマンドの後に "&" 記号を付けると、Bash はバックグラウンドでアプリケーションを実行するようになります:

firefox & 

条件性

Bashでも同様に、2つのコマンドを1つずつ実行することができます。2番目のコマンドは、***コマンドが正常に終了したときにのみ実行されます。これを行うには、同じ行の2つのコマンドを「&&」で区切ります。

例えば、"sleep "コマンドは秒単位でパラメーターを受け取り、終了までカウントダウンします。このコマンド単体では役に立ちませんが、次のプログラムを実行するための遅延として使うことができます。次のコマンドは5秒間停止し、gnomeのスクリーンショットユーティリティを実行します:

sleep 5 && gnome-screenshot 
Read next