Here are some fundamental and common Linux commands with example usage:
Filesystem
ls
The ls
command list of content of current directory (or one is specified)です。 -l
フラグと併用することで、各ファイルやディレクトリに関する追加情報 (パーミッション、所有者、グループ、サイズ、最終編集の日付とタイムスタンプ) をリスト形式で表示することができる。 -a
フラグにより、.
で始まるファイル (すなわち dotfiles) を表示できます。
cd
cd
を使用すると、現在のディレクトリを指定したディレクトリに変更することが可能です。
pwd
コマンドは、現在の作業ディレクトリの名前を表示します。Raspberry Piでは、pwd
と入力すると、/home/pi
のような出力が得られます。
mkdir
新しいディレクトリを作成するには、mkdir
を使用します。例えば、mkdir newDir
は現在の作業ディレクトリにディレクトリnewDir
を作成します。
rmdir
空のディレクトリを取り除くには、rmdir
を使用してください。 例えば、rmdir oldDir
はディレクトリ oldDir
が空の場合のみ削除する。
rm
コマンド rm
は指定されたファイルを削除する (-r
と併用するとディレクトリから再帰的に削除される)。 このコマンドの使用には注意が必要である:この方法で削除されたファイルは、ほとんど永久に消えてしまう!
cp
cp
を使用すると、ファイルのコピーを作成し、指定した場所に置く(これはコピー&ペーストと同様である)。 例えば、cp ~/fileA /home/otherUser/
はファイル fileA
をホームディレクトリからユーザ otherUser
のディレクトリにコピーする(そこにコピーする権限を持っていると仮定して)。 このコマンドは FILE FILE
(cp fileA fileB
), FILE DIR
(cp fileA /directoryB/
), -r DIR DIR
(ディレクトリの内容を再帰的にコピーする) のいずれかを引数に取ることができる。
mv
mv
コマンドはファイルを移動して指定した位置に置く (従って cp
が「コピーペースト」を行うのに対し mv
は「カットペースト」) ことである。 使い方は cp
と同様である。 つまり、mv ~/fileA /home/otherUser/
はファイル fileA
を自分のホームディレクトリから otherUser というユーザのディレクトリに移動させる。 このコマンドは FILE FILE
(mv fileA fileB
), FILE DIR
(mv fileA /directoryB/
), DIR DIR
(mv /directoryB /directoryC
) のいずれかの引数を取ることができる。
touch
コマンドは、指定されたファイルの最終更新時刻を設定するか、まだ存在しない場合は作成する。
cat
ファイルの内容をリストアップするために cat
を使用できる。 cat *.txt
はカレントディレクトリにあるすべての .txt
ファイルの内容を表示する。
head
head
コマンドはファイルの冒頭を表示する。
tail
head
の逆で、tail
はファイルの終端を表示するコマンドである。 ファイルの開始点は、512バイトブロックなら -b
、バイト数なら -c
、行数なら -n
で指定することができる。 chmod
コマンドはシンボル u
(ファイルを所有するユーザ)、 g
(files グループ)、 o
(その他のユーザ) とパーミッション r
(読み込み)、 w
(書き込み)、 x
(実行) が使用可能である。
chown
chown
コマンドは、ファイルの所有者であるユーザおよび/またはグループを変更するものである。 通常 sudo を使って root で実行する必要がある。例えば sudo chown pi:root *filename*
は所有者を pi に、グループを root に変更する。
ssh
ssh
はセキュアシェルを表します。 詳細はSSH (secure shell)を参照してください。
scp
コマンドは、ssh
を使ってファイルをあるコンピュータから別のコンピュータにコピーします。詳細はSCP (secure copy)を参照してください。
sudo
コマンドはスーパーユーザ、または他のユーザとしてコマンドを実行することを可能にします。 スーパーユーザのシェルにはsudo -s
を使用します。詳細はRoot user / sudo
dd
dd
コマンドはファイルをコピーし、指定されたファイルに変換します。 ディスク全体を1つのファイルにコピーしたり、元に戻したりするのによく使われる。 したがって、たとえば dd if=/dev/sdd of=backup.img
は SD カードや USB ディスクドライブから /dev/sdd にバックアップイメージを作成します。 SD カードにイメージをコピーする場合、ディスク全体を上書きする可能性があるため、正しいドライブを使用することを確認してください。
df
df
を使用して、マウントされたファイルシステムで使用可能なディスク容量と使用量を表示します。 バイト数ではなく、MB を表す M を使用した人間が読みやすいフォーマットで出力を見るには df -h
を使用する。
unzip
unzip
コマンドは圧縮された zip ファイルからファイルを抽出する。
tar
テープアーカイブファイルからファイルを格納または抽出するには、tar
を使用します。 また、ZIPファイルと同様に圧縮することで、必要な容量を減らすことができます。
圧縮ファイルを作成するには、tar -cvzf *filename.tar.gz* *directory/*
ファイルの内容を取り出すには、tar -xvzf *filename.tar.gz*
pipes
パイプは、あるコマンドからの出力を別のコマンドの入力として使用することができます。 パイプの記号は縦線 |
です。 例えば、ls
コマンドの最初の 10 個のエントリだけを表示するには、head コマンドにパイプを通すことができる ls | head
tree
ディレクトリとすべてのサブディレクトリおよびファイルをツリー構造としてインデントして表示するには tree
コマンドを使用する
&
バックグラウンドでのコマンドは &
で実行でき、次のコマンド用にシェルが解放される。
wget
Web から wget
でファイルを直接コンピュータにダウンロードする。 つまり wget https://www.raspberrypi.org/documentation/linux/usage/commands.md
はこのファイルを commands.md
curl
サーバーとの間でファイルをダウンロードまたはアップロードするために curl
を使用します。 デフォルトでは、ファイルの内容を画面に出力します。
man
ファイルのマニュアルページを man
で表示します。 さらに詳しく知りたい場合は、man man
を実行すると、manコマンドのマニュアルページを表示することができます。
Search
grep
特定の検索パターンでファイル内を検索するには grep
を使用します。 例えば、grep "search" *.txt
は現在のディレクトリにある .txt で終わるすべてのファイルを検索します。
grep
コマンドは正規表現をサポートしており、特殊な文字の組み合わせを検索対象に含めることができます。
awk
awk
は、テキスト・ファイルの検索と操作に役立つプログラミング言語です。
find
find
コマンドは、ディレクトリとサブディレクトリにある特定のパターンにマッチするファイルを検索します。
whereis
コマンドの場所を見つけるには whereis
を使用する。 要求されたコマンドを見つけるまで、標準的なプログラムの場所を調べます。
Networking
ping
ping
ユーティリティは、通常他のホストと通信できるかどうかを確認するために使用されます。 ホスト名 (例: ping raspberrypi.org
) または IP アドレス (例: ping 8.8.8.8
) を指定するだけで、デフォルトの設定で使用することができます。
nmap
nmap
はネットワークの探索とスキャンを行うツールである。 これは、ホストまたはホストの範囲に関するポートおよび OS の情報を返すことができます。
hostname
hostname
コマンドは、システムの現在のホスト名を表示します。 特権的な (super) ユーザは、引数としてホスト名を与えることにより、新しいホスト名に設定できる (例: hostname new-host
)。
ifconfig
引数なしで実行した場合、現在のシステム上のインターフェースのネットワーク設定の詳細を表示するには ifconfig
を使用してほしい (i.e. ifconfig
)。 コマンドにインターフェースの名前 (例えば eth0
や lo
) を与えることで、設定を変更することができます: 詳細はマニュアルページをご覧ください。