在Linux系统中,最小的数据存储单位为文件。“一切都是文件”是Linux和UNIX一致贯彻的原则。也就是说,在Linux中,所有的数据都是以文件的形式存在的,包括设备。为了便于访问文件,Linux按照一定的层次结构来组织文件系统。
由于历史的原因,Linux的目录组织参考了UNIX的做法。而UNIX对于系统目录的组织和命名是有一定的规律可循的。下面通过tree命令列出当前系统中根目录下的所有目录:
liu@liu-VirtualBox:/var/log$ tree / -L 1
/
├── bin
├── boot
├── cdrom
├── dev
├── etc
├── home
├── lib
├── lib64
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin
├── snap
├── srv
├── sys
├── tmp
├── usr
├── var
部分常见的系统目录及其功能说明如下。
- /bin :包含系统管理员、系统以及普通用户可以使用的各种可执行命令,例如cp、cat、ed以及tar等。
- /boot : 该目录与系统引导有关,包括系统引导程序、Linux内核文件vmlinuz、磁盘内存映像文件initrd.img以及GRUB引导程序和配置文件等。
- /cdrom : 光盘挂载点,用户可以通过该挂载点访问光盘上的文件。
- /dev : 该目录包含当前系统支持的所有的设备文件。例如console表示控制台,mem表示系统的物理内存,sda表示连接到主控制器的第一个磁盘。
- /etc : 该目录可以说是Linux的控制中心,包含与系统和应用程序有关的各种配置文件,例如passwd、rc、host.conf以及init等。
- /home : 用户主目录的根目录。每创建一个新的用户,就会在该目录下创建一个新的子目录,子目录以用户账号命名。
- /lib和lib64 : 该目录包含所有与系统和应用程序有关的可以共享的库文件。前者为32位,后者为64位。
- /lost+found : 每个文件系统都会包含一个该目录,用来存放fsck命令在检测和修复文件系统时删除的目录或者文件。
- /media : 该目录为移动介质的挂载点。例如,当用户插入U盘或者移动硬盘时,Linux系统会自动将该设备挂载到该目录下的一个子目录中。
- /mnt : 文件系统的临时挂载点。用户可以临时将其他的文件系统挂载到该目录下使用。
- /opt : 各可选应用程序的安装位置。
- /proc : 各进程文件的存放位置。该目录比较特殊,是一个虚拟的文件系统,其中不包括任何物理文件,而是可以访问的当前系统的各种信息,例如CPU、内存、各进程对应的文件以及系统运行时间等。例如,通过/proc/cpuinfo文件可以了解到当前系统的CPU信息,通过/proc/meminfo可以了解到当前系统的内存信息等。
- /root : root用户的主目录。
- /sbin : 该目录包含与系统管理有关的可执行文件,普通用户不可以使用。
- /sys : 该目录包含各种系统设备的配置信息,例如/sys/bus目录包含与系统总线有关的配置信息。
- /tmp : 系统临时目录。
- /usr : 该目录比较特殊,可以作为根目录下的一个子目录,也可以作为一个单独的文件系统。其中包含多种共享数据文件,例如命令、库函数、头文件以及各种应用程序的文档等。
- /var : 该目录同样可以作为根目录的子目录,也可以单独作为一个文件系统,包含各种可变的数据文件,例如日志文件。
本文节选自《Ubuntu Linux系统管理与运维实战》,获出版社和作者授权发布。
《Ubuntu Linux系统管理与运维实战(Linux技术丛书)》(张春晓,肖志健)【摘要 书评 试读】- 京东图书 (jd.com)