linux目录配置

为什么每个linux版本配置文件、执行文件、每个每个目录放置的内容其实都差不多?原来室友一套标准依据的,那就是——FHS。
FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。
根据FHS定义出根目录下应具有以下子目录的存放才好。

/ 根目录
/bin 一般用户使用的命令,在/bin下面的命令可以被root与一般账户所使用,主要有cat,chmod,chown,date,mv,mkdir,cp,bash等常用命令。
/boot 放置内核及LILO、GRUB等导引程序(bootloader)的文件,用于启动。 Linux常用的文件名为vmlinuz,如果使用grub这个引导装载程序则还会存在/home/grub/这个目录。
/dev 在Linux系统中,任何设备与接口都是以文件的形式存放于这个目录当中,如硬盘,分区,键盘,鼠标,USB,tty等所有的设备文件都放在这个目录。
/etc 系统的所有配置文件都存放在此目录中。如人员的账号密码文件、各种服务的起始文件等。一般来说这个目录下的各文件属性是可以让一般用户查阅的,但是只有root有权利修改。FHS建议不要在这个目录中放置可执行文件(binary)。
/home 用户空间,所有的用户都是用此空间。比较重要的两种代号:
~:代表当前这个用户的主文件夹。
~dmtsai:则代表dmtsai的主文件夹。
/lib 系统的函数库非常多,而/lib放置的则是在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库而已。如共享连接库,如C库和C编译器等等。
/media media是媒体的意思,顾名思义,/media下放置的就是可删除的设备。包括软盘,光盘。DVD等设备。
/mnt 早起的时候跟/media相同,因为有了/media,所以就用来暂时挂载了。如移动设备文件系统的挂点
/opt 给第三方软件放置的目录。
/root 系统管理员的主文件夹
/sbin linux有许多命令是用来设置系统环境的,这些命令只有root才能够利用起来“设置”系统,其他用户最多只能用来查询,放在/sbin下面的为开机过程所需要的,里面包含了开机、修复、还原系统所需要的命令。
/srv 可以看做是“serve”的缩写,是一些网络服务启动之后,这些服务所需要的数据目录。常见的服务例如WWW,FTP等。比如WWW服务所需要的网页数据就可以放置在/srv/WWW/里面。
/tmp 临时文件目录,任何人都可以访问到,是一般用户或正在执行的程序暂时放置文件的地方,FHS建议开机清除/tmp下所有数据。
/usr:存放可分享与不可变动的数据。
/usr/X11R6 X Window系统的目录
/usr/bin 用户和管理员的标准命令
/usr/include c/c++等各种开发语言环境的标准include文件
/usr/lib 应用程序及程序包的连接库
/usr/local/ 系统管理员安装的应用程序目录
/usr/local/share 系统管理员安装的共享文件
/usr/sbin 用户和管理员的标准命令
/usr/share 存放使用手册等共享文件的目录
/usr/share/dict 存放词表的目录(选项)
/usr/share/man 系统使用手册
/usr/share/misc 一般数据
/usr/share/sgml SGML数据(选项)
/usr/share/xml XML数据(选项)
/var: 存放应用程序数据和日志记录的目录,例如,Apache Web服务器的文档一般就放在/var/www/html下。
/var/cache 应用程序缓存目录
/var/account 处理账号日志(选项)
/var/crash 系统错误信息(选项)
/var/games 游戏数据
/var/lib  各种状态数据
/var/lock 文件锁定纪录
/var/log 日志记录
/var/mail 电子邮件
/var/opt /opt目录的变量数据
/var/run 进程的标示数据
/var/spool 存放电子邮件,打印任务等的队列目录。
/var/spool/rwho 
/var/tmp 临时文件目录

由于FHS仅是定义出最上层(/)及子层(/usr, /var)的目录内容应该要放置的文件数据,因此,在其他子目录层级内,就可以随开发人员自行配置了。举例来说,FC4的网络设置数据放在/etc/sysconfig/network-script/目录下,但SuSE Server 9则是将网络放在/etc/sysconfig/network/目录下,目录名称是不同的。

另外,在Linux中,所有的文件与目录都由根目录/ 开始。那是所有目录与文件的源头。然后再一个一个分支下来,有点像树状。因此,我们也称这种目录配置方式为:“目录树(directory tree)”。这个目录树主要特性有:
目录树的起始点为根目录(/, root)。
每一个目录不仅能使用本地端分区的文件系统,也可以使用网络上的文件系统。举例来说,可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录等。
每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。

根据文件名写法的不同,也可将路径(path)定义为绝对路径(absolute)与相对路径(relative)。绝对路径为:由根目录(/)开始写起的文件名或目录名称,例如/home/dmtsai/.bashrc;相对路径为相对于当前路径的文件名写法。例如./home/dmtsai或../../home/dmtsai/等等。反正开头不是/ 就属于相对路径的写法。必须要了解,相对路径是以“当前所在路径的相对位置”来表示的。举例来说,当前在/home目录下,如果想要进入/var/log目录时,怎么写呢?
cd /var/log(absolute)
cd ../var/log(relative)
因为在/home中,所以要回到上一层(../)之后,才能继续向/var移动。
特别注意这两个特殊的目录:
.:表示当前目录,也可以使用./来表示。
..:表示上一层目录,也可以../来表示。

.与..的目录概念很重要,你常常会看到cd ..或 ./command之类的命令方式,就是表示上一层与当前所在目录的工作状态。此外,针对“文件名”与“完整文件名(由/ 开始写起的文件名)”的字符限制大小为:
单一文件或目录的最大容许文件名为255个字符。包含完整路径名称及目录(/)的完整文件名为4096个字符。
我们知道,/var/log/下面有个文件名为message,这个message文件的最大文件名可达255个字符。var与log这两个上层目录最长也分别可达255个字符。但总的来说, /var/log/messages这样完整的文件名最长则可达4096个字符。
提示:root在Linux里面的意义很多。如果从“账号”的角度来看,root指“系统管理员”身份,如果以“目录”的角度来看,root指的是根目录,就是/ 。要特别注意。

猜你喜欢

转载自blog.csdn.net/watestill/article/details/81109298
今日推荐