了解linux根目录内各个目录作用
linux根目录名称
所有了解来自于鸟哥的私房菜,看书加上进入目录查看以了解目录作用
首先看一下都有哪些目录,然后一个一个进去了解
bin
系统中有很多放置执行文件的目录,但/bin
比较特殊,因为/bin
目录下放置的是在单用户维护模式下还能被操作的命令。在/bin
目录下的命令可以被root与一般账号所使用,主要有cat,chmod,chown,date,mv,mkdir,cp,bash等常用的命令。
进入后发现里面都是一些可执行文件,没有任何目录,且放置的都是一些基本的内置命令,cat后可以发现均为二进制可执行命令。
boot
这个目录主要放置开机会使用到的文件,包括内核文件以及开机菜单与开机所需配置文件等。linux kernel常用的文件名为vimlinuz,如果使用的是frub这个引导装在程序,则还会存在/boot/grub
这个目录。
简单来说就是Linux内核及引导系统程序所需的目录。
dev
在Linux系统上,任何设备与接口设备都是以文档的形态存在于这个目录当中的。你只要通过访问这个目录底下的某个档案,就等于访问某个装置。比较重要的档案有/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等。
dev是存储设备文件的目录,可以看到有cpu、cdrom1等。
etc
系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件(passwd),各种服务的起始文件等。一般来说,这个目录下的各文件属性是可以让一般使用者查阅的,但是只有root有权利修改。 FHS建议不要放置可执行文件(binary)在这个目录中。比较重要的文件有:/etc/inittab,/etc/init.d,/etc/modprobe.conf,/etc/X11,/etc/fstab,/etc/sysconfig等。另外,其下重要的目录有:
- /etc/init.d/:所有服务的默认启动脚本都是放在这里的,例如要启动或关闭iptables 的话:“ /etc/init.d/iptables start”、“/etc/init.d/iptables stop”
- /etc/xinetd.d/:这就是所谓的super daemon管理各项服务的配置文件目录。
- /etc/X11/:与Xwindow有关的各种配置文件都在这里,尤其是 xorg.conf 或 XF86Config 这两个 X Server 的配置文件。
home
这是系统默认用户主文件夹(home directory)。在你新增一个一般使用者账号时,默认的用户主文件夹就会规范到这里来。比较重要的是,主文件夹有两种代号:
~:代表目前这个使用者的家目录,
~dmtsai :则代表dmtsai 的主文件夹
简单来说就是家目录,里面存放着用户的名称的目录
我的家目录里面有qzy和haha两个用户
lib
系统的函数库非常多,而/lib放置的则是在开机时会用到的函数库,以及在/bin或、/sbin下面的命令会调用的函数库而已。什么是函数库呢?你可以将它想成是“外挂”,某些指令必须要有这些“外挂”才能够顺利完成程序的执行之意。尤其重要的是/lib/modules/这个目录,因为该目录会放置内核相关的模块(驱动程式)。
存储函数库的目录
lost+found
这个目录是使用标准的ext2/ext3文件系統格式才会产生的一个目录,目的在于当文件系統发生错误时, 将一些丢失的片段放置到这个目录下。这个目录通常会在分区的最顶层存在, 例如你加装一块硬盘于/disk中,那在这个系統下就会自动产生一个这样的目录“/disk/lost+found”
media
media是“媒体”的英文,顾名思义,这个/media底下放置的就是可删除的设备。包括软盘、光盘、DVD等设备都暂时挂载于此。常见的文件名有:/media/floppy,/media/cdrom等。
mnt
如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。在比较早时候,这个目录的用途与/media相同。只是有了/media 之后,这个目录就用来暂时挂载用了。
media和mnt截图
opt
这个是给第三方软件放置的目录。什么是第三方软件?举例来说,KDE这个桌面管理系统是一个独立的计划,不过他可以安装到Linux系统中,因此KDE的软件就建议放置到此目录下了。 另外,如果你想要自行安装额外的软件(非原本的distribution提供的),那么也能够将你的软件安装到这里来,不过,以前的Linux系统中,我们还是习惯放置在/user/local目录下。
自定义软件安装存放目录,用户自行安装的软件包存放目录。
proc
这个目录本身是一个虚拟文件系统(virtual filesystem)。他放置的数据都是在内存当中, 例如系統内核、进程(process)、外部设备的状态及网络状态等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间。比较重要的的目录例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等。
root
系统管理员(root)的主文件夹。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的主文件夹,所以我们会希望root的主文件夹与根目录放置在同一个分区中。
sbin
Linux有非常多指令时用来设置系统环境的,这些指令只有root才能够用来“设置”系统,其他用户最多只能用来“查询”而已。放在/sbin 底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的命令。至于某些服务器软件程序,一般则放置到/user/sbin当中。 至于本机自行安装的软件所产生的系统执行文件(system binary),则放置到/user/local/sbin当中了。常见的指令包括: fdisk,fsck,ifconfig,init,mkfs 等。
系统管理员命令存放的目录(超级管理员使用的命令)
srv
srv可以视为“service”的缩写,是一些网路服务启动之后,这些服务所需要取用的数据目录。 常见的服务例如WWW,FTP等。举例来说,WWW服务器需要的网页数据就可以放置在/srv/www里面。
我的srv里面没有任何文件
sys
这个目录跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录与内核相关的信息。 包括目前已加载的内核模块与内核检测到到的硬件设备信息等。这个目录同样不占硬盘容量。
tmp
这是让一般使用者或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能够访问的,所以你需要定期的清理一下。 当然,重要文件不可放置在此目录。 因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除
usr
usr是Unix Software Resource的简写,存放的是一些可以分享不能修改的内容,其实是linux的一些程序,在装机过程中占据了大部分的硬盘空间,比如一些命令和帮助都在这个目录
var
存放内容常变动的文件目录,在系统使用后逐渐增加占据硬盘的空间
可以看到有log日志在此,这种经常会读取写入发生变动的文件通常放置于此