今さらきけない「ラズパイってなんですか?」
今さらきけない「ラズパイってなんですか?」 第7回 ラズパイで使う「コマンド」って何ですか
ラズパイで動かすことのできる「Raspberry Pi OS」や「Ubuntu」「Volumio」「RetroPie」といったOS(Operating System:オペレーティングシステム)は、「Linux」(リナックス)というOSを元にして作られています。オペレーティングシステムとは、さまざまなアプリケーションを動かすための土台となるソフトで、WindowsやmacOSもオペレーティングシステムの1つです。
Linuxの特徴は何といっても「オープンソース」であることです。OSが作られている「ソースコード」が無料で配布されており、誰でも自由に使用できるほか、改変して配布することも可能です。このため、さまざまなコミュニティーが存在し、世界中の人がそこに参加してOSを作り上げ、その問題点を修正しつつ発展しています。
Linuxのデスクトップやサーバー向けOSは「Linuxディストリビューション」と呼ばれ、「Debian」「Red Hat Linux」「openSUSE」などが有名です。Raspberry Pi OSはDebianを元に作られており、同じくDebianから派生したUbuntuも同じようなコマンドで利用できるので、親和性が高くなっています。先ほど挙げたVolumioやRetroPieはRaspberry Pi OSを元に作られていますので、こちらも同様です。
今さらきけない「ラズパイってなんですか?」
第12回 キャラクターディスプレイモジュールって何ですか
第11回 抵抗? コンデンサー? IC? ラズパイで扱う電子パーツについて教えて!
第10回 ラズパイでLチカって何ですか
第9回 ラズパイでWindowsとやり取りするにはどうしたらいいですか
第8回 「Windowsでラズパイを使う」って何ですか
第7回 ラズパイで使う「コマンド」って何ですか
第6回 ターミナルソフトって何ですか
第5回 GPIOって何ですか? 機能や役割は?
第4回 ラズパイを使う準備って何をしたらいいですか
第3回 Raspberry Pi OSって何ですか
第2回 ラズパイってどうしたら使えますか
第1回 ラズパイってなんですか
一覧ページへ
OSのアップデートやインストールに使うコマンド
ラズパイで使われるコマンドの代表例として挙げられるのは、やはりOSを最新の状態に保つためのコマンドでしょう。ラズパイを使う前には以下のコマンドを使います。
$ sudo apt update $ sudo apt full-upgrade
これはRaspberry Pi OSのアップデートに使うコマンドです。「sudo」とは「su」と呼ばれる「スーパーユーザー」、つまり管理者として実行するという意味で、OSのアップデートは一般ユーザーではできませんので、suを使うことになります。「apt」はソフトウェアの導入や管理のほか、削除をするときに使うパッケージ管理システムです。
では「update」と「full-upgrade」の違いは何でしょうか。updateはパッケージの名前やバージョンとその依存関係を取得して、インストール可能なパッケージの一覧を更新するためのコマンドです。full-upgradeではこの一覧に基づいてアップデートできるパッケージを更新することになります。
full-upgradeを実行すると、インストールするか「y/n」の形式で尋ねてきます。自動的にyを入力して実行する際は、以下のようにすれば問題ありません。
$sudo apt full-upgrade -y
なお、以前は「sudo apt upgrade」で入力することが多かったのですが、システム全体をアップグレードできるfull-upgradeを使うように公式からアナウンスされていますので、こちらを使いましょう。
aptについてもう少し述べておきます。aptコマンドは上記のOSアップデートだけでなく、アプリケーションのインストールにも利用します。
$ sudo apt install ●●● $ apt install ●●●
OSに関わる重要なアプリケーションなどをインストールする際は、aptの前にsudoを付けて入力します。そうでない場合は2番目のようにsudoは付けないでインストールします。
なお、OSのアップデートとアップグレードを一気にしてしまうコマンド入力文もあります。以下のようにすればOKです。
$ sudo apt update && sudo apt full-upgrade -y
ところで上記のように、コマンド入力文の前に「$」が付いているのをよく見かけると思います。これは「一般ユーザーとして入力する」という意味なので、実際にコマンドを入力する際には$を除いた部分を入力することになります。同様にスーパーユーザーでの操作は「#」になります。
ラズパイをシャットダウンするときにもsudoを使います。再起動も同じです。
$ sudo shutdown -h now $ sudo reboot
システムのシャットダウンについてもスーパーユーザーの仕事なので、sudoが付くわけです。
なお、一般ユーザーからスーパーユーザーにスイッチするときには、以下のコマンドを入力します。
$ su
ただしRaspberry Pi OSでは、スーパーユーザーのパスワードが設定されていません。このためパスワードの入力を求められ、今ログインしているユーザーのパスワードを入力してもエラーになります。
$ su Password: su: Authentication failure
スーパーユーザーのパスワードを設定するには以下のように入力します。「sudo passwd root」のあとに設定したいパスワードを入力するだけです。
$ sudo passwd root New password: Retype new password: passwd: password updated successfully
これでスーパーユーザーのパスワードが設定できます。ただしスーパーユーザーのパスワードが存在するということは、それを使って侵入することも可能になる、ということです。このためスーパーユーザーのパスワードを設定するのはセキュリティ面であまりよろしくありません。特に必要がなければ設定しない方が良いでしょう。
ファイル操作などに使うコマンド
ラズパイではこの他、ファイルをコピーしたり削除したりするコマンド、ディレクトリを移動するコマンドがあります。ディレクトリとはWindowsでいう「フォルダ」と同じものです。よく使うのは以下のコマンドです。
こうしたコマンドを入力するのには慣れていないかと思いますが、参照しながら使っていくと自然と覚えていくものです。また、たいていの場合は略語なので、そこから類推すると覚えられます。例えば「cd」は「change directory」、「cp」は「copy」、「mkdir」は「make directory」、「rm」は「remove」といった形です。
その他覚えておくと便利なコマンド
インストールやファイル操作の他にも使うコマンドはあります。知っておくと便利なコマンドを以下に挙げておきます。
・pip
Pythonで書かれたパッケージの場合、先ほどのapt installではなく「pip」を使うことがあります。以下のような入力です。
※Python 2系の場合
$ sudo pip install ●●● $ pip install ●●●
※Python 3系の場合
$ sudo pip3 install ●●● $ pip3 install ●●●
Python 2とPython 3ではプログラムの構文が異なり、動作しない場合もありますので、バージョンについては気を付けましょう。
・wget
インターネット上に置かれているファイルをダウンロードするために使います。以下のような形です。
$ wget http://www.hogehoge.jp/hogehoge.zip
ファイルはホームディレクトリ上にダウンロードされます。通常のpiユーザーの場合は「/home/pi」にダウンロードされます。
・tar
tar形式で圧縮されたプログラムを解凍する場合に使います。そのファイルの存在するディレクトリにフォルダが作成され、解凍されます。
$ tar xvzf hogehoge.tar.gz
x:アーカイブファイルを展開する
v:処理しているファイル名を表示する
z:gzipで圧縮または展開を同時に行う
f:アーカイブファイル名をパラメータで指定する
・unzip
tarと同様にzip形式のファイルを解凍するために使います。
$ unzip hogehoge.zip
・hostname
ラズパイのホスト名やIPアドレスなどを知るためのコマンドです。「-I」という引数を使うとIPv4形式とIPv6形式でIPアドレスを教えてくれます。以下のように入力するとIPアドレスが分かります。
$ hostname -I 192.168.1.78 240d:1a:***:8500:****:b6d4:d175:****
「192.168.1.78」がIPv4形式、「240d:1a:***:8500:****:b6d4:d175:****」がIPv6形式です。
・chmod
ファイルを実行可能にするなど、アクセス権を変更するためのコマンドです。
$ chmod +x hogehoge.py
これを利用すると「python hogehoge.py」といった形で指定しないと実行できないファイルが、「./hogehoge.py」といったようにファイル名だけを指定して実行できるようになります。
・nano
「nano」というテキストエディタを使うためのコマンドです。Raspberry Pi OSで使えるテキストエディタはこの他に「vi」や「vim」などがありますが、直感的に分かりやすいのはnanoです。一定時間ごとにプログラムを動作させるための「crontab」や、「●●.conf」といった定義ファイルを編集するときに使います。
・raspi-config
CUIで操作しているときにラズパイの設定を行うプログラムです。Raspberry Pi ImagerではSSHでのログインを設定できますが、そこからログインしたときには、まずraspi-configで設定するのが便利です。「3」の「Interface Options」から「VNC」を選んで有効化し、「VNC Viewer」などでGUIでの操作にスイッチするのが簡単でしょう。
以上、筆者もよく使うコマンドの代表的なものを掲載しましたので、参照しつつ使ってみてください。