linux 系统的目录结构

为什么某些执行程序位于/bin、/sbin、/usr/bin或/usr/sbin目录下?例如,less命令位于/usr/bin目录下。为什么不是/bin、/sbin或/usr/sbin?这些目录之间有什么区别呢?

在这篇文章中,让我们主要讲述一下Linux文件系统结构,并解释各个目录的含义。

1. / 根目录

所有文件和目录都从根目录开始。 只有root用户在该目录下有写权限。 请注意,/root是root用户的主目录,与根目录不同。

2. /bin 用户二进制文件

包含二进制可执行文件。 在单用户模式下需要使用的常见Linux命令位于该目录下。 系统所有用户使用的命令也位于这里。 例如:ps、ls、ping、cp。

3. /sbin 系统二进制文件

与/bin目录类似,/sbin也包含二进制可执行文件。 但是,该目录下的Linux命令通常由系统管理员用于系统维护目的。 例如:iptables、reboot、fdisk、swapon。

4. /etc 配置文件

包含所有程序所需的配置文件。 其中还包括启动和关闭脚本,用于启动/停止各个程序。 例如:/etc/resolv.conf、/etc/init.d/cron 。

5. /dev 设备文件

设备文件。这包括终端设备、USB设备或任何连接到系统上的设备。 例如:/dev/tty1、/dev/stdin。

6. /proc 进程信息

包含有关系统进程的信息。 这是一个伪文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录包含有关具有特定pid的进程的信息。 例如:/proc/uptime包含有关系统资源的文本信息。

7. /var 可变文件

var代表可变文件。 这个目录下可以找到那些预计会增长的文件。 其中包括系统日志文件(/var/log)、软件包和数据库文件(/var/lib)、电子邮件(/var/mail)、打印队列(/var/spool)、锁文件(/var/lock)以及重启后需要的临时文件(/var/tmp)。

8. /tmp 临时文件

包含系统和用户创建的临时文件。 该目录下的文件在系统重新启动时会被删除。

9. /usr 用户程序

包含用户程序的二进制文件、库、文档和源代码的二级程序。

/usr/bin目录包含用户程序的二进制文件。如果在/bin目录下找不到用户二进制文件,可以在/usr/bin目录下查找。例如:at、awk、cc、less、scp。 /usr/sbin目录包含系统管理员的二进制文件。如果在/sbin目录下找不到系统二进制文件,可以在/usr/sbin目录下查找。例如:atd、cron、sshd、useradd、userdel。

/usr/lib目录包含/usr/bin和/usr/sbin的库。

/usr/local目录下包含从源代码安装的用户程序。例如,当从源代码安装apache时,它将安装在/usr/local/apache2目录下。

10. /home 用户目录

用于存储所有用户的个人文件的家目录。 例如:/home/john、/home/rose。

11. /boot 引导加载程序文件

包含与引导加载程序相关的文件。 内核initrd、vmlinux和grub文件位于/boot目录下。 例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic。

12. /lib 系统库

包含支持/bin和/sbin目录下的二进制文件的库文件。 库文件的文件名要么以ld开头,要么以lib.so.*结尾。 例如:ld-2.11.1.so、libncurses.so.5.7。

13. /opt 可选附加应用程序

opt代表可选。各个的厂商的应用程序一般安装在这儿。 例如安装在/opt/目录或/opt/子目录下。

​14. /mnt 挂载目录

临时挂载目录,系统管理员可以在其中挂载文件系统。

15. /media 可移动媒体设备

可移动设备的临时挂载目录。 例如,/media/cdrom用于CD-ROM;/media/floppy用于软盘驱动器

16. /srv 服务数据

srv代表服务。 包含特定服务器服务相关的数据。 例如,/srv/cvs包含与CVS相关的数据。

上面大概介绍了linux的目录结构,明白了目录结构有助于我们更好定位linux的文件,能帮助我们更加熟练使用linux。

相关推荐
你好潘先生11 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux