2021年08月05日 更新

RaspberryPiでよく使うLinuxコマンド

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

[TOC]

コマンド系

poweroff

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

# 例:ラズパイの電源をすぐに切る
poweroff

systemctl poweroffsudo shutdown -h now でも同じ

reboot

システムの再起動

# 例:ラズパイをすぐに再起動
reboot

systemctl 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 /home/pi" でも同じ意味
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

ファイルの中身をテキスト表示
nano等でも表示できるが、編集しないのであればcatが安全

# 例:ファイル名filename.shの中身をテキスト表示
cat filename.sh

chmod

ファイルやディレクトリのアクセス権変更
詳細はこちらのページ参照

# 例:"/home/pi/fullscreen.sh"の権限を"全ユーザー実行可能"に変更
sudo chmod 755 /home/pi/fullscreen.sh

pkill

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

# 例:"galculator" というアプリを強制終了
pkill -KILL -f galculator

kill

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

# 例:実行中プロセスを表示する
ps aux

# 例:PID978 を強制終了する
kill 978

auxはオプション。詳細はこちらのページを参照

hostname

ホスト名やIPアドレスの表示
ifconfigでもIPアドレス取得できるが、こちらの方がシンプル

# 例1:ホスト名の表示
hostname

# 例2:IPアドレスの表示
hostname -I

nano

テキストエディタnanoで編集
指定したファイル名が存在しなければ、新規ファイル作成となる

# 例:ファイル名"filename.sh"を編集
nano filename.sh

キーボードにて Ctrl + O で保存、Ctrl + X で終了
権限のないファイルを編集するときはsudoを付けること
CUIのテキストエディタは他にもvimemacsなどがあるが、Linux初心者 はnanoで十分

apt

パッケージの管理

# 例1:最新パッケージのリストをサーバーから入手
sudo apt update

# 例2:パッケージをインストール
sudo apt install

# 例3:インストールされているパッケージをアップデート
sudo apt upgrade

ちなみにapt-getを改善したコマンドがaptで、こちらを使う方が推奨されている。

pip

Pythonで書かれたパッケージの管理
以下は、システムにPython2系とPython3系の両方の環境がある場合の例

# 例1:Python2系の環境に"python-vlc"をインストール
sudo pip install python-vlc

# 例2:Python3系の環境に"python-vlc"をインストール
sudo pip3 install python-vlc

wget

ファイルのダウンロード

# 例:"http://jellyware.jp/" の下にある "file.tar.gz" をダウンロード
wget http://jellyware.jp/file.tar.gz

tar

tar形式ファイルの解凍
zxvfはオプション。詳細はこちらのページ参照

# 例:"file.tar.gz" を解凍する
tar zxvf file.tar.gz

unzip

zip形式ファイルの解凍

# 例:"MMDAgent_Example-1.7.zip" を解凍する
unzip MMDAgent_Example-1.7.zip

make

プログラムのコンパイル(ビルドとインストール)
処理はMakefileに書かれた内容に従う

# 例:プログラムをビルド
make

# 例:ビルドしたプログラムをインストール
sudo make install

passwd

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

# 例:rootのパスワードを変更する
sudo passwd root

find

特定の文字列を含むファイルやディレクトリを探す
-nameで特定の文字列を指定できる。以下はディレクトリ/usr/share/sounds/を対象とした例

# 例1:"Left"という文字列が含まれているファイルを全て探して表示する
find /usr/share/sounds/ -name "*Left*"

# 例2:拡張子が"wav"であるファイルを全て探して表示する
find /usr/share/sounds/ -name "*.wav"

grep

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

# 例:拡張子pyのファイルで、"import"という文字が含まれている行を検索
grep "import" *.py

lsb_release と uname

OSのversionを確認するコマンド
-a を付けるのがポイント

# 例1:Raspbianのバージョンを表示
lsb_release -a

# 例2:Linuxカーネルのバージョンを表示
uname -a

tvservice

HDMIディスプレイに関するコマンド
-s を付けるとステータス表示

# 例:画面の解像度表示
tvservice -s

pinout

Raspberry PiのGPIO端子のピンレイアウトを表示(Raspberry Pi OS特有コマンド)

# 例:GPIOピン配をターミナル画面上にすばやく表示
pinout

raspi-config

Raspberry Piの設定ツール(Raspberry Pi OS特有コマンド)
なお、最新のRaspberry Pi OSではデスクトップのGUI画面からほとんど主要なものは設定できる

# 例:設定画面を開く
sudo raspi-config

echo

引数の中身を表示
このコマンドはあまり使わないが、webを検索するとたまに見かけるため、意味をここに記す
シェルスクリプトの中で echo $1 などと記述すれば、実行時に渡された引数などを表示できる

# 例1:環境変数を表示
echo $LANG

# 例2:変数の中身を表示
aaa=12345
echo $aaa

| (パイプ)

複数のコマンドの組み合わせ
このコマンドはあまり使わないが、webを検索するとたまに見かけるため、意味をここに記す
command1 | command2command1 の出力を command2 に入力としてパイプで送るという意味

# 例2:リスト表示した内容を "filename.txt" に出力する
ls | tee filename.txt

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

ショートカット系

↑ ↓

過去のコマンドを呼び出す

  • キーボードの キーを押すと1つ前の履歴に戻る
  • キーボードの キーを押すと1つ後の履歴に進む

Tab

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

Control + C

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

Control + Z

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

fg

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