linux-系统默认目录说明

2023-10-20 10:08:41 浏览数 (1)

很多目录是看着眼熟,但是不知道用来干什么的,了解清楚每个目录的作用在开发开发功能、定位问题都致关重要。 比如从网下安装了一个二进制的工具,这个工具安装在哪个目录下? 比如wget在哪个目录下可以找到? 挂载了USB设备,去个目录下读文件? SSH-KEY 在哪个目录下? 等等,都需要对系统目录有一个基本了解。

系统目录

/ 根目录

每一个文件和目录都是从根目录开始的 root用户具有该目录下的写权限。

/root

是root 用户的主目录,这与/.不一样

/bin 用户二进制文件

bin即,binary。 二进制文件,就是可执行文件,说白就是可执行的程序,一般以命令形式执行。 用户的可执行文件一般放在这里。 存储linux系统自有的所有命令,可以cd bin去查看,里面有比如cp、ls这样系统命令。 就连 cd 这个命令也是在bin下面的。

常用的可执行文件

/bin 如:bash、cat、ls、cd、rm、touch /usr/bin 主要放置应用程序工具的必备执行文件,如:c 、g 、gcc、ncftp

/sbin 系统二进制文件

就像/bin一样,/sbin 同样包含二进制可执行文件。 sbin 全称:system bin 说白了就是一堆工具所需要的命令,bin里装的都是内核所需要命令。sbin里的命令在就像是用yum安装工具后的工具命令的存放处。

/sbin 系统管理的必备程序,如:iptables、reboot、fdisk、ifconfig /usr/sbin 主要放置网路管理的必备程序,例如: dhcpd、httpd、imap、inetd、lpd、named

/etc 系统配置

包含: 系统配置、一些服务配置、帐号密码、应用配置。 我装了httpd配置也在这里。 也包含了用于启动/停止单个程序的启动和关闭shell脚本。 例如:

/etc/profile 系统变量、环境变量 /etc/resolv.conf /etc/logrotate.conf

/dev

装所有的硬件设备的目录

dev命名规则

xx 磁盘类型 y 第几个接口 N 分区编号

举例:

/dev/xxyN 规则 /dev/hda //hd 表示IDE硬盘 a表示第一个接口 /dev/hdb //hd 表示IDE硬盘 b表示第一个接口 /dev/sdb //sd 表示SCSI硬盘 b表示第二个接口 abcd 表示插在主板上的哪个接口 扩展分区不能直接使用,是用必拆分出更多的逻辑分区,扩展分没有个数限制。

N表示分区 主分区、扩展分区 1-4编号 逻辑分区 从5开始算第一个编号 理解:以树型结构来理解:

|-----hda1主分区 //相当于C: |----------hda2 扩展分区 //相当于windows 中的扩展分区 |----------------hda5 逻辑分区 //相当于D: |----------------hda6 逻辑分区 |----------------hdaN 逻辑分区

例 /dev/hda6 主板的第一个接口的和一个逻辑分区

/tmp

包含系统和用户创建的临时文件。 当系统重新启动时,这个目录下的文件都将被删除。

/var变量文件目录

这个目录下可以找到内容可能增长的文件 这包括:

  1. 系统日志文件(/var/log);
  2. 包和数据库文件(/var/lib);
  3. 电子邮件(/var/mail);
  4. 打印队列(/var/spool);
  5. 锁文件(/var/lock);
  6. 多次重新启动需要的临时文件(/var/tmp);

/proc 文件系统

Linux 内核提供的一种伪文件系统,可以在运行时访问内核内部数据结构、改变内核设置的机制 这个文件系统只能存在于内存当中,不占用外部空间。它以文件系统的方式为访问系统内核数据提供接口。

作用: 1.用户和程序可以通过proc得到系统信息,并可以改变内核的某些参数。

三个重要的子目录: net、scsi、sys。

  1. sys目录是可写的,通过他可以攸 改内核的参数。
  2. net、scsi、依赖于内核,如果内核不支持则sisc目录不存在
  3. 以数字命名的目录是系统的进程目录。是以pid号为目录名。它们是读取进程信息的接口。
  4. self目录则是读取进程本身的信息接口,是一个link。

测了一下,比如查看系时间: cd /proc/uptime //有个白色文件说明是文本文件 vi uptime //查看到系统运行的时间,是以豪秒计算的。 几乎所有跟系统相关的东西都可以被查到。

/usr 存放应用程序的目录

/usr/bin 应用程序的存放目录。 yum 就装在bin这个目录下。

说明:应用程序和命令是不同的概念。

子目录说明:

/usr/bin 普通应用,包含用户的二进制文件如果在bin中找不到用户的二进制程序文件,可以到这里找。 /usr/sbin 服务器应用s表示server,包含系统的二进制文件,同要可以来这找sbin中没有的文件 /usr/bin 包含了/usr/bin 和 /usr/sbin用到的库 /usr/etc 配置

用了一段时间后,发现一般开发都把应有装在 /usr/local 这个目录下。

/usr目录的由来,看了网上的分析很有意思。 大部分观点认为: usr 是 unix system resources 的缩写; usr 是 user 的缩写; usr 是 unix software resources 的缩写。 但是这错的,user目录的真身是/home。 现代的/usr 只是纯粹的存放用户的各种应用程序。

/boot 引导加载程序文件

内核的initrd、vmlinux、grub文件位于/boot下。 系统内核、引导文件、GRUB或LILO

/opt 可选的附加应用

应该是 options 的缩写 opt代表可选的。 包含从个别厂商的附加应用程序。 附加应用程序应该安装在/opt/或者/opt/的子目录下。

/mnt 挂载目录

临时安装目录,系统管理员可以挂载文件系统。 什么叫临时安装? 我自己的理解是,不是随系统启时加载的硬件,比如,移动硬盘,U盘,投影仪等。这windows下添加设备的过程是自动化的,在linux下需要手动添加。 mmt = mount 的缩写

挂载的设备会在/mnt下多也一个设备目录,里面包含了设备文件。

/media 多媒体

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

0 人点赞