Linux ディレクトリ構成
/
ルートディレクトリのこと。ルートディレクトリとは、コンピュータファイルシステムにおいて、ファイル階層における最初または最上位のディレクトリのことである。ルートディレクトリは、全ての枝の開始点である木の幹に例えることができる。ルートファイルシステムは、ルートディレクトリが位置しているのと同じディスクパーティションに含まれるファイルシステムである。ルートファイルシステムは、システムのブート時にマウントされる他の全てのファイルシステムの頂点にあるファイルシステムである。
/bin
$ ls /bin [ chmod date domainname expr ksh ln mv pwd sh sync unlink bash cp dd echo hostname launchctl ls pax rm sleep tcsh wait4path cat csh df ed kill link mkdir ps rmdir stty test zsh
/home
一般ユーザーのホームディレクトリ。ホームディレクトリとは、UNIX系のOS(LinuxとかMacとか)においてログイン直後にいる場所のことである。利用者は自分に割り当てられたホームディレクトリ内には自由にファイルやサブディレクトリを作成することができる。ログインするとカレントディレクトリ(ファイルシステム内での現在地)が自分のホームディレクトリに設定されることが多い。多くのシェルでは「~」(チルダ)という記号が自分のホームディレクトリを表している。
/etc
/etcは,Linuxディストリビューションを構成する各種プログラムの設定ファイルを格納したディレクトリである。
afpovertcp.cfg emond.d manpaths periodic security aliases find.codes manpaths.d pf.anchors services aliases.db fstab.hd master.passwd pf.conf shells apache2 ftpusers my.conf pf.os snmp asl gettytab nanorc php-fpm.conf.default ssh asl.conf group networks php-fpm.d ssl auto_home hosts newsyslog.conf php.ini.default sudo_lecture auto_master hosts.equiv newsyslog.d postfix sudoers autofs.conf irbrc nfs.conf ppp sudoers.d bashrc kern_loader.conf notify.conf profile syslog.conf bashrc_Apple_Terminal krb5.keytab ntp-restrict.conf protocols ttys com.apple.screensharing.agent.launchd localtime ntp.conf racoon wfs csh.cshrc locate.rc ntp_opendirectory.conf rc.common xtab csh.login mach_init.d openldap rc.netboot zprofile csh.logout mach_init_per_login_session.d pam.d resolv.conf zshrc cups mach_init_per_user.d passwd rmtab defaults mail.rc paths rpc dnsextd.conf man.conf paths.d rtadvd.conf
/etcに格納されている設定ファイルは,大きく6種類に分類できる。(1)Linuxシステムの起動に関するもの(2)システム設定全般に関連するもの(3)ネットワーク設定(4)サーバー・ソフトウエアに関する設定(5)X Window Systemの設定(6)シェルやアプリケーション・ソフトウエアに関する設定である。
/usr
ユーザーサービスやリソースが格納されるディレクトリ。その用途は多様であり、さまざまなものがここに格納される。共有可能なファイルは基本的にここに置かれる。各ユーザーが共通して利用するプログラム・ライブラリのデータであり、ソースからコンパイルしたソフトなどはこちらにインストールされる。通常パッケージの追加するこのディレクトリにインストールされることが多い。また、etcに保存されている設定ファイルのシンボルリンクもこちらに貼られることも多い。
X11 X11R6 bin include lib libexec local sbin share standalone
/sbin
再起動やファイルシステムの操作などシステム管理者用のコマンドが配置されている。/bin同様、新しいコマンドの追加や変更は推奨されない。shutdown、rebootなど。
apfs_hfs_convert fsck_apfs fstyp_msdos md5 mount_devfs mount_smbfs newfs_udf reboot autodiskmount fsck_cs fstyp_ntfs mknod mount_exfat mount_udf nfsd route disklabel fsck_exfat fstyp_udf mount mount_fdesc mount_webdav nfsiod rtsol dmesg fsck_hfs halt mount_acfs mount_ftp mpioutil nologin shutdown dynamic_pager fsck_msdos ifconfig mount_afp mount_hfs newfs_apfs pfctl umount emond fsck_udf kextload mount_apfs mount_msdos newfs_exfat ping fibreconfig fstyp kextunload mount_cd9660 mount_nfs newfs_hfs ping6 fsck fstyp_hfs launchd mount_cddafs mount_ntfs newfs_msdos quotacheck
/tmp
テンポラリデータの保存場所でメモリ上の一時ファイルを保存する。ダウンロードフォルダとして利用することもある。再起動時に消去される。また通常はcronで定期的に消去される。
/var
ログやキャッシュなど、可変的システムデータ(動的ファイル)が格納されるディレクトリである。一時的なデータとしては/tmpと同じだが、こちらは再起動しても消去されずに残る。
agentx audit db folders jabberd log mail netboot root run spool vm at backups empty install lib ma msgs networkd rpc rwho tmp yp
/opt
ディレクトリ内にはユーザーがインストールした静的データ、主にプログラムが格納される。ただしGNUビルドシステムやパッケージ管理システムを利用したインストールの場合、/usr/localもしくは/usrディレクトリにインストールされるので、専らソフトウェア・ベンダーが提供するアプリケーションであることが多い。
/dev
コンピューターに接続されたデバイス(マウスやキーボード、ディスク等)を扱うファイルが置かれている。
/lib
/binや/sbinのコマンドを実行するのに必要なファイルが配置されてる。基本的にユーザーが変更を加えることはない。64bit用の共用ファイルは別途「lib64」というディレクトリにある。32bitと間違えないように注意。libc、libsslなど。
/boot
ブートに必要なファイルが格納されるディレクトリ。ブートログやカーネルイメージ(Linuxカーネルを格納して圧縮したファイル)が保存されている。vmlinuzなど。ブートとは、コンピュータシステムの電源投入時、あるいはシステムのリセット後、モニタやOSなどなんらかの基本的なシステムソフトウェアを主記憶に展開し、ユーザプログラムを実行できるようにするまでの処理の流れのことである。
/lost+found
システムのバックアップや復元用のファイルが格納されるディレクトリである。意図しない再起動やシャットダウン時に使われる。通常ユーザーが操作することは無い。
/proc
/procは,プロセスやメモリーなどのLinuxシステム上のリソース関連情報を、あたかもファイルであるかのように配置した仮想的なファイル・システムである。仮想的とはいえ、通常のファイルと同じようにアクセスできる。/procディレクトリにあるサブディレクトリの名前(数字)は,プロセスIDを意味する。
/procにあるcpuinfo(CPUの情報)や、partitions(パーティション情報)、uptime(システムの駆動情報)、version(Linuxカーネルのバージョン情報)などのファイルの値は、他のコマンドが情報を出力する際に直接参照されている。これらの値の実態は,稼働中のLinuxカーネルの内部情報である。例えば、/proc/sys以下には,システムの動作速度に関する情報がファイルとして配置されている。これらのファイルの内容を書き換えることで,カーネル内部の変数を変更できる。
/sys
動作しているプロセスやドライバを/procで管理すると膨大になるため、/sysにドライバ関連のプロセスをまとめているディレクトリ。しかし完全に分離されているわけではない。