第11回 pi@raspberrypi ~ $ を理解する

前回はLinuxの概要を説明しましたので、今回はLinuxのことをもうちょっと詳しく知るために「pi@raspberrypi ~ $」の意味を解明していきます。読んでいるだけだとつまらないので、実際に操作しながら確認していきましょう。

今回の説明内容

Raspbianのインストールや設定手順の中で、ターミナルから操作するときにはいつも「pi@raspberrypi ~ $」のあとにコマンドを入力していましたよね。今回はこの文字列の意味を詳しく確認して、Raspbian(Linux)の理解を深めます。

今回の説明内容は以下になります。

  • ターミナルソフトを開く
  • 「pi@rasberrypi ~ $」の「pi@raspberry」の意味を理解する
  • 「pi@rasberrypi ~ $」の「~」の意味を理解する
  • 「pi@rasberrypi ~ $」の「$」の意味を理解する
  • 【補足】Raspberry Piのディレクトリ構成

 

ターミナルソフトを開く

これからは手を動かしながらRaspbianをちょっとずつ理解していくことにしましょう。

第7回〜9回の説明で、ターミナルで作業してきて、ずっと出てきた文字列、

pi@raspberrypi ~ $ 

これです。コマンドプロンプトと呼びますよ、ってことは説明しましたが、そもそもこの文字列って何なんでしょうか。

この文字列の意味を理解すると、Raspbian(Linux)のことがちょっとわかりますので、これから一つ一つ説明していきます。

それでは、ターミナルソフトを開きましょう。ローカル環境の場合は「LXTerminal」、Macの場合はアプリケーションフォルダ→ユーティリティ→ターミナル、Windowsの場合はTeraTermを立ち上げます。

Mac/Windowsの場合はターミナルソフトを立ち上げたらRaspberry Piに接続します。Macの場合は、

ssh pi@raspberrypi.local

でしたよね。パスワードを聞かれますが、パスワードを変更していると思いますので、変更後のパスワードを入力します。なお、1回目に接続した場合はいろいろなメッセージが表示されて本当に接続してもいいのか、ということで (yes/no)の問い合わせがありましたが、一度接続したら接続先を記録しているのでこのメッセージは出てきません。

WindowsのTeraTermの場合は、

Teraterm name 1

で接続して(名前で接続できない場合はIPアドレスで接続して)、

Teraterm name pass

ユーザ名は pi、パスワードは設定したものを入力します。TeraTermでは最初に接続した時、本当に接続してもいいのかという確認のダイアログが出てきましたが、一度接続したら接続先を記録しているので確認のダイアログは出てきません。

それでは「pi@raspberrypi ~ $」について一つ一つ確認していきます。

 

「pi@raspberrypi」の意味を理解する

Linuxは、MacやWinと同様にマルチユーザシステムです。ユーザアカウントを複数作成して、ユーザごとにログインします。MacOSXですと、自動ログインをOFFにしている場合、こんな感じでログイン画面が出てきますよね。

Macosx login

このユーザアカウントは、OSをインストールするときに設定するか、あとからシステム環境設定でユーザアカウントを追加しますよね(Windowsの場合はコントロールパネル)。

Raspbianの場合、最初から「pi」というユーザアカウントが作成されていて、初期パスワードは「raspberry」に設定されています。当然ユーザアカウントは追加できますが、このシリーズでは、新規に自分用のユーザアカウントは作成せずに「pi」ユーザを使用することにします。なお、別途動作確認用としてテスト用のアカウントを作成して実験してみる予定です。

ただ将来的には複数のユーザアカウントを作成するかもしれません。もし複数の目的用に複数のユーザアカウントを作成してログインした場合、今ログインしているアカウントがわからなくなるかもしれません、、、よね。そのため、コマンドプロンプトの最初のところには、今ログインしているアカウント名が表示されています。

Raspi cp 1

せっかくターミナルでRaspberry Piに接続しましたので、ちょっと操作してみましょう。次のように入力してリターンキーを押してみてください。(今後の説明ではリターンキーを押す、という記述は省略します)

pi@raspberrypi ~ $ whoami

これは “Who am I?” を意味する、今ログインしているユーザアカウント名を表示するコマンドです。「pi」って表示されたと思います。

でもよく考えてみると、コマンドプロンプトに「pi」ってて出るのに、「whoami(私は誰)」って聞くやつあるか、って気がしますよね。

このコマンドプロンプトはカスタマイズできるんです。自分の場合、よく「$」だけのコマンドプロンプトに変更したりします。このようにコマンドプロンプトにユーザアカウントを表示しないようにカスタマイズすると、そういう時に限って「あれ、どのアカウントで入ってるんだっけ」てなことになったりします。そういう時のために「whoami」コマンドがあります。

なお、Linuxには「グループ」という分類もあります。ユーザは必ず最低1つのグループに所属します。新しくユーザアカウントを作成すると、デフォルトでユーザアカウントと同じ名前のグループが作成され、そのグループに所属します。例えば、「raspberry」というユーザアカウントを新規作成すると、「raspberry」というグループが作成され、ユーザ「raspberry」は「raspberry」グループに所属します。また、一つのユーザアカウントは複数のグループに所属することができます。

この「グルーブ」は、グループごとにファイルアクセスを制御する、といった場面で使用されます。例えば、何か製品を作る時、開発チームのメンバのアカウントは「development」グループに所属、商品企画チームメンバのアカウントは「palnning」グループに所属、この製品のチームリーダは両方のグループに所属する、という感じです。このようにグループを作成しておき、開発チームメンバのみアクセス許可するファイル、という設定ができたりします。

それでは、piユーザはどのグループに所属しているのか確認してみましょう。

pi@raspberrypi ~ $ groups

「groups」は所属しているグループ一覧を表示するコマンドです。piユーザの所属グループは、デフォルトのpiグループだけではなく、多くのグループに所属していますよね。グループの中に「gpio」ってグループもあると思います。何かどこかで聞いたような。Raspbianでは、GPIOを制御できるのはgpioグループに所属しているユーザに限定されています。「pi」ユーザはgpioグループに所属していますので、GPIO制御をできる権限を持っていることになります。

次に「@raspberrypi」の説明です。

LinuxはMacやWinと同様、コンピュータ名が設定されています。Linuxではホスト名と呼びます。コマンドプロンプトの「@raspberrypi」は、「ホスト名がraspberrypiのコンピュータの」という意味になります。つまり「pi@raspberrypi」でホスト名が「raspberrypi」のコンピュータの「pi」ユーザ、という意味です。

Raspi cp 2

今回のシリーズでは1台のRaspberry Piに接続しますので、いちいちホスト名を確認しなくても問題ないですよね。でもホスト名を確認したいケースもあるんです。例えば、Raspberry Piを2台用意して、1台はテスト用で最悪OSが壊れてしまってもいいように使用、もう1台はテスト用のRapsberry Piで確認できたら、製品を仕上げるのに使用する、という場合、それぞれのRaspberry Piを区別する必要がありますよね。その場合、それぞれのRaspberry Piにホスト名をつけて区別します。

Raspi multi

このような時はターミナルのウインドウを複数表示して操作します。その場合、今操作しているターミナルのウインドウがどちらのRaspberry Piにつながっているのか、コマンドプロンプトにホスト名が表示されていれば区別できる、というわけです。

念のためホスト名を調べるコマンドも動作確認しておきます。以下のように入力します。

pi@raspberrypi ~ $ hostname

ホスト名は変更していませんので「raspberrypi」と表示されたと思います。

MacからRaspberry Piに接続するとき、ターミナルから、

ssh pi@raspberrypi.local

と入力して接続しました。sshコマンドの仕様は、

ssh ユーザ名@コンピュータ名

となっています。ただこのコンピュータ名は、Raspberry Piのホスト名「raspberrypi」の後に「.local」が付いています。これはBonjourプロトコルで接続するためです。今後何かの事情でホスト名を変更した場合、sshで接続する際にはホスト名に「.local」をつけるようにしてください。

 

「~」の意味を理解する

いきなり結論から言うと、この部分は現在のディレクトリを示していて、これをカレントディレクトリと呼びます。MacやWindowsのデスクトップでは、ファイルを整理する場合、フォルダを作りますよね。このフォルダはディレクトリ、と読み替えて問題ありません(同義です)。「カレントディレクトリ」は、MacやWIndowsでいうと「今開いているフォルダ」って感じになります。

Current folder

でもカレントディレクトリが「~」ってなんなんだろう、って感じになりますので、詳しく説明します。

Raspi cp 3

MacとWindowsのフォルダ構成(=ディレクトリ構成)はかなり違います。例えば、MacやWindowsではアプリケーションを格納しておくフォルダは、Macでは「アプリケーション」フォルダ、Windowsでは「C:¥Program Files」フォルダですよね。それと同じようにRaspbian(Linux)のディレクトリ構成も違います。

Linuxのディレクトリ構成について、これから一部ですが簡単に説明します。なお、Raspbianのディレクトリ構成はこの記事の最後のセクションに説明しておきますので、興味があれば見てみてください。

Linuxでは一番上のディレクトリはルートディレクトリと呼ばれ、

/

で表します(実はMacも同じ)。このルートディレクトリの下にいろいろなディレクトリが作成されて、それぞれ必要なファイルが格納されています。MacやWindowsのフォルダと同様、ディレクトリの下にさらにディレクトリを作成できます。ディレクトリの区切りは「/」になります。

例えば、ユーザのホームディレクトリはルートディレクトリのすぐ下の

/home

という名称のディレクトリの下にユーザ名で作成されます。piユーザであれば、

/home/pi

というディレクトリになります。

また、先ほど出てきたコマンドも特定のディレクトリに格納されています。例えば、whoami や groupsコマンドなど一般的なLinuxコマンドは

/usr/bin

に格納されています。hostnameはLinuxの基本コマンドになりますので、

/bin

に格納されています。

それでは、カレントディレクトリを確認するコマンドがあるので確認してみます。

pi@raspberrypi ~ $ pwd

pwdは “Print Working Directory” (現在作業しているディレクトリを表示)の略です。コマンドを入力すると、

pi@raspberrypi ~ $ pwd
/home/pi

ってなりましたよね(ホームパイ、ってお菓子があったような…)。ログイン直後のカレントディレクトリはホームディレクトリになっています。

あれ?、コマンドプロンプトで表示されているカレントディレクトリは「~」でしたよね。でも今いるディレクトリは /home/pi です。これはどういうことかというと、「~」は自分のホームディレクトリを意味しているためなんです。同じ「~」でも、ユーザアカウント「pi」でログインしている時は、「~」は「/home/pi」になりますし、ユーザアカウント「raspberry」でログインしている時は、「~」は「/home/raspberry」になります。

ホームでレクトリが「~」というのは他のLinux系の記事でもよく出てきますので、ぜひ覚えておいてください。

それでは次に、ホームディレクトリの中身を見てみましょう。ディレクトリの中身を表示するには、「ls」コマンドを使用します。「ls」はlistの意味です。

pi@raspberrypi ~ $ ls
Desktop Documents Downloads Music Pictures Public Templates Videos python_games

紫色の文字はディレクトリを意味しています。上のように予めいくつかのディレクトリが作成されています。ディレクトリをよく見ると、「Desktop」があったり「Music」「Pictures」があったり、なんかMacやWindowsに似てますよね。

ではMusicディレクトリの中身を見てみます。Musicディレクトリの中身を見るには、「ls」コマンドの後にスペースを入れて、ディレクトリ名を入力します。

pi@raspberrypi ~ $ ls Music

何も表示されませんでした。ちょっと寂しいですが、Musicディレクトリは空です。もしかしたら以下のように表示された方もいるかもしれません。

pi@raspberrypi ~ $ ls music
ls: music にアクセスできません: そのようなファイルやディレクトリはありません

よく見ると、music、と最初のmを小文字で入力しています。Linuxではディレクトリ名、ファイル名はすべて大文字小文字を区別します。「Music」と「music」は別物になりますので注意が必要です。

もうちょっとディレクトリに慣れておきましょう。今は

pi@raspberrypi ~ $ ls Music

というように、カレントディレクトリにある「Music」をそのまま「Music」と指定しました。今度は別の指定をしてみます。

pi@raspberrypi ~ $ ls /home/pi/Music

この指定方法も先ほどと同じ意味になります。このようなディレクトリの位置指定文字列を「パス」と呼びます。lsをしてもファイルが見つからない時、「パスあってる?」とか言ったりします。

先ほどはカレントディレクトリにある「Music」ディレクトリを指定しましたが、このMucisディレクトリは「/home/pi」にあるんですよね。ということで、これらをつなぎ合わせて、上のように指定することもできます。

また「/home/pi」はホームディレクトリでしたよね。ホームディレクトリは「~」でも表現できますので、以下の指定方法でもOKです。

pi@raspberrypi ~ $ ls ~/Music

ちょっとややこしくなってきましたね。繰り返し使っていればいずれ覚えます。大丈夫です。

覚えることがたくさんあってすみませんが、もうちょっと補足させてください。

先ほどのMusicディレクトリの指定で、カレントディレクトリのMusicフォルダを指定するのに

Music

と指定しました。別の方法として、ルートディレクトリから指定する方法、

/home/pi/Music

もありました。「Music」のようにカレントディレクトリを起点に指定する方法を「相対パス指定」、「/home/pi/Music」というようにルートディレクトリ(/)から指定する方法を「絶対パス指定」と呼びます。

次に「python_games」ディレクトリの中身を確認してみます。

もしかして、こんな長い文字列打つの嫌だよね、って思ったりしませんでしたか? それは普通の感覚です。ほぼ100%の人がそう思うだろう、ということで、ちょっと工夫がされています。まず「ls」コマンドに続けて「p」(小文字)だけ入力してください。

pi@raspberrypi ~ $ ls p

この状態でTABキーを押してください。

pi@raspberrypi ~ $ ls python_games/

入れたかった文字列が自動入力されましたよね。先頭の何文字かを入力した後にTABキーを押すと補完してくれる機能があります。カレントディレクトリを見ると、pで始まるものは「pyton_games」しかないですよね。ということでTABキーを押すと「これしかないだろ」ってことで自動的に補完してくれます。なお、最後に「/」が付いていますが、これはディレクトリであることを示しています。ディレクトリとわかるときは「/」の入力はしなくても問題ありません。

ではもう一つやってみましょう。「Documents」ディレクトリの中身を見てみます。

pi@raspberrypi ~ $ ls D

ここまで入力したらTABキーを押して、、、なんか警告音がなっておしまいじゃなかったですか? 確かにこれを補完するのは人間でも難しいです。というのは、カレントディレクトリには D で始まるディレクトリは「Desktop」「Documents」「Downloads」があります。Raspbianに対して、「Dで始まるあれお願い」って言ってもわからないですよね。それではもう一回TABキーを押してみてください。

pi@raspberrypi ~ $ ls D (ここでTABキーを押す)
Desktop/ Documents/ Downloads/
pi@raspberrypi ~ $ ls D

Raspbianとしては、Dだけじゃわからないのに、もう一回TABキーが押されて迷惑だしウザいので、仕方ないからDで始まるディレクトリを表示した、というわけです。

それでは、Documentsディレクトリを表示するのにどこまで入力を省略できるかというと、「Documents」と「Downloads」がありますので、「Doc」までの入力は必要ですよね。ということで、Docまで入力してTABキーを押してみます。

pi@raspberrypi ~ $ ls Doc (ここでTABキーを押す)

無事補完されてDocumentsディレクトリの中身が表示されましたよね。

このTABキーでの補完は、ディレクトリだけでなくファイル名やコマンドでも有効です。これはかなり多用するので慣れておいてください。

ちょっと例としては強引ですが、また「Music」フォルダの中身が見たくなりました(中身がないのに…)。この場合は「ls M」まで入力してTABキーを押せば入力の手間が省けますよね。入力の手間を省く他の方法もご紹介しておきます。

「ls Music」は先ほど入力しました。それを呼び出す方法があります。上矢印キーを一度押してみてください。

pi@raspberrypi ~ $ ls Documents/

こんな感じになりましたか? このような文字列にならなくても何か表示されたと思います。

上矢印キーを1回押すと、1回前に実行したコマンドを呼び出すことができます。上矢印キーを何回か押すと、「ls Music」が出てきましたよね。出てきたらリターンキーを押せばOKです。なお、行きすぎた場合は下矢印キーを押せばOKです。これもよく使いますので、ぜひ慣れておきましょう。

 

「$」の意味を理解する

これも結論から先に言いますと、「$」はユーザ権限を表しています。

MacやWindowsってユーザアカウントの種類として、「管理者」と「一般ユーザ」がありますよね。以下はMacの例ですが、「管理者」と「通常」(一般)ユーザがあります。

User type

Linuxの場合はユーザ権限に2種類あります。一般ユーザとスーパーユーザです。記号は以下のようになっています。

記号 意味
$ 一般ユーザ権限
# スーパーユーザ権限(root)

これでコマンドプロンプトの理解ができました。

Raspi cp 4

スーパーユーザ権限を持つユーザのユーザアカウントは「root」です。一般ユーザ権限では、他人のホームディレクトリのファイルの中身を見たり、他人のパスワードを変更したりすることはできませんが、一方でrootはこれらを含めてなんでもできます。

Linuxではrootユーザは必ず設定されています。当然、Raspbianでもrootユーザアカウントは作成されていますが、パスワードが設定されていないためrootではログインできません。rootユーザのパスワードを設定してログインする方法は、開発環境をつくる時に説明します。

よく書籍やネットを調べると、コマンド入力の時に、

 $ sudo apt-get update 

とか

 # apt-get update 

という記述を見ることがあります。コマンドプロンプトのところに、「$」とある場合は「一般ユーザ権限で実行してください」という意味で、「#」がある場合はスーパーユーザ権限で実行してください」という意味になります。説明文で「次のコマンドはスーパーユーザ権限で実行してください」などと明示的に書かず、この記号で表現しているケースもあるので、この記号にも慣れておきましょう。

rootはなんでもできるけど、一般権限のユーザはいろいろと制限があります。では、何が制限されて、それはどのように制御しているのか、これから確認していきます。

それでは、先ほど使った「ls」コマンドを使って、ユーザ権限などにより何がどのように制御されているのか確認します。

lsコマンドにはオプションを指定することができます。「ls」のあとにスペースを空けて、「-」(ハイフン)を入力、その直後にオプション文字を入力します。ハイフンが2つ必要なオプションもあります。また、他のコマンドもオプション指定は同様の記述になります。

と言ってもわかりづらいので早速試してみましょう。まずは以下のように入力してみてください。「ls」の後はスペース、ハイフン、ローマ字のエルです。

pi@raspberrypi ~ $ ls -l
合計 36
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Desktop
drwxr-xr-x 5 pi pi 4096  1月  1  1970 Documents
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Downloads
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Music
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Pictures
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Public
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Templates
drwxr-xr-x 2 pi pi 4096 10月 17 13:56 Videos
drwxrwxr-x 2 pi pi 4096  1月  1  1970 python_games

「ls」のみ入力した時はディレクトリ名の文字列が表示されただけですが、今回は各ディレクトリの詳細情報が表示されています。オプションの「-l」はロング形式で表示する、という意味になります。

結果の1行目は「合計 36」と表示されていますが、これはリストされたファイルサイズの合計ブロック数で、Raspbianの場合は1ブロック=1kバイトで表示されているので、合計で36ブロック、という意味です。(ブロック数については他にもいろいろと知識が必要になるため説明は省略します)

次の行からはどの行も同じフォーマットですので、最初のDesktopディレクトリを例にあげて説明します。

Ls l

説明は後ろから行ったほうが都合がよいので、「Desktop」から説明します。といっても「Desktop」は説明するまでもないですよね。オプションなしで「ls」コマンドを入力したときに表示された「Desktop」です。

右から2番目のブロックは日付です。この日付は最終更新日になります。年号がない場合は今の年になります。この例では、この記事を書いたのは2015年ですので、2015年10月17日 13:56、ということになります。

次の数字はファイルサイズで単位はバイトです(lsにオプションをつけると他の単位でも表示できます)。通常のテキストファイルなどですと他の数字になりますが、Raspbianの場合、ディレクトリは一律4096バイトになります。ディレクトリ一つを4096バイトで管理する、というのはLinuxのファイル管理システムに起因しています。またシステムよって数値が異なることもあります。

次の「pi」はこのファイルを所有しているグループになります。何通りか呼び方があるようですが、この入門シリーズでは「グループ属性」と呼ぶことにします。この例では、Desktopディレクトリのグループ属性は「pi」グループであることを示しています。

次の「pi」はこのファイルを所有しているユーザです。こちらも何通りか呼び方がありますが、この入門シリーズではオーナーユーザと呼ぶことにします。この例では「pi」ユーザが所有しています。(なお、先ほどのグループ属性もこのオーナーユーザもコマンドで変更することが可能です)

その左の数字はリンク数を示しています。リンクについてはGPIOを制御するときにでてきますので、そこで詳しく説明します。

ここまでの情報で、「Desktop」ディレクトリは、所有するオーナーユーザは「pi」ユーザで、さらに所有するグループは「pi」グループであることがわかりました。でも「所有する」といってもなんでもできるわけではないんです。では「pi」ユーザ、あるいは「pi」グループ所属ユーザが、Desktopに対して何ができるのか、というと、一番左側の文字列に表示されています。

一番左の文字列「drwxr-xr-x」はファイルやディレクトリの種別とパーミッション(またはアクセス権と呼ぶ)を示しています。パーミッションとは、ファイルやフォルダに対してどのような操作が許可されているか、という意味になります。

最初はとても理解できない感じですが、今後いろいろとこのパーミッションの確認をする機会があるので、いずれはこれをスラスラ読めるようになります。

それでは、この文字列について詳しく説明します。

Access rights

最初の一文字目は以下の文字で種類を表してします。

記号 意味
- ファイル
d ディレクトリ
l (エル) リンク

※他にもありますが、よく出てくる記号は上の3つです。

この例では「d」ですので、「Desktop」はディレクトリであることを示しています。

次は3文字ずつセットで、3つ繰り返されています。最初の3文字がオーナーユーザのパーミッション、次の3文字がグループ属性のグループのパーミッション、最後の3文字がその他のユーザのパーミッションになります。

rwxとかr-xの意味はわからないけど、ここまでで以下のことがわかりますよね。

ユーザ パーミッション
オーナーユーザ
(この例ではpiユーザ)
rwx
グループ属性のグループ
(この例ではpiグループに所属しているユーザ)
r-x
その他ユーザ r-x

この3文字の意味ですが、まず大雑把に説明すると、「r」は読み出し許可、「w」は書き込み許可、「x」は実行許可を意味しています。「-」はその許可が与えられいいない、という意味です。

なお、ファイルとディレクトリではパーミッションの意味は若干異なります。正確には以下のような意味になります。

ファイルのパーミッション

記号 意味
r ファイル読み出しを許可
w ファイル書き込みを許可
x ファイル実行を許可

ディレクトリのパーミッション

記号 意味
r ディレクトリの中身表示を許可(lsコマンドで中身を確認できる)
w ディレクトリ内にファイル新規作成、ファイル削除、サブディレクトリ作成を許可
x このディレクトリへの移動、検索を許可

これをまとめると以下になります。
つまり、もうちょっと解釈すると以下のようになります。

ユーザ パーミッション
オーナーユーザ
(この例ではpiユーザ)
r: ディレクトリの中身表示の許可あり
w: ディレクトリ内にファイル新規作成、ファイル削除、サブディレクトリ作成の許可あり
x: ディレクトリへの移動、検索の許可あり
グループ属性のグループ
(この例ではpiグループに所属しているユーザ)
r: ディレクトリの中身表示の許可あり
-: ディレクトリ内にファイル新規作成、ファイル削除、サブディレクトリ作成の許可なし
x: ディレクトリへの移動、検索の許可あり
その他ユーザ r: ディレクトリの中身表示の許可あり
-: ディレクトリ内にファイル新規作成、ファイル削除、サブディレクトリ作成の許可なし
x: ディレクトリへの移動、検索の許可あり

ということで、長くなってしまいましたが、「Desktop」はディレクトリで、オーナーユーザである「pi」ユーザは中身を見たり、ファイル作成、削除などできるけど、他のユーザ(「pi」グループ所属ユーザや他のユーザ)は、中身を見ることはできるけど、ファイル削除とかファイル新規作成はできないよ、っていう意味になります。

「ls -l」で表示される内容はある程度わかるようになりましたでしょうか。次回のWi-Fi設定をする際に、このパーミッションの確認が出てきます。

 

【補足】Raspberry Piのディレクトリ構成

ここはこの入門シリーズでは必要ない知識ですが、Raspbianのディレクトリ構成に興味があれば確認してみてください。なお、他のLinuxディストリビューションもだいたい同じ構成ですが、若干差があります。また、以下の内容はルート直下の第一階層までのディレクトリですが、第二階層以降も用途が決められているディレクトリがあります。

ディレクトリ 目的
/bin 基本コマンドを格納。lsやhostnameコマンドはここに格納されています。
/boot 立ち上げ時処理(ブート処理)やLinuxカーネルに必要なファイルを格納
/boot.bak bootのバックアップ置き場
/dev デバイスファイルを格納
/etc システム管理用のいろいろな設定ファイルと起動時に実行されるファイルを格納。Wi-Fi接続設定をしますが、設定ファイルはここに入っています。
/home ユーザのホームディレクトリがユーザアカウントごとに置かれる
/lib 共有ライブラリを格納
/lost+found 何か障害が起きた時にどこのディレクトリに格納するのか不明になってしまった迷子のファイルを格納
/media USBメモリなどのマウント用ディレクトリ
/mnt もともとマウント用ですが、Debian系では使用されないケースが多いようです。一時的なマウント用ディレクトリとして使用
/opt 追加アプリケーションを格納
/proc Linuxカーネルの動作情報などを含む通常のファイルシステムとは異なるシステム
/root rootユーザ(スーパーユーザ)のホームディレクトリ
/run 実行中プロセスの情報を格納
/sbin システム管理者が使用する実行ファイルを格納。poweroffやrebootはこのディレクトリに入っています。
/srv システム(servdデーモン)によって提供されるサイト固有データ
/sys ドライバ関連のプロセスやファイルシステムを格納。Raspberry PiではGPIO制御用ファイルシステムなどはここにあります
/tmp 一時的なファイル置き場
/usr 一般的な実行ファイルやマニュアル、ゲームなどを格納。whoamiやapt-getコマンドはこのディレクトリの下のbinディレクトリに入っています。
/var ログファイルなどを格納

« »