新しいものづくりがわかるメディア

RSS


今さらきけない「ラズパイってなんですか?」

今さらきけない「ラズパイってなんですか?」 第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を元に作られていますので、こちらも同様です。

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でいう「フォルダ」と同じものです。よく使うのは以下のコマンドです。

Raspberry Pi OSで使うコマンドの例 Raspberry Pi OSで使うコマンドの例

こうしたコマンドを入力するのには慣れていないかと思いますが、参照しながら使っていくと自然と覚えていくものです。また、たいていの場合は略語なので、そこから類推すると覚えられます。例えば「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での操作にスイッチするのが簡単でしょう。

raspi-configの画面 raspi-configの画面
「Interface Options」から「VNC」を有効にする 「Interface Options」から「VNC」を有効にする

以上、筆者もよく使うコマンドの代表的なものを掲載しましたので、参照しつつ使ってみてください。

ニュース

編集部のおすすめ

連載・シリーズ

注目のキーワード

もっと見る