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レッド Rレッド
ls -alコマンドは一番使ってるなー。

次の記事で、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つの役割があります。

  1. ファイル・ディレクトリの移動
  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

dfコマンド結果

今回の環境では/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レッド 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グリーン Rグリーン
このページをブックマークして活用してください