Linux文件目录

本文详细介绍了Linux文件系统的FHS标准,包括根目录(/)的重要性和分区建议,以及各个关键目录的功能,如/bin、/sbin、/etc、/lib等。还探讨了Linux的文件权限、文件扩展名、文件相关命令的使用,如ls、mv、rm等,并讲解了创建、删除文件和目录的方法。同时,文章涵盖了绝对路径与相对路径的概念,以及特殊目录的意义。最后,提出了一些关于/bin与/usr/bin、/bin与/sbin的区别等问题。
摘要由CSDN通过智能技术生成

FHS

Linux 目录配置的依据--FHS(Filesystem Hierarchy Standard)

利用 Linux 来开发产品戒 distributions 的社群/公司个人实在太多了, 如果每个人都用自己的想法来配置档案放置的目彔,那举将可能造成徆多管理上的困扰。所以就有了FHS。

FHS 依据文件系统使用的频繁与否与是否允讲使用者随意更改, 而将目录定义成为四种交互作用的形态,用表格来说有点像底下这样:

  •  可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录
  •  不可分享的:自己机器上面运作的装置档案或者是与程序有关的 socket 档案等,由于仅与自身机器有关,所以当然就不适合分享给其他主机了
  •  不变的:有些数据是不会经常变动的,跟随着 distribution 而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机朋务配置文件等等
  •  可变动的:经常改变的数据,例如登陆文件、一般用户可自行收受的新闻组等

事实上,FHS 针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:

  •  / (root, 根目录):与开机系统有关;
  •  /usr (unix software resource):与软件安装/执行有关;
  •  /var (variable):与系统运作过程有关

  这个 root 在 Linux 里面的意义真的很多~ 如果以『账号』的角度来看,所谓的 root 指的是『系统管理员!』的身份, 如果以『目录』的角度来看,所谓的 root 意是根目录,就是 /

  根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等操作有关。 由于系统开机时需要特定的开机软件、核心档案、开机所需程序、函式库等等档案数据,若系统出现错误时,根目录也必项要包含有能够修复文件系统的程序才行。所以在 FHS 的要求方面,他希望根目录不要放在非常大的分割槽内, 因为越大的分割槽会放入越多的数据,如此一来根目录所在分割槽就可能会有较多发生错误的机会。
  因此 FHS 标准建议:根目录(/)所在分割槽应该越小越好, 而应用程序所安装的软件最好不要与根目录放在同一个分割槽内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。

  因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分割槽则是在开机完成乀后才会持续的进行挂载的行为。那哪些目录不可以与根目录分开呢?有底下这些: 挂载

  •  /etc:配置文件
  •  /bin:重要执行档
  •  /dev:所需要的装置档案
  •  /lib:执行档所需的函式库与核心所需的模块
  •  /sbin:重要的系统执行文件


针对 FHS,各家 distributions 的异同

      由于 FHS 仅是定义出最上层(/)及次层(/usr, /var)的目录内容应该要放置的文件数据, 因此,在其他次目录层级内,就可以随开发者自行来配置了。举例来说,CentOS 的网络设定数据放在/etc/sysconfig/network-scripts/ 目录下,但是 SuSE 则是将网络放置在 /etc/sysconfig/network/ 目录下,目录名称可是不同的呢!不过只要记住大致的 FHS 标准,差异性其实有限!


文件目录


Linux的文件系统是采用层级式的树状目录结构(是没有像window下的C,D盘之分的)。结构的最上层是根目录/,然后在此目录下再创建其他目录


根目录下面有以下子目录

  • /root      主要存放root用户的相关文件,也就是root登陆进去后的默认目录
  • /boot      放置开机会使用到的目录,包括 Linux 核心档案以及开机选单与开机所需配置文件等等。 Linux kernel 常用的文件名为:vmlinuz,如果使用的是 grub 这个开机管理程序, 则还会存在/boot/grub/这个目录!(非常重要,破坏之后,系统无法进入)
  • /home   主要用来存放普通用户的相关文件。新增一个一般使用者账号时, 默讣的用户家目彔都会到这里来。
  • /bin       存放普通命令(常用命令)的目录。可以被 root 和一般账号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash 等等。
  • /sbin     用来存放具有一定权限才可以使用的命令
  • /lib        系统的函式库非常的多,而/lib 放置的则是在开机时会用到的函式库, 以及在/bin 或/sbin 底下的指令会呼叫的函式库而已。  尤其重要的是/lib/modules/这个目录, 因为该目录会放置核心相关的模块(驱动程序)!
  • /mnt     默认用来挂载光驱和软驱的文件夹(也可以放在其他地方)
  • /etc       系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、 各种服务的启动文件,环境变量,mysql等。一般来说,这个目录下的各文件属性是可以让一般使用者查阅的, 但是只有 root 有权力修改。FHS 建议不要放置可执行文件(binary)在这个目录中。比较重要的文件有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf,  /etc/X11/,  /etc/fstab, /etc/sysconfig/ 等等。
  • /dev      在 Linux 系统上,任何装置与接口设备都是以文件的型态存在二这个目录当中的。 你只要透过存取这个目录底下的某个文件,就等于存取某个装置~ 比要重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*等等
  • media     media 是『媒体』的英文,这个/media 底下放置的就是可移除的装置! 包括软盘、光盘、DVD 等等装置都暂时挂载于此。常见的档名有:/media/floppy, /media/cdrom 等等
  • /mnt       如果想要暂时挂载某些额外的装置,一般建议可以放置到这个目录中。 在早时候,这个目录的用途与/media 相同!只是有了/media 之后,这个目录就用来暂时挂载用了
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值