Linux目录结构
初学Linux,首先需要弄清Linux 标准目录结构
/ # 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
├── bin # 二进制执行文件
├── boot # 放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
│ ├── efi
│ └── grub
├── cgroup
│ ├── blkio
│ ├── cpu
│ ├── cpuacct
│ ├── cpuset
│ ├── devices
│ ├── freezer
│ ├── hugetlb
│ ├── memory
│ └── perf_event
├── dev # 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt
│ ├── block
│ ├── char
│ ├── cpu
│ ├── disk
│ ├── fd -> /proc/self/fd
│ ├── input
│ ├── mapper
│ ├── net
│ ├── pts
│ ├── shm
│ ├── vfio
│ └── xen
├── etc # 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
│ ├── acpi
│ ├── alertmanager-templates
│ ├── alternatives
│ ├── amazon
│ ├── audisp
│ ├── audit
│ ├── bash_completion.d
│ ├── blkid
│ ├── chkconfig.d
│ ├── cloud
│ ├── cron.d
│ ├── cron.daily
│ ├── cron.hourly
│ ├── cron.monthly
│ ├── cron.weekly
│ ├── dbus-1
│ ├── default
│ ├── depmod.d
│ ├── dhcp
│ ├── docker
│ ├── dracut.conf.d
│ ├── exports.d
│ ├── fonts
│ ├── gcrypt
│ ├── gnupg
│ ├── groff
│ ├── gss
│ ├── httpd
│ ├── init
│ ├── init.d -> rc.d/init.d
│ ├── iproute2
│ ├── java
│ ├── jvm
│ ├── jvm-commmon
│ ├── krb5.conf.d
│ ├── ld.so.conf.d
│ ├── libreport
│ ├── logrotate.d
│ ├── lvm
│ ├── mail
│ ├── maven
│ ├── modprobe.d
│ ├── NetworkManager
│ ├── ntp
│ ├── openldap
│ ├── opentsdb -> /usr/share/opentsdb/etc/opentsdb
│ ├── opt
│ ├── pam.d
│ ├── pkcs11
│ ├── pki
│ ├── pm
│ ├── popt.d
│ ├── ppp
│ ├── prelink.conf.d
│ ├── profile.d
│ ├── prometheus
│ ├── rc0.d -> rc.d/rc0.d
│ ├── rc1.d -> rc.d/rc1.d
│ ├── rc2.d -> rc.d/rc2.d
│ ├── rc3.d -> rc.d/rc3.d
│ ├── rc4.d -> rc.d/rc4.d
│ ├── rc5.d -> rc.d/rc5.d
│ ├── rc6.d -> rc.d/rc6.d
│ ├── rc.d
│ ├── request-key.d
│ ├── rpm
│ ├── rsyslog.d
│ ├── rwtab.d
│ ├── sasl2
│ ├── security
│ ├── selinux
│ ├── skel
│ ├── smrsh
│ ├── ssh
│ ├── ssl
│ ├── statetab.d
│ ├── sudoers.d
│ ├── sysconfig
│ ├── sysctl.d
│ ├── terminfo
│ ├── tmpfiles.d
│ ├── udev
│ ├── update-motd.d
│ ├── X11 # 存放与x windows有关的设置。
│ ├── xdg
│ ├── xinetd.d
│ ├── yum
│ └── yum.repos.d
├── hbase_fs
│ ├── archive
│ ├── corrupt
│ ├── data
│ ├── MasterProcWALs
│ ├── mobdir
│ ├── oldWALs
│ ├── staging
│ └── WALs
├── hohott
│ ├── docker-demo
│ └── koa-demos
├── home # 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
├── lib
│ ├── firmware
│ ├── kbd
│ ├── modules
│ ├── terminfo
│ └── udev
├── lib64
│ ├── dbus-1
│ ├── device-mapper
│ ├── libnfsidmap
│ ├── rsyslog
│ ├── rtkaio
│ ├── security
│ ├── tls
│ └── xtables
├── local
├── lost+found # 系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
├── media
├── mnt
├── nexus-data
├── opt # 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
│ ├── aws
│ ├── clink2-deploy
│ ├── data
│ ├── deploy
│ ├── heapster-1.5.3
│ ├── istio-0.7.1
│ └── istio-0.7.1.bak
├── proc # 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
│ ├── 1
│ │...
│ ├── 9
│ ├── acpi
│ ├── bus
│ ├── driver
│ ├── fs
│ ├── irq
│ ├── net -> self/net
│ ├── scsi
│ ├── self -> 6516
│ ├── sys
│ ├── sysvipc
│ ├── thread-self -> 6516/task/6516
│ ├── tty
│ └── xen
├── root # 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
├── run
│ ├── cloud-init
│ └── docker
├── sbin # 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
├── selinux
├── srv # 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
├── sys
│ ├── block
│ ├── bus
│ ├── class
│ ├── dev
│ ├── devices
│ ├── firmware
│ ├── fs
│ ├── hypervisor
│ ├── kernel
│ ├── module
│ └── power
├── tmp # 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
├── usr
│ ├── bin
│ ├── etc
│ ├── games
│ ├── include
│ ├── lib
│ ├── lib64
│ ├── libexec
│ ├── local
│ ├── sbin
│ ├── share
│ ├── src
│ └── tmp -> ../var/tmp
└── var
├── account
├── cache
├── db
├── empty
├── games
├── kerberos
├── lib
├── local
├── lock
├── log
├── mail -> spool/mail
├── nis
├── opt
├── preserve
├── run
├── spool
├── tmp
├── www
└── yp
FHS
FHS依据文件系统使用的频繁与否与是否允许使用者随意更动, 而将目录定义成为四种交互作用的形态,用表格来说有点像底下这样:
可分享的(shareable) | 不可分享的(unshareable) | |
---|---|---|
不变的(static) | /usr (软件放置处) /opt (第三方协力软件) | /etc (配置文件) boot (开机与核心档) |
可变动的(variable) | /var/mail (使用者邮件信箱) /var/spool/news (新闻组) | /var/run (程序相关) /var/lock (程序相关) |