Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。
よく使うコマンドというのは、本当に何度も使うものです。ここではコマンドリファレンスではなく、これからRaspberry Piを始める人向けに、よく使うコマンドをいくつかまとめてみました。
Raspberry Pi OS(旧Raspbian)はLinuxのディストリビューションの一つであるDebianを改良したOSです。従ってコマンドはDebian由来となります。つまりLinuxのコマンドです。
コマンドと言っても全て覚えるのは大変です。特に非エンジニアなら尚更です。もっと言うとオッサンレベルでは覚えるよりも速く忘れます。
それでも、いくつかの必要なコマンドだけ覚えていれば、大きく困ることもないでしょう。
コマンドは挙げればキリがありません。ここでは、私が覚えてきたコマンドで、Raspberry Pi でよく使うコマンドに絞ってご紹介していきます。
この記事はお陰様でよく読まれています!
基本的なコマンド
優先順位は気にせず、コマンド単位や使いたいコマンド、便利なコマンドを覚えて使えば、自然と身についていきます。
1つずつ実践していきましょう。
apt —— アプリケーションをインストールするのに必要
公式Raspberry Pi OSやリポジトリ(パッケージアップデート先リスト)の更新に使用する機会が多いでしょう。おまじないとも言われていますね。
更新するソース先を更新します。これだけではアップデートできません。参照先を更新することになります。
sudo apt update
そして実際のアプリケーション(パッケージ)のインストールはinstallとアプリ名称です。
sudo apt install アプリケーション名
既にインストールされているアプリケーション(パッケージ)のアップグレード
sudo apt full-upgrade
- 2020年〜2021年にかけて、Raspberry Pi公式からアップグレードコマンドは
full-upgradeがアナウンスされています。
apt upgradeも間違いではないのですが、Raspberry Pi OSのではそうしましょう。
更に、これまではapt-getが一般的でした。今の主流はaptのみになっています。aptで実行しましょう。短くなって覚えやすい。
ちなみにsudoは、管理者権限で実行する時に用います。
パッケージとキャッシュの削除
もう一つは必要なくなったパッケージを削除してくれるコマンドです。
sudo apt autoremove
ターミナルに「自動削除を実行してね」というメッセージも出ます。アップグレードしたらたまに実行してみてください。
cleanも一緒に実行しておくと良いでしょう。キャッシュされているインストールに必要ファイルを削除してくれます。
sudo apt clean
この5行が基本になります。
sudo apt update
sudo apt full-upgrade
sudo apt autoremove
sudo apt clean
sudo apt install アプリケーション名
aptのこんなエラーはオプションで解決。
cdとls —— ディレクトリ移動と中身の表示
ディレクリの移動で使います。
例えば「wpa_supplicant.conf」の場所へ移動する例だとこうなります。
cd /etc/wpa_supplicant
そのディレクトリ(フォルダ)にあるファイルを表示する場合
ls
権限など詳細を表示する場合
ls -l
またはオプション -al
ls -al
Rレッド次の記事で、cdコマンドをもう少し説明しました。
cdコマンドをもう少し
上の階層へ戻る指定は、../ で指定できます。
cd ../etc/wpa_supplicant
今いる場所を指定するのは、./ です。その上の階層と思えばドットが2つなのも分かりやすいでしょう。
2つ上の階層の場合は../を並べます。これは相対的なパスで、もちろん頭から記載した絶対パスでも構いません。
cd ../../
覚えておきたいhomeは~/
ユーザーのホームフォルダはhomeフォルダ内にあります。代替として(~)チルダが使えます。
cd ~/
チルダなら自分がどこのフォルダにいても、起点の表記をhome(フルパス)として使えて便利です。
cd /home/pi/example/
cd ~/example/
cd ~/
ls -al
慣れるまで、cdコマンドで移動してからlsコマンドをセットで実行すると、自分の今居る場所も確認できて便利です。
ファイルやディレクトリ(フォルダ)の移動、コピー、削除
初心者が困ることの1つがターミナルでファイルを操作したい場合です。
cpコマンド
cpはコピーです。copyと連想できますね。
readme.txtをbk_readme.txtと名前を変更してコピーする場合
cp readme.txt bk_readme.txt
ファイル単体ではなく、ディレクトリのコピーは中身も全てコピーしたいので、オプションを付けます。
testディレクトリの中身ごとbk_testディレクトリとしてコピーする場合
cp -r test bk_test
-r とあるのはオプションです。
全く同じようにコピーしたい場合のオプションは-p指定(タイムスタンプも同じになる)
cp -p
コマンドのオプションを調べたい場合はどのコマンドでもhelpを使います。
cp --help
操作する際、フルパスで指定しない限り、操作したい対象ディレクトリへcdコマンドで移動してからおこなってください。
mvコマンドは2つの役割がある
moveから連想できる移動コマンドです。但し、2つの役割があります。
- ファイル・ディレクトリの移動
- ファイル・ディレクトリの名前変更
移動は分かっても名前変更はピント来ませんね・・・。これは覚えるしかありません。
/Downloadディレクトリへファイルを移動するの場合
mv readme.txt /Download
ディレクトリ(フォルダ)の中身も移動する場合(フォルダごとすべて)
mv test test2
但し、この後にご紹介する名前変更になる場合がありますから、フォルダへの移動は最後に/.を付けると良いでしょう。(もしくは/)
mv test test2/.
フォルダ(sample_1)を同じ階層にあるフォルダ(sample_2)の中にコピーする場合
mv sample_1/ sample2
mv sample_1/ sample2/
mv sample_1/ sample2/.
意味は少しずつ異なりますが、結果は3つとも同じです。
実際にコマンドを実行してみると理解が深まります。
スラッシュ(/)の有る無し
軽く説明すると、スラッシュでディレクトリ(フォルダ)として指定しています。同じ名前のデータファイルが無いならば、スラッシュが無くてもディレクトリとして認識します。 しかし、同じ名前のデータファイル、例えば同名のTXTなどがあるとディレクトリとして認識できません。名前変更にも繋がってしまいます。注意が必要ですね。
名前変更
次に名前変更をcpコマンドと同じ例で示します。
mv readme.txt bk_readme.txt
コピーでも移動でもなく、readme.txtの名前だけ変更したことになります。
これはディレクトリでも同じです。
mv test test2
test2というディレクトリ(フォルダ)があれば移動になります。
test2というディレクトリが無い場合は名前が変更されます。
確実に移動させたい場合はスラッシュ(/)やスラッシュ+ドット(/.)を付けてください。もしも同じ名前のtest2フォルダが無い場合、スラッシュなどが付いていればエラーになります。
rmでファイルやディレクトリの削除
削除は初心者が最初に困ることが多いと思います。私もそうでした。
デスクトップGUIならゴミ箱へですし、キーボードでもDELETEボタンでポンですからね。コマンドだと面倒に感じるでしょう。
readme.txtを削除する場合
rm readme.txt
これは簡単です。
次にディレクトリ(フォルダ)の場合はオプションが必要です。
rm -r test
オプションが付かないと「ディレクトリですから削除できない」とエラーになります。
中身が空であれば、-dを指定するだけで削除はできます。
rm -d test
ディレクトリ内にファイルが存在すると、-dオプションでもエラーになります。
「中身が入っているディレクトリ(フォルダ)だからムリ!」というエラーになります。
-fを付けると、中身が存在しても無くて強制的に実行できます。(force)
rm -rf test
削除コマンドrmは本当に(?)その場で削除してしまいますから注意してください。
ディレクトリ(フォルダ)の新規作成
ちにみにディレクトリ(フォルダ)を新たに作成する場合はmkdirコマンドです。
mkdir newfolder
覚えておきたい役割まとめ
| ファイル | ディレクトリ(フォルダ) | |
| cp | コピーする | 空の場合 |
| cp -r | 中身もコピーする | |
| cp -p | 中身も全く同じにコピーする | |
| mv | 移動する・名前変更 | 空の場合移動・名前変更 |
| mv -r | 中身も移動する | |
| rm | 削除する | 空の場合 |
| rm -r | 中身があっても無くても削除できる | |
| rm -d | 中身が空なら削除できる |
-r のオプション付きで意味が変わることと、mvコマンドは名前変更でも用いることが特殊です。
もちろんこれ以外にもオプションがあります。ただ、これだけ知っていれば普段は問題ないと思います。
cat —— テキストの中身を読むだけ
Raspberry Pi OSにはテキスト編集に「nano」が入っています。初心者はnanoで充分ですが、読むだけなら間違う恐れがないcatコマンドも活用しましょう。
catは閲覧だけなので編集できません。
ターミナル画面に中身を表示してくれます。
cat /etc/wpa_supplicant/wpa_supplicant.conf
詳しくはこちら
catコマンドをもう少し
ssh —— 他のマシンからラズパイを遠隔操作
sshでRaspberry Pi と接続すれば、モニターやキーボード&マウスは必要ありません。有線か無線のネットワークで家庭内LANに入っていれば可能です。
ssh pi@192.168.xx.xx
詳しくはこちら
sshをもう少し
IPアドレスを探す・知る
モニターレスのRaspberry Pi のIPアドレスを忘れてしまった場合など、わざわざモニターに繋げなくても調べる方法があります。
arp -a
詳しくはこちら
arpコマンドもある
単純にRaspberry Pi のIPアドレスをターミナルに表示させるにはipコマンド
ip a
これは省略形です。本来の構文は少し長い。
ip -4 addr show dev wlan0
-4のオプションはIPv4、-6とすればIPv6でこれも省略可能です。
addrはaと省略できるので、最初のip aように引数としてハイフン無しでaとできます。
showもdevも省略でき、Wi-Fiか有線かのwlan0、eth0も1つしか無ければ同じなので省略できます。他にもオプションはありますが、ここでは省きます。
すると、ip aというとても短いコマンドで最低限はOKとなるわけです。
■Pi 5は8GBモデルがオススメ
場面別のよく使うコマンド
基本操作系のコマンドだけではやりたいことができません。ラズパイ(Raspberry Pi)を使う場面毎によく使うコマンドをご紹介します。
今使っているRaspberry Piのシステム情報を知りたい
Raspberry Pi OSってDebianで言うとなんだっけ?
bullseyeとかbookwormとか何だっけ?
自分の環境、特にバージョンや名称を知りたい時に使えるコマンドも忘れずに慣れていきたいですね。
例えば、Linuxのバージョン。
uname -a
Linux recpi 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
こちらのコマンドだとOSのバージョンが分かる。
lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
他の方法もあります。
もっと細かく知りたい
グラフィカルに知る
外付けハードディスクを接続する場合——mount、umount
Linuxでは外部メディアはマウントしないと使えません。マウントさせるディレクトリ(フォルダ)を作成し、それにマウントさせます。(例:3tbhdd)
sudo mkdir /media/3tbhdd
mount デバイス場所 マウントさせる場所
sudo mount /dev/sda1 /media/3tbhdd
どこに外付けハードディスクが繋がっているのかでも使えるコマンド。-hオプションならbyte単位で表示されます。
元々は空き容量を知るコマンドです。
df -h

今回の環境では/dev/sda1に繋がっているとなっていました。
もしくはlsで検索してみます。
ls /dev/sd*
マウントしたいデバイスをラズパイに繋げる前と後で結果が変わります。繋げた後に増えている場所sd*がそのデバイスと分かります。
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3
同じsdaやsdbでも、番号が付いたsda1やsdb1などが、繋げた後のコマンド実行で増えているでしょう。
外付けハードディスクのUUIDを調べる
一意(ユニークなID)でマウントする場合も多いでしょう。UUIDと言います。これをデバイス毎に表示させるのにblkidを使います。
sudo blkid -o list
マウントに関する記事
mountコマンドに触れている記事
NASで外部HDDを使う
sshでログインできない場合
何回か同じPCやMacでSSH接続していると、ローカルにSSHで接続するため認証が違うと怒られログインできません。
Rレッド@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
この場合、macOSなら認証したファイルは、/Users/’ユーザー名’/.ssh/known_hostsにあり、それを編集すれば良いのですが、探すのも面倒なうえ、間違えそうなのでコマンドから削除して対処しています。(正確にはoldと名前変更してバックアップされている)
ssh-keygen -R IPアドレスまたはホスト名
ssh-keygen -R 192.168.xx.xx (またはraspberrypi.localなどのホスト名)
認証のファイル情報が削除されればいつものようにSSHで接続できます。
もう一度sshコマンドで接続すればOKです。
コマンドは使って覚えられる
学校で学ぶのと違い、独学であればとにかくコマンドを叩いてみるしかありません。覚えようとするのは大変なので、とにかく使っていくと「またこのコマンド?」という具合に、よく使うコマンドに気が付くでしょう。
加えて、ターミナルなら入力途中にTABキーを押して候補を表示させられます。(推測候補)また、一度実行したコマンドは履歴として残ります。矢印キーの上下で実行したコマンド履歴から同じコマンドを選べます。
たとえきちんと覚えていなくても、何となく使えてしまうので、難しく考えなくても大丈夫ですよ。
私の場合はよく忘れるので、こういった記事にして自分で検索するということになってしまっています。
Rグリーン










