Language
日本語
English

Caution

JavaScript is disabled in your browser.
This site uses JavaScript for features such as search.
For the best experience, please enable JavaScript before browsing this site.

UNIX(Linux)
Beginner

  1. What is UNIX (Linux)? - Japanese Only
  2. What are Distributions? - Japanese Only
  3. About CentOS, macOS, and CUI - Japanese Only
  4. Installing CentOS with Virtualization Software and macOS CUI Environment - Japanese Only
  5. Login, root User, and Shutdown - Japanese Only
  6. Command Structure and Important Notes - Japanese Only
  7. File System and Navigating Directories (cd and pwd) - Japanese Only
  8. Key Directories and Listing Contents (ls) - Japanese Only
  9. Advanced Directory Navigation (cd) and Paths - Japanese Only
  10. Advanced ls Command (Part 1) and Dotfiles - Japanese Only
  11. Advanced ls Command (Part 2) - Japanese Only
  12. Tab Completion for Input - Japanese Only
  13. Creating Directories (mkdir) - Japanese Only
  14. Quick File Creation (touch) and About Files - Japanese Only
  15. Standard I/O, Redirection (> and >>), echo, and cat - Japanese Only
  1. Deleting Files and Directories (rm) - Japanese Only
  2. Copying Files and Directories (cp) - Japanese Only
  3. Moving and Renaming Files and Directories (mv) - Japanese Only
  4. What is the vi Editor? - Japanese Only
  5. Basic vi Usage (Part 1) - Japanese Only
  6. Basic vi Usage (Part 2) - Japanese Only
  7. Remote Operations via Terminal (SSH and Tera Term) - Japanese Only
  8. Installing Software (yum and Package Managers) - Japanese Only
  9. User Overview, Verification, Creation, and Switching (adduser and su) - Japanese Only
  10. User Passwords, Deletion, Modification, and sudo (passwd, userdel, usermod) - Japanese Only
  11. About Groups and the groups Command - Japanese Only
  12. Adding, Deleting, and Modifying Groups (groupadd, groupdel, groupmod) - Japanese Only
  13. About Permissions - Japanese Only
  14. Setting Permissions (chmod and chown) - Japanese Only
  1. Home
  2. UNIX(Linux)Beginner - Key Directories and Listing Contents (ls)

Key Directories and Listing Contents (ls) - Japanese Only

みなさまどうも。

さて続きましてUNIX系OSにおいて覚えるべき主要ディレクトリがいくつかあったりするので『ls』コマンドの使い方と合わせて色々と確認していきましょう。

まず最初に確認して頂きたいのが『ルートディレクトリ』っていうやつです。『ルートディレクトリ』とはファイルシステム(ディレクトリツリー)の概念の中で一番最初かつ一番最上位に位置するトップなディレクトリの事です。

そんでもって『ルートディレクトリ』に『cd』コマンドを使って移動するにはどうするのかというとこうします。

cd /

移動先は最上位のディレクトリなので『/』とだけ指定する感じですね。移動した後に『pwd』コマンドで現在位置を確認するとこういう出力になります。以下は『CentOS』の画面です。

[root@localhost ~]# cd /
[root@localhost ~]# pwd
/

ぽつんと「/」が出力されていますね。これでOKです、ちゃんと『ルートディレクトリ』に居る感じになります。

さて、せっかく『ルートディレクトリ』に移動できたのでこのまま他の主要ディレクトリを紹介していきたいと思います。UNIX系OSでよく使われる主要ディレクトリは大体『ルートディレクトリ』の直下とか2階層下あたりに居るのでこの辺を出力してみることにしましょう。

ここで「今居るディレクトリの中身を知るにはどうすんだぜ?」って気分になったと思います。そんなあなたはちょっと前の記事でもちょろっと出てきた『ls』コマンドくんを使ってみましょう。このコマンドを使うと現在のディレクトリの中身を出力してくれます。

「シンプルに内容を出力したい」といった場合はオプションと引数なしでOKなので単純に『ls』と書くだけでOKです。以下のような感じですね。

[root@localhost ~]# ls

するとこんな結果が返ってくるはずです。

[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var

これら全部ディレクトリなわけなんですが、『ルートディレクトリ』の直下に置かれてるディレクトリっていうのは結構重要な感じのディレクトリになります。なのでこれらのディレクトリをざざざっと紹介しておきますね。基本的に略語になっていて読みづらいと思いますのでついでに読み仮名もふっておきます。

/bin(ビン)超基本的なコマンドのみを保存するディレクトリ。後から追加したコマンドとかはここに入れないのが普通です。
/boot(ブート)ブート時に使用するファイルが置かれています。ブートというのを簡単に説明すると「PCとかの電源を入れたりした時に接続してる装置とかを操作出来る状態する」って感じになります。
/dev(デヴ)主に記憶デバイスとかを入れておくディレクトリ。UNIXでは「デバイスをファイルのような扱いにして操作する」って設計になっているのでデバイスを追加とかするとここにファイルのような扱いでデバイスが置かれます。
/etc(イーティーシー または エトセ)設定用のファイルを入れておくディレクトリ。ほぼ全てのソフトウェアの設定用のファイルがここに入ります。なので基本的に中身がカオスになるディレクトリです。
/home(ホーム)一般ユーザー用のディレクトリ。一般ユーザーごとに内部にディレクトリが作られ、ログインすると最初にこのディレクトリに入る形になります。内部のディレクトリはユーザー名、つまり「hsakurama」というユーザーだと『/home/hsakurama』ってディレクトリがホームディレクトリになります。
/lib(リヴ)/binや/sbinの中に用意されたコマンドで使うファイルを入れておくディレクトリ。基本的に32bitで動かすコマンド用となります。
/lib64(リヴ64)/binや/sbinの中に用意されたコマンドで使うファイルを入れておくディレクトリ。基本的に64bitで動かすコマンド用となります。
/lost+found(ロストファウンド)システムのバックアップ用のファイルが置かれるディレクトリ。
/media(メディア)CDドライブとかDVDドライブとかフロッピードライブとかを入れるディレクトリ。UNIXでは「デバイスをファイルのような扱いにして操作する」って設計なので/devと同じくファイルのような扱いで置かれます。
/mnt(マウント)一時的なマウント用のディレクトリ。マウントとは接続された装置をOSに認識させて使うといった意味になります。このディレクトリは一時的なマウント用なので、例えば「USBメモリを接続した」とかした場合にここにファイルのような扱いでそのデバイスが置かれます。/mediaとの違いは「一時的な」という部分になりますね。
/opt(オプト)パッケージ管理ツールとかを使って入れたプログラムを入れておくディレクトリ。パッケージ管理ツールとはコマンドとかを簡単にインストール出来るように作られたツールの事です。詳しくは先の記事で解説します。
/proc(プロック)プロセス実行時にIDがついているものを置いておくディレクトリ。プロセスを簡単に説明すると「現在実行中のプログラム」みたいな感じになり、UNIXではそこにIDを付けて管理するのですがその際のIDが付いてるプロセスがここに入ります。
/root(ルート)管理者かつ最高権力者な『root』さん専用のホームディレクトリ。ちょっとややこしいのですが『ルートディレクトリ』は『/』を指す言葉ですのでこのディレクトリを呼ぶならば「『root』さん用のホームディレクトリ」なんて言い方になります。んでなーぜ『root』さんのホームディレクトリを『/home/root』としないかというと『/home』は沢山のユーザーさんが触るディレクトリになりそこに『root』さんのホームディレクトリを置くと他のユーザーのホームディレクトリと同じように権限を非常に甘くするしかないがそれは危険過ぎるので別のディレクトリにしたという切ない事情からだったりします。この『/root』はrootさんしか触れないようになっているのでセキュリティ的にとっても安心なのでございます。
/sbin(エスビン)システム的に重要なコマンドを置くディレクトリ。重要なコマンドってことなので基本的にrootさんとか管理者用のコマンドになります。前に紹介した『shutdown』コマンドなんかはここにいらっしゃいますね。この中身をいじくるのはやめたほうがよいやーつになります。
/tmp(テンプ)一時ファイルの置き場。一時的なファイルってことなので再起動したり一定時間が経つと勝手に消されます。ちなみに「tmp」とは「一時的な」っていうような意味になるのでプログラミングするときの一時的な変数に「tmp」なんて名前が付けられる事も多いです。
/usr(ユーザー)一般ユーザーが共通して使うファイルとかコマンドとかを置くディレクトリ。一言で言うと「みんなで使うことの出来るファイルとかコマンド」って感じになります。この『/usr』の中に『/usr/bin』とか『/usr/lib』とかが置かれているのですが、これは『ルートディレクトリ』直下にある各ディレクトリとほぼ同じ使い方をされます。例えば『/bin』は「基本的なコマンドとかの置き場」なので『/usr/bin』になったら「みんなで使える基本的なコマンドの置き場」になるといったような感じです。
/var(ヴァー)一時ファイルの置き場。『/tmp』と何が違うのかというとこちらは再起動したりした時とかに勝手に消去されない感じになります。なのでログファイルや一時的なシステムデータなんかが置かれます。その他には何も設定を変更しないWebサーバーソフトウェアで『/var/www』にHTMLファイル等のデータを置くようになっていたりします。この理由は「HTMLファイルは常に更新されるものなので一時的なファイルとして扱う」からだと思います。違ってたらすんません。

ちょいと数が多かったりで色々とヘビー級な感じしますよね。

これいきなり全部覚えるのはさすがに大変だし最初から覚える必要もそれほど無かったりするのですが「各ディレクトリはどういう意味を持ってどのように使われるのか」という事を知っておくと色々と捗る事が多いので暇な時にでもたまに確認してみると良いかもです。まあ沢山触っていくと自然と覚えていくと思うのでのんびーりやっていきましょう。

ちなみにこれらのディレクトリはOSによって構成が違うため「『CentOS』の構成を覚えれば全てのUNIX系OSに対応できる」ってわけではないのでそこも注意ですね。まあ大体同じような感じになってます。

『CentOS』などで『ls』コマンドを打つと色がついている場合がありますよね。実はこの色には意味があり「これはxxxなデータですよー」って教えてくれていたりします。

この配色については結構色々なパターンが用意されてるのとOSによって多少違うので全て紹介するのはちょっと大変なのですが、よく使う項目としては

  • 白 → 普通のファイル
  • 青 → ディレクトリ
  • 水色 → シンボリックリンク
  • 赤色 → リンク先が存在してないなどの理由でちょいと問題があるシンボリックリンク

あたりになるので上記の配色だけ覚えておくようにしましょう。

上記の『シンボリックリンク』ってやつは『WindowsOS』の『ショートカット』みたいな感じのものになります。

ちなみに元々の『ls』コマンドはこんな風に色を付けて出力してくれないのですが最近のUNIX系OSだとデフォルトで色付きで出力されるように調整されているため単純に「ls」と打つだけで色が付いた状態で出力してくれるようになっています。

本来の『ls』コマンドで色付きで出力したいとなると『--color』オプションを付ける感じになります。以下のような感じですね。まあこれについては覚えなくてもOKです。

[root@localhost /]# ls --color

というわけで各主要ディレクトリの解説と『ls』コマンドの基本的な使い方については以上になりますね。次の記事からはファイル操作とディレクトリ操作について色々と紹介していきます。

ではこの辺で。またお会いしましょう。

This article was written by Sakurama.

Author's beloved small mammal

桜舞 春人 Sakurama Haruto

A Tokyo-based programmer who has been creating various content since the ISDN era, with a bit of concern about his hair. A true long sleeper who generally feels unwell without at least 10 hours of sleep. His dream is to live a life where he can sleep as much as he wants. Loves games, sports, and music. Please share some hair with him.

If you find any errors or copyright issues, please .