2018/6/15更新

RaspberryPiでよく使うLinuxコマンド集

どうも、クラゲです。
ラズパイ開発で良く使うLinuxコマンド集です。
主にEnterキーを押してから実行する "コマンド系" と すぐに実行される"ショートカット系" に分けました。


コマンド系

shutdown

システムのシャットダウン

<使用例>
すぐにシャットダウン

sudo shutdown -h now

※sudo はルート権限で実行するという意味

reboot

システムの再起動

<使用例>
すぐに再起動

sudo reboot

なお sudo shutdown -r now でも代用可

ls

ファイルやディレクトリの情報表示

<使用例1>
現在のディレクトリの全ファイルの名前のみを表示

ls

<使用例2>
現在のディレクトリの全ファイルの詳細情報を表示

ls -l

cd

ディレクトリ(フォルダ)の移動

<使用例1>
python_gamesというディレクトリに移動

cd python_games

<使用例2>
1つ上のディレクトリに移動

cd ..

<使用例3>
ホームへ戻る(迷子になったらこれ)
~はチルダと読む

cd ~

mkdir

フォルダを作成

<使用例>
"documents"という名前のフォルダを作成

mkdir documents

mv

ファイルやディレクトリの移動、 ファイル名変更やディレクトリ名変更

<使用例1>
ファイル "file1" をルートディレクトの下のetcへ移動

mv file1 /etc

<使用例2>
ファイル "file1" の名前を変えて "file2" に変更

mv file1 file2

cp

ファイルやディレクトリのコピー

<使用例1>
file1をfile2というファイルとして複製

cp file1 file2

<使用例2>
ディレクトリpictures1の内容をすべてpictures2にコピー

cp -r pictures1 pictures2

rm

ファイルやディレクトリの削除

<使用例1>
file1を削除

rm file1

<使用例2>
ディレクトリpicturesを削除

rm -r pictures

cat

ファイルの中身をテキスト表示

<使用例>
ファイル名filename.shの中身をテキスト表示

cat filename.sh

nanoでも表示できるが、編集しないのであればcatが安全

chmod

ファイルやディレクトリのアクセス権変更

<使用例>
/home/pi/の下にあるファイルfullscreen.shの権限を変更
(全ユーザーで実行可能にしている)

sudo chmod 755 /home/pi/fullscreen.sh

その他、詳細はこちら参照
http://www.k4.dion.ne.jp/~mms/unix/linux_com/chmod.html

pkill

アプリケーション名を指定して強制終了
バックグラウンドで動いているプログラムやアプリなどの強制終了
アプリケーション名を指定して強制終了する

<使用例>
"galculator" というアプリを強制終了

pkill -KILL -f galculator
 

kill

プロセスIDを調べて強制終了
バックグラウンドで動いているプログラムやアプリなどの強制終了
psコマンドでPID(プロセスID)を調べ、killでPIDを指定して強制終了させる

<使用例>
実行中プロセスを表示する

ps aux

PID978 を強制終了する

kill 978

auxはオプション。詳細はこちら参照
http://qiita.com/shuntaro_tamura/items/4016868bda604baeac3c

hostname

ホスト名やIPアドレスの表示

<使用例1>
ホスト名の表示

hostname

<使用例2>
IPアドレスの表示

hostname -I

ちなみに、ifconfigでもIPアドレス取得できるが、こちらの方がシンプル

nano

テキストエディッタnanoで編集

<使用例>
ファイル名filename.shをテキストエディッタnanoで編集する
ファイル名が存在しなければ、新規ファイル作成になる

nano filename.sh

権限のないファイルを編集するときはsudo を付けることを忘れない
control + o で保存。 control + x で終了。
他にもvimやemacsがあるが、Linux初心者はnanoだけで十分

apt-get

パッケージの操作・管理

<使用例1>
最新パッケージのリストをサーバーから入手

sudo apt-get update

<使用例2>
パッケージをインストール

sudo apt-get install

<使用例3>
インストールされているパッケージをアップデート

sudo apt-get upgrade

wget

ファイルのダウンロード

<使用例>
http://jellyware.jp/ の下にある file.tar.gz をダウンロードする

wget http://jellyware.jp/file.tar.gz

tar

tar形式ファイルの解凍

<使用例>
file.tar.gz を解凍する

tar zxvf file.tar.gz

zxvfはオプション。詳細はこちら参照
http://takuya-1st.hatenablog.jp/entry/20101026/1288093407

unzip

zip形式ファイルの解凍

<使用例>
MMDAgent_Example-1.6.zip を解凍する

unzip MMDAgent_Example-1.6.zip

make

コンパイル(ビルドとインストール)

<使用例>
プログラムをビルド

make

処理はMakefileに書かれた内容に従う

ビルドしたプログラムをインストール

sudo make install

passwd

ユーザーのパスワード変更

<使用例>
rootのパスワードを変更する

sudo passwd root

grep

特定の文字を含む行を抽出
ファイルの中で指定した文字列が含まれている行を表示するコマンド

<使用例>
拡張子pyのファイルで、"import"という文字が含まれている行を検索

grep "import" *.py

raspi-config

RaspberryPiの設定ツール
Raspbian特有コマンド

<使用例>
設定画面を開く

sudo raspi-config

なお、最新のRaspbianではデスクトップのGUI画面からほとんど主要なものは設定できる

echo

このコマンドはあまり使わないが、webを検索するとたまに見かけるため、意味をここに記す。

引数の中身を表示

シェルスクリプトの中でecho $1 などと記述すれば、実行時に渡された引数などを表示できる

<使用例>
環境変数を表示

echo $LANG

変数の中身を表示

aaa=12345
echo $aaa

| (パイプ)

このコマンドはあまり使わないが、webを検索するとたまに見かけるため、意味をここに記す。

複数のコマンドの組み合わせ
command1 | command2 で command1 の出力を command2 に入力としてパイプで送るという意味

<使用例>
リスト表示した内容を filename.txt に出力する

ls | tee filename.txt

teeは標準入力から読み込んだ内容を標準出力とファイルに書き込むコマンド

ショートカット系

↑ ↓

過去のコマンドを呼び出す
キーボードの ↑ キーを押すと1つ前の履歴に戻る
キーボードの ↓ キーを押すと1つ後の履歴に進む

Tab

コマンドの補完機能
長いコマンドを打つ場合、途中まで打ち込んでからTabキーを押すことで自動補完できる場合がある
例えば、現在のディレクトリの下に"python_games"というフォルダがあり、他に"p"で始まるフォルダが無いとする。
このときに ls p まで入力した後に Tabキーを押すと ls python_games と自動的に補完される。

Ctrl + C

実行プログラムの強制終了
キーボードで Control キー と C キーを同時に押すと実行しているプログラムを強制終了させることができる

Ctrl + Z

実行プログラムの強制停止
キーボードで Control キー と Z キーを同時に押すと実行しているプログラムを強制停止させることができる
なお、以下のコマンド入力でプログラム再開

fg

以上、RaspberryPi開発でよく使うLinuxコマンド集でした。
必要に応じて随時更新します。