1、Linux 文件和目录管理

一、文件系统架构

1、Linux文件系统具有层级性

  1. 文件或者目录起始于根目录 "/” 成为树状结构
  2. 最顶层由 / 开始

2、文件和目录名区分大小写

3、路径通过"/"分隔开

4、.. 表示上层目录

5、./ 表示当前目录

6、隐藏目录或者文件名以 “." 开始

二、重要目录说明

1.根目录

  1. 根目录是整个系统中最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机、还原、系统修复等操作有关。
  2. FHS标准建议:根目录(/)所在的分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。这样不但性能较好,根目录所在的文件系统也不容易发生问题。
  3. 因为根目录与开机有关,在开机的过程中仅有根目录所在分区会被挂载,其他分区则是在开机之后才会持续进行挂载的行为。所以根目录下与开机有关的目录就不能与根目录放置在不同的分区:/etc(配置文件)、/bin(重要的执行文件)、/dev(所需要的设备文件)、/lib(执行文件所需的函数库与内核所需的模块)、/sbin(重要的系统执行文件)。
目录 应放置的内容
/bin 系统有很多放置执行文件的目录,但是/bin目录比较特殊。/bin放置的是在单用户维护模式下还能够被操作的命令。在/bin下面的命令可以被root与一般用户使用。
/boot 这个目录主要放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等。
/dev 在Linux系统上,任何设备与结构设备都是以文件的形式存在于这个目录中的。只要通过访问这个目录下的某个文件,就等于访问某个设备。
/etc 系统主要的配置文件几乎都放置在这个目录里,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各个文件属性是可以让一般用户查阅的。但只有root用户有权限修改。FHS标准建议不要放置可执行文件(binary)在这个目录中。
/home 这是系统默认的用户文件夹(home directory)。在创建一个一般用户时,默认的用户主文件夹都会放置到这里。主文件夹有两种代号:~:代表目前这个用户的主文件夹 ~ahao:代表用户ahao的主文件夹
/lib /lib放置的是在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库。
/media /media放置的是可删除的设备。包括软盘、光盘等设备都暂时挂载于此。
/mut 如果你想要暂时挂载某些额外的设备,一般建议可以放置到这个目录中。在比较早的时候,该目录的用途于/media相同。
/opt 这是给第三方软件放置的目录。
/proc 这个目录本身是一个虚拟文件系统(virtual filesystem)。它放置的数据都是在内存当中,例如系统的内核、进程、外部设备状态及网络状态等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间。
/root 系统管理员(root)的主文件夹。之所以放在这里,是因为如果进入单用户维护模式而仅挂载根目录时,该目录就能拥有root的主文件夹,所以将root的主文件夹与根目录放置在同一块分区内。
/sbin 放在/sbin下面的为开机过程中所需要的命令,里面包括开机、修复、还原系统所需要的命令。
/srv srv可视为“service”的缩写,是一些网络服务启动之后,这些服务所需要取用的目录数据。
/sys 这个目录跟/proc非常相似,也是一个虚拟文件系统,主要记录与内核相关的信息。包括目前已加载的内核模块与内核检测到的硬件设备信息等。该目录同样不占用硬盘容量。
/tmp 这是一般用户或者时正在执行的程序暂时放置文件的地方。这个目录任何人都能访问并且创建数据,但是只用root和数据的使用者才能删除所创建的数据。

2.usr及下级(即,unix system resource相当于win的目录:windows + programe files)

目录 应放置的内容
/usr/bin/ 绝大部分的用户可使用的命令都放在这里。它与/bin的不同之处在于:是否与开机过程有关。
/usr/include/ C/C++等程序语言的头文件与包含文件放置处。
/usr/lib/ 包含各种应用软件的函数库、目标文件,以及不被一般用户惯用的执行文件或脚本。
/usr/local/ 系统管理员在本机自行安装自己下载的软件,建议安装到此目录,这样比较便于管理。
/usr/sbin/ 非系统正常运行所需要的系统命令。
/usr/share/ 放置共享文件的地方。
/usr/src/ 一般源码建议放置到这里,src可以视为source的缩写。而至于内核源码则建议放置到/usr/src/linux/目录下。

3.var及下级

  • /var目录主要针对常态性变动的文件,包括缓存、登陆文件以及某些软件运行所产生的文件
目录 应放置的内容
/var/cache/ 放置应用程序本身运行过程中会产生的一些暂存文件。
/var/lib/ 程序本身执行过程中,需要使用到的数据文件放置目录。
/var/lock/ 某些设备或文件资源一次只能被一个应用程序所使用,如果同时有程序使用该设备或文件资源时,就可能产生一些错误的情况,因此就要将该设备或文件资源上锁(lock),以确保该设备或文件资源只会给单一软件所使用。
/var/log/ 放置登录文件的目录。面比较重要的文件如/var/log/messages,/var/log/wtmp(记录登录者信息)等。
/var/mail/ 放置个人电子邮件信箱的目录。不过这个目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为连接文件
/var/run/ 某些程序或服务启动后,会将他们的PID放置在这个目录下。
/var/spool/ 这个目录通常放置一些队列数据,所谓的“队列”就是排队等待其他程序使用的数据。这些数据被使用后通常会被删除。

三、目录和文件的命名规则

1、不超过255个字符
2、区分大小写
1 ) file、File、fILE表示不同的文件
3、除了/外,所有的字符都合法
1 )避免文件名首字符使用+-.
2 )避免使用空格、制表符和*@#$%[]()
4、最好使用有意义的名称来命名

posted @ 2020-03-26 13:16  晨光曦微  阅读(228)  评论(0编辑  收藏  举报