0%

Linux 文件目录参考 (FHS)

/ 目录

系统根目录
一些Linux系统如GoboLinux和Syllable Server使用了和FHS完全不同的文件系统层次组织方法

/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/ #第一层次结构 的根、 整个文件系统层次结构的根目录
├── bin #基本命令所需的二进制文件
├── boot #引导程序文件,例如: kernel、initrd;时常是一个单独的分区
├── cdrom #光盘挂载点
├── dev #设备文件
├── etc #设备主机独有的系统配置文件
├── home #普通用户主文件夹的父目录
├── initrd.img -> boot/initrd.img-4.15.0-54-generic #系统内核
├── initrd.img.old -> boot/initrd.img-4.15.0-52-generic #系统内核
├── lib #必要的共享库和内核模块 (32 bit)
├── lib64 #备用格式基本共享库(可选)
├── lost+found
├── media #可移动设备的挂载点
├── mnt #临时安装文件系统的挂载点
├── opt #可选的应用软件包
├── proc #虚拟文件系统,将内核与进程状态归档为文本文件。例如:uptime、 network。在Linux中,对应Procfs格式挂载
├── root #root 用户目录
├── run #代替/var/run目录
├── sbin #系统必要的二进制文件
├── snap #snap 包的安装目录
├── srv #系统服务的文件
├── sys #虚拟文件系统(sysfs,类似于 /proc,一个procfs),它存储且允许修改连接到系统的设备,然而许多传统UNIX和类Unix操作系统使用/sys作为内核代码树的符号链接
├── tmp #交换文件
├── usr #二级层次结构
├── var #可变数据----在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区
│ └──run #自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替
├── vmlinuz -> boot/vmlinuz-4.15.0-54-generic #系统内核
└── vmlinuz.old -> boot/vmlinuz-4.15.0-52-generic #系统内核

/bin 目录

必要的用户命令二进制文件的存放位置(可以被所有用户使用 )

/bin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
.
├── bash
├── brltty
├── btrfs
├── btrfsck -> btrfs
├── btrfs-debug-tree
├── btrfs-find-root
├── btrfs-image
├── btrfs-map-logical
├── btrfs-select-super
├── btrfstune
├── btrfs-zero-log
├── bunzip2
├── busybox
├── bzcat
├── bzcmp -> bzdiff
├── bzdiff
├── bzegrep -> bzgrep
├── bzexe
├── bzfgrep -> bzgrep
├── bzgrep
├── bzip2
├── bzip2recover
├── bzless -> bzmore
├── bzmore
├── cat
├── chacl
├── chgrp
├── chmod
├── chown
├── chvt
├── cp
├── cpio
├── dash
├── date
├── dd
├── df
├── dir
├── dmesg
├── dnsdomainname -> hostname
├── domainname -> hostname
├── dumpkeys
├── echo
├── ed
├── efibootdump
├── efibootmgr
├── egrep
├── false
├── fgconsole
├── fgrep
├── findmnt
├── fsck.btrfs
├── fuser
├── fusermount
├── getfacl
├── grep
├── gunzip
├── gzexe
├── gzip
├── hciconfig
├── hostname
├── ip
├── journalctl
├── kbd_mode
├── keyctl
├── kill
├── kmod
├── less
├── lessecho
├── lessfile -> lesspipe
├── lesskey
├── lesspipe
├── ln
├── loadkeys
├── login
├── loginctl
├── lowntfs-3g
├── ls
├── lsblk
├── lsmod -> kmod
├── mkdir
├── mkfs.btrfs
├── mknod
├── mktemp
├── more
├── mount
├── mountpoint
├── mt -> /etc/alternatives/mt
├── mt-gnu
├── mv
├── nano
├── nc -> /etc/alternatives/nc
├── nc.openbsd
├── netcat -> /etc/alternatives/netcat
├── netstat
├── networkctl
├── nisdomainname -> hostname
├── ntfs-3g
├── ntfs-3g.probe
├── ntfscat
├── ntfscluster
├── ntfscmp
├── ntfsfallocate
├── ntfsfix
├── ntfsinfo
├── ntfsls
├── ntfsmove
├── ntfsrecover
├── ntfssecaudit
├── ntfstruncate
├── ntfsusermap
├── ntfswipe
├── open -> openvt
├── openvt
├── pidof -> /sbin/killall5
├── ping
├── ping4 -> ping
├── ping6 -> ping
├── plymouth
├── ps
├── pwd
├── rbash -> bash
├── readlink
├── red
├── rm
├── rmdir
├── rnano -> nano
├── run-parts
├── rzsh -> zsh
├── sed
├── setfacl
├── setfont
├── setupcon
├── sh -> dash
├── sh.distrib -> dash
├── sleep
├── ss
├── static-sh -> busybox
├── stty
├── su
├── sync
├── systemctl
├── systemd -> /lib/systemd/systemd
├── systemd-ask-password
├── systemd-escape
├── systemd-hwdb
├── systemd-inhibit
├── systemd-machine-id-setup
├── systemd-notify
├── systemd-sysusers
├── systemd-tmpfiles
├── systemd-tty-ask-password-agent
├── tar
├── tempfile
├── touch
├── true
├── udevadm
├── ulockmgr_server
├── umount
├── uname
├── uncompress
├── unicode_start
├── vdir
├── wdctl
├── which
├── whiptail
├── ypdomainname -> hostname
├── zcat
├── zcmp
├── zdiff
├── zegrep
├── zfgrep
├── zforce
├── zgrep
├── zless
├── zmore
├── znew
├── zsh
└── zsh5

/boot 目录

操作系统内核必须存放在 / 或者 /boot 目录下面

/boot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/boot
├── config-4.15.0-52-generic
├── config-4.15.0-54-generic
├── efi
├── grub
├── initrd.img-4.15.0-52-generic
├── initrd.img-4.15.0-54-generic
├── memtest86+.bin
├── memtest86+.elf
├── memtest86+_multiboot.bin
├── System.map-4.15.0-52-generic
├── System.map-4.15.0-54-generic
├── vmlinuz-4.15.0-52-generic
└── vmlinuz-4.15.0-54-generic

/dev 目录

用于存放特殊文件或者设备文件的地方

  • 如果在有设备需要在 /dev 目录下面手动创建,/dev 目录下面必须要有 MAXKEDEV 这个命令才能去创建它所需要的设备。
  • 同时对于任何本地设备,它可能也会包含在一个名为 MAKEDEV.local 的文件里面。
  • 如果需要,MAKEDEV 必须按规定为系统创建任何系统可以找到的设备,不仅仅只是已进行了安装的设备。
/dev
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/dev
├── acpi_thermal_rel
├── autofs
├── block
├── bsg
├── btrfs-control
├── bus
├── cdrom -> sr0
├── char
├── console
├── core -> /proc/kcore
├── cpu
├── cpu_dma_latency
├── cuse
├── disk
├── dri
├── drm_dp_aux0
├── ecryptfs
├── fb0
├── fd -> /proc/self/fd
├── full
├── fuse
├── gpiochip0
├── hidraw0
├── hidraw1
├── hpet
├── hugepages
├── hwrng
├── i2c-0
├── initctl -> /run/systemd/initctl/fifo
├── input
├── kmsg
├── kvm
├── lightnvm
├── log -> /run/systemd/journal/dev-log
├── loop0
├── loop1
├── loop10
├── loop-control
├── mapper
├── mcelog
├── media0
├── mei0
├── mem
├── memory_bandwidth
├── mqueue
├── net
├── network_latency
├── network_throughput
├── null
├── nvidia0
├── nvidiactl
├── nvidia-modeset
├── nvidia-uvm
├── nvidia-uvm-tools
├── port
├── ppp
├── psaux
├── ptmx
├── pts
├── random
├── rfkill
├── rtc -> rtc0
├── rtc0
├── sda
├── sda1
├── sdb
├── sdb1
├── sg0
├── shm
├── snapshot
├── snd
├── sr0
├── stderr -> /proc/self/fd/2
├── stdin -> /proc/self/fd/0
├── stdout -> /proc/self/fd/1
├── tpm0
├── tpmrm0
├── tty
├── tty0
├── tty1
├── ttyprintk
├── ttyS0
├── ttyS1
├── uhid
├── uinput
├── urandom
├── usb
├── userio
├── v4l
├── vcs
├── vcs1
├── vfio
├── vga_arbiter
├── vhci
├── vhost-net
├── vhost-vsock
├── video0
└── zero

/etc 目录

设备主机独有的系统配置文件(特定主机,系统范围内的配置文件)
关于这个名称当前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为etcetera,这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc存放静态配置文件,不能包含二进制文件)。 自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括反向缩略语如:”可编辑的文本配置”(英文 “Editable Text Configuration”)或”扩展工具箱”(英文 “Extended Tool Chest”)。Wiki

  • /etc 目录下面必须要以下这些文件夹或者说是软连接
目录用途
opt/opt的配置文件
X11X桌面的配置文件(可选)
sgmlSGML的配置文件(可选)
xmlXML的配置文件(可选)
/etc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
/etc
├── acpi
├── adduser.conf
├── adjtime
├── alternatives
├── anacrontab
├── apache2
├── apg.conf
├── apm
├── apparmor
├── apparmor.d
├── apport
├── appstream.conf
├── apt
├── avahi
├── bash.bashrc
├── bash_completion
├── bash_completion.d
├── bindresvport.blacklist
├── binfmt.d
├── bluetooth
├── brlapi.key
├── brltty
├── brltty.conf
├── ca-certificates
├── ca-certificates.conf
├── calendar
├── chatscripts
├── chromium
├── console-setup
├── containerd
├── cracklib
├── cron.d
├── cron.daily
├── cron.hourly
├── cron.monthly
├── crontab
├── cron.weekly
├── cryptsetup-initramfs
├── crypttab
├── cups
├── cupshelpers
├── dbus-1
├── dconf
├── debconf.conf
├── debian_version
├── default
├── deluser.conf
├── depmod.d
├── dhcp
├── dictionaries-common
├── dkms
├── dnsmasq.d
├── dnsmasq.d-available
├── docker
├── dpkg
├── drirc
├── emacs
├── environment
├── ethertypes
├── ffserver.conf
├── firefox
├── fonts
├── fstab #文件系统的静态信息
├── fuse.conf
├── fwupd
├── gai.conf
├── gconf
├── gdb
├── gdm3
├── geoclue
├── ghostscript
├── glances
├── glvnd
├── gnome
├── groff
├── group #关于用户组的文件
├── group-
├── grub.d
├── gshadow
├── gshadow-
├── gss
├── gtk-2.0
├── gtk-3.0
├── hddtemp.db
├── hdparm.conf
├── host.conf
├── hostname
├── hosts
├── hosts.allow #可访问本机的主机
├── hosts.deny #不可访问本机的主机
├── hp
├── ifplugd
├── ImageMagick-6
├── init
├── init.d
├── initramfs-tools
├── inputrc
├── insserv.conf.d
├── iproute2
├── issue
├── issue.net
├── java-11-openjdk
├── java-8-openjdk
├── kernel
├── kernel-img.conf
├── kerneloops.conf
├── ldap
├── ld.so.cache
├── ld.so.conf
├── ld.so.conf.d
├── legal
├── libao.conf
├── libaudit.conf
├── libblockdev
├── libguestfs-tools.conf
├── libibverbs.d
├── libnl-3
├── libpaper.d
├── libvirt
├── lighttpd
├── lintianrc
├── locale.alias
├── locale.gen
├── localtime -> /usr/share/zoneinfo/Asia/Shanghai
├── logcheck
├── login.defs
├── logrotate.conf
├── logrotate.d
├── lsb-release
├── ltrace.conf
├── lvm
├── machine-id
├── magic
├── magic.mime
├── mailcap
├── mailcap.order
├── manpath.config
├── matplotlibrc
├── mc
├── mdadm
├── mime.types
├── minicom
├── mke2fs.conf
├── modprobe.d
├── modules
├── modules-load.d
├── mtab -> ../proc/self/mounts
├── mtools.conf
├── mysql
├── nanorc
├── netplan
├── network
├── networkd-dispatcher
├── NetworkManager
├── networks
├── newt
├── nginx
├── nsswitch.conf
├── openal
├── OpenCL
├── opt
├── os-release -> ../usr/lib/os-release
├── PackageKit
├── pam.conf
├── pam.d
├── papersize
├── passwd
├── passwd-
├── pcmcia
├── perl
├── pki
├── pm
├── pnm2ppa.conf
├── polkit-1
├── popularity-contest.conf
├── ppp
├── presage.xml
├── prime-discrete
├── printcap -> /run/cups/printcap
├── profile
├── profile.d
├── protocols
├── pulse
├── python
├── python2.7
├── python3
├── python3.6
├── qemu-ifdown
├── qemu-ifup
├── ranger
├── rc0.d #开机运行项,优先级不同
├── rc1.d #开机运行项
├── rc2.d #开机运行项
├── rc3.d #开机运行项
├── rc4.d #开机运行项
├── rc5.d #开机运行项
├── rc6.d #开机运行项
├── rcS.d #开机运行项
├── request-key.conf
├── request-key.d
├── resolvconf
├── resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
├── rmt
├── rpc
├── rsyslog.conf
├── rsyslog.d
├── sane.d
├── sasl2
├── securetty
├── security
├── selinux
├── sensors3.conf
├── sensors.d
├── services
├── shadow
├── shadow-
├── shells
├── skel
├── speech-dispatcher
├── ssh
├── ssl
├── subgid
├── subgid-
├── subuid
├── subuid-
├── sudoers
├── sudoers.d
├── sysctl.conf
├── sysctl.d
├── sysstat
├── systemd
├── tenable_tag
├── terminfo
├── texmf
├── thermald
├── timezone
├── timidity
├── tmpfiles.d
├── ucf.conf
├── udev
├── udisks2
├── ufw
├── updatedb.conf
├── update-manager
├── update-motd.d
├── update-notifier
├── UPower
├── usb_modeswitch.conf
├── usb_modeswitch.d
├── vconsole.conf
├── vdpau_wrapper.cfg
├── vim
├── virt-builder -> xdg/virt-builder
├── vmware
├── vtrgb -> /etc/alternatives/vtrgb
├── w3m
├── wgetrc
├── whoopsie
├── wildmidi
├── wpa_supplicant
├── X11
├── xdg
├── zsh
└── zsh_command_not_found

/lib 目录

系统启动所需的共享二进制镜像文件和运行系统所必须的命令的二进制文件

  • 至少下面一个文件名称必须存在在 /lib 目录下
名称描述
libc.so.*C动态链接库
ld*执行时链接器/加载器
  • 如果 C 预处理程序已安装,那么由于历史原因 /lib/cpp 必须重定向到其目录。
/lib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/lib
├── apparmor
├── bridge-utils
├── brltty
├── console-setup
├── cpp -> /etc/alternatives/cpp
├── crda
├── cryptsetup
├── ebtables
├── firmware
├── hdparm
├── ifupdown
├── init
├── klibc-wBFLvVtxy4xJqEadIBJMa78iJz8.so
├── libhandle.so -> libhandle.so.1
├── libhandle.so.1 -> libhandle.so.1.0.3
├── libhandle.so.1.0.3
├── linux-sound-base
├── lsb
├── modprobe.d
├── modules
├── netplan
├── recovery-mode
├── security
├── systemd
├── terminfo
├── udev
├── ufw
└── x86_64-linux-gnu

/lib<qual> 目录

系统上可能存在一个或多个/lib目录变体, 它们支持多个需要单独库的二进制格式。
如果存在一个或多个这些目录,则其内容的要求与普通/lib 目录相同,但不是必需的。

/lib
1
2
/lib64
└── ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.27.so

/media 目录

此目录包含子目录,这些子目录用作可移动介质(如软盘,U盘,cdroms和zip磁盘)的安装点。
从历史上看,已经有许多其他不同的地方用于安装可移动媒体,如 /cdrom/mnt/mnt /cdrom。将所有可移除介质的挂载点直接放在根目录中可能会导致/中存在大量额外目录。尽管最近在 /mnt 中使用子目录作为挂载点已经很常见了,但它与使用 /mnt 直接作为临时挂载点的更古老的传统相冲突

  • 如果相应的子系统已正确安装,那么以下目录或目录的符号链接必须位于 /media
目录描述
floppy软盘驱动器(可选)
cdromCD-ROM驱动器(可选)
cdrecorderCD刻录机(可选)
zipZip驱动器(可选)
/media
1
2
3
4
/media
├── C
├── D
└── l

/mnt 目录

提供此目录,以便系统管理员可以根据需要临时安装文件系统。 此目录的内容是本地内容,不应影响任何程序的运行方式。 安装程序不得使用此目录:必须使用系统未使用的合适临时目录。

/mnt
1
2
3
/mnt

0 directories, 0 files

/opt 目录

要安装在/opt中的软件包必须将其静态文件放在单独的 /opt/<package> 或中
/opt/<provider> 目录树,其中 <package> 是描述软件包的名称,<provider> 是提供商的LANANA注册名称。

  • 保留目录 /opt/bin/opt/doc/opt/include/opt/info/opt/lib/opt/man 供本地系统管理员使用。包可以提供旨在放入的“前端”文件(通过链接或
    由本地系统管理员复制这些保留的目录,但在正常情况下必须保留这些目录。
  • 用户要调用的程序必须位于目录 /opt/<package>/bin 或其下 /opt/<provider> 层次结构。如果软件包包含 UNIX手册页,则它们必须位于 /opt/<package>/share/man 或在 /opt/<provider> 层次结构下 而且 子结构必须使用和 /usr/share/man 一样的目录结构。
  • 可更改的包文件 (在正常操作中更改) 必须安装在 /var/opt 中。
/opt
1
2
3
4
5
6
7
/opt
├── containerd
├── google
├── kingsoft
├── netease
├── openwrt
└── openwrt-build.tar

/root 目录

root 用户目录

/sbin 目录

用于系统管理的实用程序(和其他仅用于root的命令)存储在/sbin/usr/sbin/usr/local/sbin 中。 除了 /bin 中的二进制文件之外,/sbin 还包含引导,恢复,恢复和 / 或修复系统所必需的二进制文件。 已知 /usr 安装后执行的程序(当没有问题时)通常放在 /usr/sbin 中。 本地安装的系统管理程序应放在 /usr/local/sbin

/usr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/sbin
├── acpi_available
├── agetty
├── alsa
├── apm_available
├── apparmor_parser
├── auibusy
├── aumvdown
├── auplink
├── badblocks
├── blkdeactivate
├── blkdiscard
├── blkid
├── blockdev
├── brctl
├── bridge
├── brltty -> /bin/brltty
├── brltty-setup
├── capsh
├── cfdisk
├── cgdisk
├── chcpu
├── crda
├── create-uvm-dev-node
├── cryptdisks_start
├── cryptdisks_stop
├── cryptsetup
├── cryptsetup-reencrypt
├── ctrlaltdel
├── debugfs
├── debugreiserfs
├── depmod -> /bin/kmod
├── devlink
├── dhclient
├── dhclient-script
├── dmeventd
├── dmsetup
├── dmstats -> dmsetup
├── dosfsck -> fsck.fat
├── dosfslabel -> fatlabel
├── dumpe2fs
├── dumpexfat
├── e2fsck
├── e2image
├── e2label -> tune2fs
├── e2undo
├── ebtables
├── ebtables-restore
├── ebtables-save
├── exfatfsck
├── exfatlabel
├── fatlabel
├── fdisk
├── findfs
├── fixparts
├── fsadm
├── fsck
├── fsck.cramfs
├── fsck.exfat -> exfatfsck
├── fsck.ext2 -> e2fsck
├── fsck.fat
├── fsck.minix
├── fsck.reiserfs
├── fsck.xfs
├── fsfreeze
├── fstab-decode
├── fstrim
├── gdisk
├── getcap
├── getpcaps
├── get-quirk-options
├── getty -> agetty
├── halt -> /bin/systemctl
├── hdparm
├── hwclock
├── ifconfig
├── ifdown -> ifup
├── ifquery -> ifup
├── ifup
├── init -> /lib/systemd/systemd
├── insmod -> /bin/kmod
├── installkernel
├── integritysetup
├── ip -> /bin/ip
├── ipmaddr
├── iptables -> xtables-multi
├── iptunnel
├── isosize
├── iw
├── iwconfig
├── iwevent
├── iwgetid
├── iwlist
├── iwpriv
├── iwspy
├── kbdrate
├── key.dns_resolver
├── killall5
├── ldconfig
├── ldconfig.real
├── logsave
├── losetup
├── lsmod -> /bin/kmod
├── lspcmcia -> pccardctl
├── lvchange -> lvm
├── lvm
├── lvmconf
├── lvmdump
├── mdadm
├── mdmon
├── mii-tool
├── mkdosfs -> mkfs.fat
├── mke2fs
├── mkexfatfs
├── mkfs
├── mkfs.bfs
├── mkfs.cramfs
├── mkfs.exfat -> mkexfatfs
├── mkfs.fat
├── mkfs.minix
├── mkfs.msdos -> mkfs.fat
├── mkfs.vfat -> mkfs.fat
├── mkfs.xfs
├── mkhomedir_helper
├── mkntfs
├── mkreiserfs
├── mkswap
├── modinfo -> /bin/kmod
├── modprobe -> /bin/kmod
├── mount.aufs
├── mount.ecryptfs
├── mount.ecryptfs_private
├── mount.exfat -> mount.exfat-fuse
├── mount.exfat-fuse
├── mount.fuse
├── mount.lowntfs-3g -> /bin/lowntfs-3g
├── nameif
├── ntfsclone
├── ntfscp
├── ntfslabel
├── ntfsresize
├── ntfsundelete
├── on_ac_power
├── pam_extrausers_chkpwd
├── pam_extrausers_update
├── pam_tally
├── pam_tally2
├── parted
├── partprobe
├── pccardctl
├── pivot_root
├── plipconfig
├── plymouthd
├── poweroff -> /bin/systemctl
├── prime-offload
├── prime-switch
├── rarp
├── raw
├── reboot -> /bin/systemctl
├── regdbdump
├── reiserfsck
├── reiserfstune
├── request-key
├── resize2fs
├── resize_reiserfs
├── rmmod -> /bin/kmod
├── route
├── rtacct
├── rtmon
├── runlevel -> /bin/systemctl
├── runuser
├── setcap
├── setvtrgb
├── sfdisk
├── sgdisk
├── shadowconfig
├── shutdown -> /bin/systemctl
├── slattach
├── start-stop-daemon
├── sulogin
├── swaplabel
├── swapoff
├── swapon
├── switch_root
├── sysctl
├── tc
├── telinit -> /bin/systemctl
├── tipc
├── tune2fs
├── u-d-c-print-pci-ids
├── udevadm -> /bin/udevadm
├── umount.aufs
├── umount.ecryptfs
├── umount.ecryptfs_private -> mount.ecryptfs_private
├── umount.udisks2
├── unix_chkpwd
├── unix_update
├── ureadahead
├── veritysetup
├── vgcfgbackup -> lvm
├── wipefs
├── wpa_action
├── wpa_cli
├── wpa_supplicant
├── xfs_repair
├── xtables-multi
└── zramctl

/srv 目录

/srv 包含由此系统提供的特定于站点的数据。

/srv
1
2
3
/srv

0 directories, 0 files

/tmp 目录

/tmp 目录必须可用于需要临时文件的程序。
任何程序不得假定 /tmp 中的任何文件或目录在程序的调用之间可以保留下来。

/tmp
1
2
3
4
5
6
7
8
9
10
11
12
13
/tmp
├── appInsights-nodeAIF-444c3af9-8
├── config-err-JF43Rd
├── electron-ssr Crashes
├── fcitx-socket-:0
├── net-export
├── qipc_sharedmemory_cffabfbbcaefccd
├── qipc_sharedmemory_WallchMemoryf72
├── qipc_systemsem_cffabfbbcaefccdab
├── ssh-kuDeYu5jr0zD
├── systemd-private-86a2e1ed2ff64d
├── VSCode Crashes
└── Wallch Local Socket Server

/usr 目录

/usr 是文件系统的第二个主要部分。
/usr 是可共享的只读数据。这意味着 /usr 应该可以在各种符合FHS的主机之间共享,并且不得写入。
任何特定于主机或随时间变化的信息都应该存储在其他位置。
大型软件包不得直接使用 /usr 层次结构下的子目录。

  • 在 /usr 文件夹下面,必须要有这些文件夹:
名称描述
bin用户命令的主要存放点
includeC 语言的头文件
lib库文件
local本地二级目录(在主系统安装后为空)
sbin不重要的系统二进制文件
share与文件系统结构无关的数据
games游戏文件
X11R6X Windows,11版的第6个 release 文件
lib备用库
src源码
/usr
1
2
3
4
5
6
7
8
9
10
11
/usr
├── bin
├── games
├── include
├── lib
├── lib64
├── local
├── sbin
├── share
│ └── man #手册文件夹
└── src #source code

/var 目录

/var包 含可变数据文件。这包括假脱机目录和文件,管理和日志记录数据,以及瞬态和临时文件.
/var的某些部分在不同系统之间不可共享。例如,/var/log,/var/lock 和/var/run。其他部分可以共享,特别是 /var/mail,/var/cache/man,/var/cache/fonts,和 /var/spool/news。
如果 /var不能成为一个单独的分区,通常最好将 /var移出根分区并进入 /usr分区。 (有时这样做是为了减小根分区的大小,或者在根分区中空间不足时)。但是,/var不能链接到 /usr,因为这会使 /usr 和 /var 的分离变得更加困难并且很可能会产生命名冲突。 相反的,将 /var链接到/usr/var。就可以了。

/var
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/var
├── backups
├── cache #应用数据缓存
├── crash #系统崩溃转储文件
├── lib #可变状态信息
├── local #/usr/local 的可变数据
├── lock -> /run/lock
├── log #日志文件
├── mail #用户邮箱
├── opt #/opt 的可变数据
├── run -> /run #与进程运行相关的数据
├── spool #应用脱机文件
├── tmp #两次重启之间的交换文件
└── www

参见

参考系统

  • Ubuntu 18.04

参考资料

  1. 文件系统层次结构标准
  2. Filesystem Hierarchy Standard