2021年08月05日 更新
どうも、クラゲです。
ラズパイ開発で良く使うLinuxコマンド集です。主にEnterキーを押してから実行する 「コマンド系」とすぐに実行される「ショートカット系」に分けました。
[TOC]
システムのシャットダウン
# 例:ラズパイの電源をすぐに切る
poweroff
systemctl poweroff
や sudo shutdown -h now
でも同じ
システムの再起動
# 例:ラズパイをすぐに再起動
reboot
systemctl reboot
, sudo reboot
, sudo shutdown -r now
でも同じ
ファイルやディレクトリの情報表示
# 例1:現在のディレクトリの全ファイルの名前のみを表示
ls
# 例2:現在のディレクトリの全ファイルの詳細情報を表示
ls -l
ディレクトリ(フォルダ)の移動
# 例1:python_gamesというディレクトリに移動
cd python_games
# 例2:1つ上のディレクトリに移動
cd ..
# 例3:ホームへ戻る。"cd /home/pi" でも同じ意味
cd ~
フォルダを作成
# 例:"documents"という名前のフォルダを作成
mkdir documents
ファイルやディレクトリの移動、 ファイル名変更やディレクトリ名変更
# 例1:ファイル "file1" をルートディレクトの下のetcへ移動
mv file1 /etc
# 例2:ファイル "file1" の名前を変えて "file2" に変更
mv file1 file2
ファイルやディレクトリのコピー
# 例1:file1をfile2というファイルとして複製
cp file1 file2
# 例2:ディレクトリpictures1の内容をすべてpictures2にコピー
cp -r pictures1 pictures2
ファイルやディレクトリの削除
# 例1:file1を削除
rm file1
# 例2:ディレクトリpicturesを削除
rm -r pictures
ファイルの中身をテキスト表示
nano
等でも表示できるが、編集しないのであればcatが安全
# 例:ファイル名filename.shの中身をテキスト表示
cat filename.sh
ファイルやディレクトリのアクセス権変更
詳細はこちらのページ参照
# 例:"/home/pi/fullscreen.sh"の権限を"全ユーザー実行可能"に変更
sudo chmod 755 /home/pi/fullscreen.sh
アプリケーション名を指定して、バックグラウンドで動いているプログラムやアプリなどの強制終了
-f
の後にアプリケーション名を指定する
# 例:"galculator" というアプリを強制終了
pkill -KILL -f galculator
プロセスIDを指定して、バックグラウンドで動いているプログラムやアプリなどの強制終了
ps
コマンドでPID(プロセスID)を調べ、kill
コマンドでPIDを指定して強制終了させる
# 例:実行中プロセスを表示する
ps aux
# 例:PID978 を強制終了する
kill 978
aux
はオプション。詳細はこちらのページを参照
ホスト名やIPアドレスの表示
ifconfig
でもIPアドレス取得できるが、こちらの方がシンプル
# 例1:ホスト名の表示
hostname
# 例2:IPアドレスの表示
hostname -I
テキストエディタnanoで編集
指定したファイル名が存在しなければ、新規ファイル作成となる
# 例:ファイル名"filename.sh"を編集
nano filename.sh
キーボードにて Ctrl + O
で保存、Ctrl + X
で終了
権限のないファイルを編集するときはsudo
を付けること
CUIのテキストエディタは他にもvim
やemacs
などがあるが、Linux初心者 はnano
で十分
パッケージの管理
# 例1:最新パッケージのリストをサーバーから入手
sudo apt update
# 例2:パッケージをインストール
sudo apt install
# 例3:インストールされているパッケージをアップデート
sudo apt upgrade
ちなみにapt-get
を改善したコマンドがapt
で、こちらを使う方が推奨されている。
Pythonで書かれたパッケージの管理
以下は、システムにPython2系とPython3系の両方の環境がある場合の例
# 例1:Python2系の環境に"python-vlc"をインストール
sudo pip install python-vlc
# 例2:Python3系の環境に"python-vlc"をインストール
sudo pip3 install python-vlc
ファイルのダウンロード
# 例:"http://jellyware.jp/" の下にある "file.tar.gz" をダウンロード
wget http://jellyware.jp/file.tar.gz
tar形式ファイルの解凍
zxvf
はオプション。詳細はこちらのページ参照
# 例:"file.tar.gz" を解凍する
tar zxvf file.tar.gz
zip形式ファイルの解凍
# 例:"MMDAgent_Example-1.7.zip" を解凍する
unzip MMDAgent_Example-1.7.zip
プログラムのコンパイル(ビルドとインストール)
処理はMakefileに書かれた内容に従う
# 例:プログラムをビルド
make
# 例:ビルドしたプログラムをインストール
sudo make install
ユーザーのパスワード変更
# 例:rootのパスワードを変更する
sudo passwd root
特定の文字列を含むファイルやディレクトリを探す
-name
で特定の文字列を指定できる。以下はディレクトリ/usr/share/sounds/
を対象とした例
# 例1:"Left"という文字列が含まれているファイルを全て探して表示する
find /usr/share/sounds/ -name "*Left*"
# 例2:拡張子が"wav"であるファイルを全て探して表示する
find /usr/share/sounds/ -name "*.wav"
特定の文字を含む行を抽出
ファイルの中で指定した文字列が含まれている行を表示するコマンド
# 例:拡張子pyのファイルで、"import"という文字が含まれている行を検索
grep "import" *.py
OSのversionを確認するコマンド
-a
を付けるのがポイント
# 例1:Raspbianのバージョンを表示
lsb_release -a
# 例2:Linuxカーネルのバージョンを表示
uname -a
HDMIディスプレイに関するコマンド
-s
を付けるとステータス表示
# 例:画面の解像度表示
tvservice -s
Raspberry PiのGPIO端子のピンレイアウトを表示(Raspberry Pi OS特有コマンド)
# 例:GPIOピン配をターミナル画面上にすばやく表示
pinout
Raspberry Piの設定ツール(Raspberry Pi OS特有コマンド)
なお、最新のRaspberry Pi OSではデスクトップのGUI画面からほとんど主要なものは設定できる
# 例:設定画面を開く
sudo raspi-config
引数の中身を表示
このコマンドはあまり使わないが、webを検索するとたまに見かけるため、意味をここに記す
シェルスクリプトの中で echo $1
などと記述すれば、実行時に渡された引数などを表示できる
# 例1:環境変数を表示
echo $LANG
# 例2:変数の中身を表示
aaa=12345
echo $aaa
複数のコマンドの組み合わせ
このコマンドはあまり使わないが、webを検索するとたまに見かけるため、意味をここに記す
command1 | command2
で command1
の出力を command2
に入力としてパイプで送るという意味
# 例2:リスト表示した内容を "filename.txt" に出力する
ls | tee filename.txt
tee
は標準入力から読み込んだ内容を標準出力とファイルに書き込むコマンド
過去のコマンドを呼び出す
↑
キーを押すと1つ前の履歴に戻る↓
キーを押すと1つ後の履歴に進むコマンドの補完機能
長いコマンドを打つ場合、途中まで打ち込んでからTab
キーを押すことで自動補完できる場合がある
例えば、現在のディレクトリの下に "python_games" というフォルダがあり、他に "p" で始まるフォルダが無いとする。
このときに ls p
まで入力した後に Tab
キーを押すと ls python_games
と自動的に補完される。
実行プログラムの強制終了
キーボードで Ctrl
キー と C
キー を同時に押すと実行しているプログラムを強制終了させることができる
実行プログラムの強制停止
キーボードで Ctrl
キー と Z
キー を同時に押すと実行しているプログラムを強制停止させることができる。なお、以下のコマンド入力でプログラム再開可能
fg
以上、RaspberryPi開発でよく使うLinuxコマンド集でした。
必要に応じて随時更新します。