Linux目录配置及文件名种类与扩展名
一、FHS目录配置标准
在FHS标准诞生之前,由于有很多公司为Linux开发产品,而又各自有各自的存放路径,所以导致管理困难,因此诞生了FHS标准。
FHS 依据文件系统使用的频繁与否与是否允许用户随意更改,将目录定义成四种交互作用的形态。如下图
可分享的:可以分享给其他系统挂载使用。
不可分享:自己机器上面运行的设备文件或者是与程序有关的socket文件等。
不变的:有些数据不会经常变动,跟随着发行版本而不变动。 可变动的:经常改变的数据。
由上图可知,Linux文件系统就是一个倒状的树状结构,而根目录就是一切目录的起点,正所谓普天之下莫非王土。这证明了根目录的重要性。
以下内容为直译和借鉴网上文档翻译的FHS 2.3 版本,具体英文版本请查看FHS官网
/ (根目录):根据FHS英文文档意思,希望根目录所再分区越小越好,而且应用程序或者其他数据尽量不要放在根目录,这样的话,性能较好,而且不易出现问题。
/bin 存放二进制命令目录,这些命令能被管理员和用户使用,而且放置的这些命令是在单用户模式(关于单用户模式,请见后续博客)下还能够被使用的操作命令。还包含一些被脚本间接使用的命令
/boot 这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机菜单与开机所需配置文件等等
/dev 在Linux系统上,任何设备与周边设备都是以文件的型态存在于这个目录当中的。 你只要通过存取这个目录下面的某 个文件,就等于存取某个设备 比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd*等等> b: block device,随机访问
c: character device,线性访问/etc 系统主要的配置文件几乎都放置在这个目录内,例如人员的帐号密码文件、 各种服务的启始文件等等。一般来说,这个目 录下的各文件属性是可以让一般使用者查阅的, 但是只有root有权力修改。FHS建议不要放置可可执行文件 在这个目录中。比较重要的文件有: /etc/modprobe.d/, /etc/passwd, /etc/fstab, /etc/issue 等等。另外 FHS 还规范几个重要的目录最好要存在 /etc/ 目录下: /etc/opt(必要):这个目录在放置第三方协力软件 /opt 的相关配置文件
/etc/X11/(建议):与 X Window 有关的各种配置文件都在这里,尤其是 xorg.conf 这个 X Server 的配置文件。
/etc/sgml/(建议):与 SGML 格式有关的各项配置文件
/etc/xml/(建议):与 XML 格式有关的各项配置文件/这是系统默认的用户主文件夹(home directory)。在你新增一个一般使用者帐号时, 默认的用户文件夹都会规范到这里来。比较重要的是,主文件夹有两种代号:
~:代表目前这个使用者的主文件夹
~mageedu :则代表 mageedu 的主文件夹/run 这个目录在CentOS 6系列发行版中是/var/run ,它的作用是某些程序或者是服务启动后,会将他们的PID放置在这个目录下。
/sbin 系统管理才能够使用的命令,包含一些开机,修复,还原系统所需要的命令,里面有很多被用来设置系统环境的。
/tmp 这是让一般使用者或者是正在执行的程序暂时放置文件的地方。 这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要数据不可放置在此目录啊! 因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules) > /lib64:专用于x86_64系统上的辅助共享库文件存放位置
/opt:FHS建议第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux, selinux相关的安全策 略等信息的存储位置
/usr 这是一个层级结构目录,与软件安装/执行有关。下面包含上述所有的目录。根据FHS定义,这里面主要放置可分享的与不可变动的数据。
/var 这也是一个层级机构目录,与系统运作有关。这个目录主要是针对常变动的文件,例如缓存、登陆文件、以及某些程序运行产生的文件。随着系统的运行逐渐占用系统硬盘。
二、文件种类及扩展名
文件种类
普通文件(-),就是一般我们在进行访问的文件类型,根据文件种类分为三种:
1.纯文本文件(ASCII):这是Linux操作系统中最多的一种文件类型,文件内容为我们可以直接读取的数据,例如:数字,字母等
2.二进制文件(binary):以0.1 二进制形式存放的文件
3.数据格式文件(date):某些特定格式的文件,e.g./var/log/wtmp
目录(d):文件夹的意思
链接文件(link):类似windows下面的快捷方式,不过这里分为硬链接和软链接,具体区别,请看本博客中的关于《硬软链接的区别》的博文
设备与设备文件(device):与系统外设有关的文件,都集中在这里面,在这又分为两种
1.块设备文件(block):存储数据及提供系统随机访问的借口设备。e.g.硬盘、光盘
2.字符设备文件(character):串行端口的接口设备,例如鼠标、键盘等
3.套接字(socket):是有ip:port 构成,常见于网络通信中
4.管道(pipe):一言两句说不清,请自行man fifo。
Linux文件扩展名
Linux中没有硬性规定文件格式,当时为了方便日常管理、使用某一类文件,对文件进行了一定的定义,不按照这种格式也能运行。
.sh 脚本或批处理文件(script)
.Z .tar .tar.gz .zip .tgz 打包压缩文件
.html .php 网页相关文件
Linux文件长度
1.不能使用/作为文件名,但是也建议不要用特殊字符来设置文件名,因为这些特殊字符在Linux中有特殊含义。
2.单一文件或者目录最长为255个字符。
原创文章,作者:fighter,如若转载,请注明出处:http://www.178linux.com/26939