深入理解linux系统的目录结构(总结的非常详细)

来源: 电脑维修教程   阅读:     发表时间:

对于每个linux进修者来讲,领会linux文件系统的目次布局,是学好linux的相当主要的一步.,深切领会linux文件目次布局的尺度和每一个目次的具体功能,对于

对于每个linux进修者来讲,领会linux文件系统的目次布局,是学好linux的相当主要的一步.,深切领会linux文件目次布局的尺度和每一个目次的具体功能,对于我们用好linux系统尽管主要,下面我们就起头领会一下linux目次布局的相关常识

当在利用linux的时辰,若是您经由过程ls –l / 就会发现,在/下:?级嗟哪看,好比etc、usr、var、bin ... ... 等目次,而在这些目次中,我们进去看看,发现也有良多的目次或文件。文件系统在linux下看上去就象树形布局,所以我们可以把文件系统的布局形象的称为 树形布局。

文件系统的是用来组织和摆列文件存取的,所以她是可见的,在linux中,我们可以经由过程ls等东西来查看其布局,在linux系统中,我们见到的都是树形布局;好比操作系统安装在一个文件系统中,他表示为由/ 肇端的树形布局。linux文件系统的最顶端是/,我们称/为linux的root,也就是 linux操作系统的文件系统。linux的文件系统的进口就是/,所有的目次、文件、设备都在/之下,/就是linux文件系统的组织者,也是最上级的带领者。

因为linux是开放源代码,各大公司和集体按照linux的焦点代码做各自的操作,编程。如许就造成在根下的目次的分歧。如许就造成小我不克不及利用他人的linux系统的pc。因为你底子不明白一些根基的设置装备摆设,文件在哪里。。。这就造成了紊乱。这就是fhs(filesystem hierarchy standard )机构降生的原因。该机构是linux快乐喜爱者自觉的构成的一个集体,首要是是对linux做一些根基的要求,不至因而操作者换一台主机就成了linux的‘文盲’。

按照fhs(http://www.pathname.com/fhs/)的官方文件指出, 他们的首要目标是但愿让利用者可以领会到已安装软件凡是放置于谁人目次下, 所以他们但愿自力的软件开辟商、操作系统建造者、和想要维持系统的用户,都可以或许遵守fhs的尺度。 也就是说,fhs的重点在于规范每一个特定的目次下应该要放置什么模样的数据罢了。 如许做益处很是多,因为linux操作系统就可以够在既有的面孔下(目次架构不变)成长出开辟者想要的怪异气概。

事实上,fhs是按照曩昔的经验一向再延续的改版的,fhs根据文件系统利用的频仍与否与是不是许可利用者随便更动, 而将目次界说成为四种交互感化的形态,用表格来讲有点像底下如许:

可分享的(shareable)

不成分享的(unshareable)

不变的(static)

/usr (软件放置处)

/etc (设置装备摆设文件)

/opt (第三方合力软件)

/boot (开机与焦点档)

可改观的(variable)

/var/mail (利用者邮件信箱)

/var/run (法式相关)

/var/spool/news (新闻组)

/var/lock (法式相关)

四中类型:

1. 可分享的:

可以分享给其他系统挂载利用的目次,所以包括执行文件与用户的邮件等数据, 是可以或许分享给收集上其他主机挂载用的目次;

2. 不成分享的:

自己机械上面运作的装配文件或者是与法式有关的socket文件等, 因为仅与本身机械有关,所以固然就不合适分享给其他主机了。

3. 不变的:

有些数据是不会常常改观的,跟从着distribution而不改观。 例如函式库、文件申明文件、系统经管员所经管的主机服务设置装备摆设文件等等;

4. 可改观的:

常常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

事实上,fhs针对目次树架构仅界说出三层目次底下应该放置什么数据罢了,别离是底下这三个目次的界说:

/ (root, 根目次):与开机系统有关;

/usr (unix software resource):与软件安装/执行有关;

/var (variable):与系统运作进程有关。

一. 根目次 (/) 的意义与内容:

根目次是整个系统最主要的一个目次,因为不单所有的目次都是由根目次衍生出来的, 同时根目次也与开机/还原/系统修复等动作有关。 因为系统开机时需要特定的开机软件、焦点文件、开机所需法式、 函式库等等文件数据,若系统呈现过错时,根目次也必需要包括有可以或许修复文件系统的法式才行。 因为根目次是这么的主要,所以在fhs的要求方面,他但愿根目次不要放在很是大的分区, 因为越大的分区内你会放入越多的数据,如斯一来根目次地点分区便可能会有较多发生过错的机遇。

是以fhs尺度建议:根目次(/)地点分区应该越小越好, 且应用法式所安装的软件最好不要与根目次放在统一个分区内,连结根目次越小越好。 如斯不单效能较佳,根目次地点的文件系统也较不轻易发生问题。说白了,就是根目次和windows的c盘一个样。

按照以上原因,fhs认为根目次(/)下应该包括以下子目次:

目次

应放置档案内容

/bin

系统有良多放置执行档的目次,但/bin对比特别。因为/bin放置的是在单人维持模式下还可以或许被操作的指令。在/bin底下的指令可以被root与一般帐号所利用,首要有:cat,chmod(点窜权限), chown, date, mv, mkdir, cp, bash等等经常使用的指令。

/boot

首要放置开机遇利用到的档案,包括linux焦点档案和开机选单与开机所需设定档等等。linux kernel经常使用的档名为:vmlinuz ,若是利用的是grub这个开机经管程式,则还会存在/boot/grub/这个目次。

/dev

在linux系统上,任何装配与周边设备都是以档案的型态存在于这个目次傍边。 只要经由过程存取这个目次下的某个档案,就等于存取某个装配。比要主要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等

/etc

系统首要的设定档几近都放置在这个目次内,例如人员的帐号暗码档、各类服务的启始档等等。 一般来讲,这个目次下的各档案属性是可让一般利用者查阅的,可是只有root有权力点窜。 fhs建议不要放置可执行档(binary)在这个目次中。 对比主要的档案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/x11/, /etc/fstab, /etc/sysconfig/等等。 别的,其下主要的目次有:/etc/init.d/ :所有服务的预设启动script都是放在这里的,例如要启动或者封闭iptables的话: /etc/init.d/iptables start、/etc/init.d/ iptables stop

/etc/xinetd.d/ :这就是所谓的super daemon经管的各项服务的设定档目次。

/etc/x11/ :与x window有关的各类设定档都在这里,尤其是xorg.conf或xf86config这两个x server的设定档。

/home

这是系统预设的利用者家目次(home directory)。 在你新增一个一般利用者帐号时,预设的利用者家目次城市规范到这里来。对比主要的是,家目次有两种代号:

~ :代表当前利用者的家目次,而 ~guest:则代表用户名为guest的家目次。

/lib

系统的函式库很是的多,而/lib放置的则是在开机时会用到的函式库,和在/bin或/sbin底下的指令会呼唤的函式库罢了 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必需要有这些外挂才可以或许顺遂完成程式的执行之意。 尤其主要的是/lib/modules/这个目次,因为该目次会放置焦点相关的模组(驱动程式)。

/media

media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装配。 包括软碟、光碟、dvd等等装配都临时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。

/mnt

若是妳想要临时挂载某些额外的装配,一般建议妳可以放置到这个目次中。在古早时辰,这个目次的用处与/media不异啦。 只是有了/media以后,这个目次就用来临时挂载用了。

/opt

这个是给第三方合力软体放置的目次 。 什么是第三方合力软体。烤倮?唇,kde这个桌面经管系统是一个自力的计画,不外他可以安装到linux系统中,是以kde的软体就建议放置到此目次下了。 别的,若是妳想要自行安装额外的软体(非本来的distribution供给的),那末也可以或许将你的软体安装到这里来。 不外,之前的linux系统中,我们仍是习惯放置在/usr/local目次下。

/root

系统经管员(root)的家目次。 之所以放在这里,是因为若是进入单人维持模式而仅挂载根目次时,该目次就可以够拥有root的家目次,所以我们会但愿root的家目次与根目次放置在统一个分区中。

/sbin

linux有很是多指令是用来设定系统情况的,这些指令只有root才可以或许操纵来设定系统,其他利用者最多只能用来查询罢了。放在/sbin底下的为开机进程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/傍边。至于本机自行安装的软体所发生的系统执行档(system binary),则放置到/usr/local/sbin/傍边了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

/srv

srv可以视为service的缩写,是一些网路服务启动以后,这些服务所需要取用的资料目次。 常见的服务例如www, ftp等等。 举例来讲,www伺服器需要的网页资料便可以放置在/srv/www/里面。呵呵,看来日常平凡我们编写的代码应该放到这里了。

/tmp

这是让一般利用者或者是正在执行的法式临时放置档案的处所。这个目次是任何人都可以或许存取的,所以你需要按期的清理一下。固然,主要资料不成放置在此目次啊。 因为fhs乃至建议在开机时,应该要将/tmp下的资料都删除。

事实上fhs针对根目次所界说的尺度就仅限于上表,不外仿照照旧有些目次也需要我们领会一下,具体以下:

目次

应放置文件内容

/lost+found

这个目次是利用尺度的ext2/ext3档案系统格局才会发生的一个目次,目标在于当档案系统发生过错时,将一些遗掉的片段放置到这个目次下。 这个目次凡是会在朋分槽的最顶层存在,例如你加装一个硬盘于/disk中,那在这个系统下就会主动发生一个如许的目次/disk/lost+found

/proc

这个目次自己是一个虚拟文件系统(virtual filesystem)喔。 他放置的资料都是在内存傍边,例如系统焦点、行程资讯(process)(是历程吗?)、周边装配的状况及收集状况等等。因为这个目次下的资料都是在记忆体(内存)傍边,所以自己不占任何硬盘空间。对比主要的档案(目次)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。呵呵,是虚拟内存吗[guest]?

/sys

这个目次其实跟/proc很是近似,也是一个虚拟的档案系统,首要也是记实与焦点相关的资讯。 包括今朝已载入的焦点模组与焦点侦测到的硬体装配资讯等等。 这个目次一样不占硬盘容量。

除了这些目次的内容以外,别的要注重的是,因为根目次与开机有关,开机进程中唯一根目次会被挂载, 其他分区则是在开机完成以后才会延续的进行挂载的行为。就是因为如斯,是以根目次下与开机进程有关的目次, 就不克不及够与根目次放到分歧的分区去。那哪些目次不成与根目次分隔呢?有底下这些:

/etc:设置装备摆设文件

/bin:主要执行档

/dev:所需要的装配文件

/lib:执行档所需的函式库与焦点所需的模块

/sbin:主要的系统执行文件

这五个目次万万不成与根目次分隔在分歧的分区。请背下来啊。

二. /usr 的意义与内容:

根据fhs的根基界说,/usr里面放置的数据属于可分享的与不成改观的(shareable, static), 若是你明白若何透过收集进行分区的挂载(例如在服务器篇漫谈到的nfs服务器),那末/usr确实可以分享给局域收集内的其他主机来利用喔。

/usr不是user的缩写,其实usr是unix software resource的缩写, 也就是unix操作系统软件资本所放置的目次,而不是用户的数据啦。这点要注重。 fhs建议所有软件开辟者,应该将他们的数据合理的别离放置到这个目次下的次目次,而不要自行成立该软件自己自力的目次。

因为是所有系统默认的软件(distribution发布者供给的软件)城市放置到/usr底下,是以这个目次有点近似windows 系统的c:windows + c:program files这两个目次的综合体,系统刚安装完毕时,这个目次会占用最多的硬盘容量。 一般来讲,/usr的次目次建议有底下这些:

目次

应放置文件内容

/usr/x11r6/

为x window system主要数据所放置的目次,之所以取名为x11r6是因为最后的x版本为第11版,且该版的第6次释出之意。

/usr/bin/

绝大部份的用户可以使用指令都放在这里。请注重到他与/bin的分歧之处。(是不是与开机进程有关)

/usr/include/

c/c++等法式说话的档头(header)与包括档(include)放置处,当我们以tarball体例 (*.tar.gz 的体例安装软件)安装某些数据时,会利用到里头的很多包括档。

/usr/lib/

包括各应用软件的函式库、方针文件(object file),和不被一般利用者习用的执行档或剧本(script)。 某些软件会供给一些特别的指令来进行服务器的设定,这些指令也不会常常被系统经管员操作, 那就会被摆放到这个目次下啦。要注重的是,若是你利用的是x86_64的linux系统, 那可能会有/usr/lib64/目次发生

/usr/local/

统经管员在本机自行安装自己下载的软件(非distribution默认供给者),建议安装到此目次, 如许会对比便于经管。举例来讲,你的distribution供给的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目次下,可与本来的旧版软件有别离啦。 你可以自行到/usr/local去看看,该目次下也是具有bin, etc, include, lib...的次目次

/usr/sbin/

非系统正常运作所需要的系统指令。最多见的就是某些收集服务器软件的服务指令(daemon)

/usr/share/

放置同享文件的处所,在这个目次下放置的数据几近是不分硬件架构都可读取的数据, 因为几近都是文本文件嘛。在此目次下常见的还有这些次目次:/usr/share/man:联机扶助文件

/usr/share/doc:软件杂项的文件申明

/usr/share/zoneinfo:与时区有关的时区文件

/usr/src/

一般原始码建议放置到这里,src有source的意思。至于焦点原始码则建议放置到/usr/src/linux/目次下。

三. /var 的意义与内容:

若是/usr是安装时会占用较大硬盘容量的目次,那末/var就是在系统运作后才会垂垂占用硬盘容量的目次。 因为/var目次首要针对常态性改观的文件,包括缓存(cache)、登录档(log file)和某些软件运作所发生的文件, 包括法式文件(lock file, run file),或者例如mysql数据库的文件等等。常见的次目次有:

目次

应放置文件内容

/var/cache/

应用法式自己运作进程中会发生的一些暂存档

/var/lib/

法式自己执行的进程中,需要利用到的数据文件放置的目次。在此目次下各自的软件应该要有各自的目次。 举例来讲,mysql的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去

/var/lock/

某些装配或者是文件资本一次只能被一个应用法式所利用,若是同时有两个法式利用该装配时, 便可能发生一些过错的状态,是以就得要将该装配上锁(lock),以确保该装配只会给单一软件所利用。 举例来讲,刻录机正在刻录一块光盘,你想一下,会不会有两小我同时在利用一个刻录机烧片? 若是两小我同时刻录,那片子写入的是谁的数据?所以当第一小我在刻录时该刻录机就会被上锁, 第二小我就得要该装配被消除锁定(就是前一小我用完了)才可以或许继续利用

/var/log/

很是主要。这是登录文件放置的目次。里面对比主要的文件如/var/log/messages, /var/log/wtmp(记实登入者的信息)等。

/var/mail/

放置小我电子邮件信箱的目次,不外这个目次也被放置到/var/spool/mail/目次中,凡是这两个目次是互为链接文件。

/var/run/

某些法式或者是服务启动后,会将他们的pid放置在这个目次下

/var/spool/

这个目次凡是放置一些队列数据,所谓的“队列”就是列队期待其他法式利用的数据。 这些数据被利用后凡是城市被删除。举例来讲,系统收到新信会放置到/var/spool/mail/中, 但利用者收下该信件后该封信原则上就会被删除。信件若是临时寄不出去会被放到/var/spool/mqueue/中, 等到被送出后就被删除。若是是工作排程数据(crontab),就会被放置到/var/spool/cron/目次中。

因为fhs仅是界说出最上层(/)及次层(/usr, /var)的目次内容应该要放置的文件或目次数据, 是以,在其他次目次层级内,便可以随开辟者自行来设置装备摆设了。

四. 目次树(directory tree) :

在linux底下,所有的文件与目次都是由根目次起头的。那是所有目次与文件的泉源, 然后再一个一个的分支下来,是以,我们也称这种目次设置装备摆设体例为:目次树(directory tree), 这个目次树的首要特征有:

目次树的启始点为根目次 (/, root);

每个目次不止能利用当地端的 partition 的文件系统,也能够利用收集上的 filesystem 。举例来讲, 可以操纵 network file system (nfs) 服务器挂载某特定目次等。

每个文件在此目次树中的文件名(包括完整路径)都是唯一无二的。

若是我们将整个目次树以图的方式来显示,而且将较为主要的文件数据列出来的话,那末目次树架构就以下图所示:

五. 绝对路径与相对路径

除了需要出格注重的fhs目次设置装备摆设外,在文件名部份我们也要出格注重。因为按照档名写法的分歧,也可将所谓的路径(path)界说为绝对路径(absolute)与相对路径(relative)。 这两种文件名/路径的写法根据是如许的:

绝对路径:

由根目次(/)起头写起的文件名或目次名称, 例如 /home/dmtsai/.bashrc;

相对路径:

相对今朝路径的文件名写法。 例如 ./home/dmtsai 或 http://www.cnblogs.com/home/dmtsai/ 等等。归正开首不是 / 就属于相对路径的写法

而你必需要领会,相对路径是以你当前地点路径的相对位置来暗示的。举例来讲,你今朝在 /home 这个目次下, 若是想要进入 /var/log 这个目次时,可以怎样写呢?

复制代码

代码以下:

cd /var/log (absolute)

cd ../var/log (relative)

因为你在 /home 底下,所以要回到上一层 (../) 以后,才能继续往 /var 来移动的,出格注重这两个特别的目次:

. :代表当前的目次,也能够利用 ./ 来暗示;

.. :代表上一层目次,也能够 ../ 来代表。

这个 . 与 .. 目次概念是很主要的,你经常会看到 cd .. 或 ./command 之类的指令下达体例, 就是代表上一层与今朝地点目次的工作状况。

以上是:解决深入理解linux系统的目录结构(总结的非常详细)问题的详细资料教程

?
热门链接: 机顶盒 | 主板维修 | 声卡怎么安装 | 路由器怎么设置 | 电脑内存维修技术 | 维修大全?| 主板维修资料 | 电脑声卡音响故障维修 | 内存 | 显示器 | 电源维修教程 | cpu | 硬盘 | 显卡 |win8操作系统教程|linux操作系统教程|ubuntu操作系统教程|mac苹果操作系统教程|execl教程
友情链接: ?苹果手机维修?| 更多...