Linux-目录结构与操作(第3章)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

内容介绍1.Linux的文件目录结构2.Linux文件目录操作与管理Linux的文件目录结构简单介绍:Linux的文件系统是采用级层式的树状目录结构,在此结构中最上层是根目录“/”,然后在此目录下再创建其他的目录。深刻理解Linux目录是非常重要的://bin/opt/boot/home/var/lib/tmp/etc/sbin/usrLinux的文件目录结构因为利用Linux来开发产品或distributions的团队/公司与个人实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象吧~所以,后来就有所谓的FilesystemHierarchyStandard(FHS)标准的出炉了!根据FHS()的官方文件指出,他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下,所以他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户,都能够遵循FHS的标准。也就是说,FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。这样做好处非常多,因为Linux操作系统就能够在既有的面貌下(目录架构不变)发展出开发者想要的独特风格。事实上,FHS是根据过去的经验一直再持续的改版的,FHS依据文件系统使用的频繁与否与是否允许使用者随意更动,而将目录定义成为四种交互作用的形态,用表格来说有点像底下这样:Linux的文件目录结构上表中的目录就是一些代表性的目录,该目录底下所放置的数据在底下会谈到,这里先略过不谈。我们要了解的是,什么是那四个类型?可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够分享给网络上其他主机挂载用的目录;不可分享的:自己机器上面运作的装置文件或者是与程序有关的socket文件等,由于仅与自身机器有关,所以当然就不适合分享给其他主机了。不变的:有些数据是不会经常变动的,跟随着distribution而变动。例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;可变动的:经常改变的数据,例如登录文件、新闻组等。事实上,FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:/(根目录):与开机系统有关;/usr(unixsoftwareresource):与软件安装/执行有关;/var(variable):与系统运作过程有关。为什么要定义出这三层目录呢?其实是有意义的,每层目录底下所应该要放置的目录也都又特定的规定。Linux的文件目录结构根目录(/)的意义与内容:根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。由于系统开机时需要特定的开机软件、核心文件、开机所需程序、函数库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。因为根目录是这么的重要,所以在FHS的要求方面,他希望根目录不要放在非常大的分割槽内,因为越大的分割槽你会放入越多的数据,如此一来根目录所在分割槽就可能会有较多发生错误的机会。因此FHS标准建议:根目录(/)所在分割槽应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分割槽内,保持根目录越小越好。如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。Linux的文件目录结构有鉴于上述的说明,因此FHS定义出根目录(/)底下应该要有底下这些子目录的存在才好:目录应放置文件内容/bin系统有很多放置执行文件的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般账号所使用,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等常用命令/boot这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需配置文件等等。Linuxkernel常用的文件名为:vmlinuz/dev在Linux系统上,任何装置与接口设备都是以文件的型态存在于这个目录当中的。/etc系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的启始文件等等。一般来说,这个目录下的各文件属性是可以让一般使用者查阅的,但是只有root有权力修改/home这是系统默认的用户主文件夹(homedirectory)。在你新增一个一般使用者账号时,默认的用户主文件夹都会规范到这里来。比较重要的是,主文件夹有两种代号:~:代表目前这个用户的主文件夹~test:则代表test的主文件夹Linux的文件目录结构/lib系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库,以及在/bin或/sbin底下的指令会呼叫的函数库/mediamedia是『媒体』的英文,顾名思义,这个/media底下放置的就是可删除的设备,包括软盘、光盘、DVD等等设备都暂时挂载于此。/mnt如果想要暂时挂载某些额外的装置,一般建议可以放置到这个目录中。/opt这个是给第三方软件放置的目录/root系统管理员(root)的主文件夹/sbinLinux有非常多命令是用来设定系统环境的,这些命令只有root才能够利用来『设定』系统,其他用户最多只能用来『查询』而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的命令。至于某些服务器软件程序,一般则放置到/usr/sbin/当中。至于本机自行安装的软件所产生的系统执行文件(systembinary),则放置到/usr/local/sbin/当中了。/srvsrv可以视为『service』的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。/tmp这是让一般用户或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能够存取的,所以需要定期的清理一下。Linux的文件目录结构除了这些目录的内容之外,另外要注意的是,因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分割槽则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录,就不能够与根目录放到不同的分割槽去!那哪些目录不可与根目录分开呢?有底下这些:/etc:配置文件/bin:重要执行文件/dev:所需要的装置文件/lib:执行文件所需的函数库与核心所需的模块/sbin:重要的系统执行文件这五个目录千万不可与根目录分开在不同的分割槽!Linux的文件目录结构/usr的意义与内容:很多人都会误会/usr为user的缩写,其实usr是UnixSoftwareResource的缩写,也就是『Unix操作系统软件资源』所放置的目录,而不是用户的数据,这点要注意。FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的子目录,而不要自行建立该软件自己独立的目录。因为是所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr底下,因此这个目录有点类似Windows系统的『C:\Windows\+C:\Programfiles\』这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。一般来说,/usr的子目录建议有底下这些:目录应放置文件内容/usr/X11R6/为XWindowSystem重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意。/usr/bin/绝大部分的用户可使用指令都放在这里!请注意到他与/bin的不同之处/usr/sbin/非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon)/usr/src/一般源码建议放置到这里,src有source的意思。至于核心源码则建议放置到/usr/src/linux/目录下。/usr/lib/包含各应用软件的函数库、目标文件(objectfile),以及不被一般使用者惯用的执行文件或脚本(script)。Linux的文件目录结构/usr/include/c/c++等程序语言的头文件(header)与包含文件(include)放置处,当我们以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里头的许多包含文件/usr/local/系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录,这样会比较便于管理/usr/share/放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据,因为几乎都是文本文件,在此目录下常见的还有这些子目录:/usr/share/man:联机帮助文件/usr/share/doc:软件杂项的文件说明/usr/share/zoneinfo:与时区有关的时区文件Linux的文件目录结构/var的意义与内容:如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lockfile,runfile),或者例如MySQL数据库的文件等等。常见的子目录有:目录应放置文件内容/var/cache/应用程序本身运作过程中会产生的一些暂存文件;/var/lib/程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去!/var/lock/某些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时,就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用,举例来说,刻录机正在刻录一块光盘,想一下,会不会有两个人同时在使用一个刻录机烧片?如果两个人同时刻录,那片子写入的是谁的数据?所以当第一个人在刻录时该刻录机就会被上锁,第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使用.Linux的文件目录结构/var/log/重要!这是登录文件放置的目录!里面比较重要的文件如/var/log/messages,/var/log/wtmp(记录登入者的信息)等。/var/mail/放置个人电子邮件信箱的目录/var/run/某些程序或是服务启动后,会将他们的PID放置在这个目录/var/spool/这个目录通常放置一些队列数据,所谓的『队列』就是排队等待其他程序使用的数据,这些数据被使用后通常都会被删除Linux文件目录操作与管理绝对路径与相对路径绝对路径:由根目录(/)开始写起的文件名或目录名称,例如:/home/admin/.bashrc;相对路径:相对于目前路径的文件名写法。例如:./home/admin或../../home/admin/等等。反正开头不是/就属于相对路径的写法.必须了解:相对路径是以『当前所在路径的相对位置』来表示的。举例来说,目前在/home这个目录下,如果想要进入/var/log这个目录时,可以怎么写呢?1.cd/var/log(absolute)2.cd../var/log(relative)因为在/home底下,所以要回到上一层(../)之后,才能继续往/var来移动的!特别注意这两个特殊的目录:.:代表当前的目录,也可以使用./来表示;..:代表上一层目录,也可以../来代表。Linux文件目录操作与管理例题:如何先进入/var/spool/mail/目录,再进入到/var/spool/cron/目录内?答:由于/var/spool/mail与/var/spool/cron是同样在/var/spool/目录中,因此最简单的指令下达方法为:cd/var

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功