1、描述计算机的组成及其功能。
(1)计算机是由运算器、控制器、存储器、输入设备和输出设备组成的。
(2)功能:
运算器:核心部件是加法器,做一些简单的二进制运算(逻辑运算和算术运算),有加减乘除等,乘除减法也是换算为加法进行的。
控制器:控制整个计算机各部件的协调工作;控制器和运算器合称为CPU;
存储器:是编址存储设备,内存里的每个空间都是有地址的;
存储运算器所需运算的数据和运算后的结果数据;
输入设备和输出设备是IO设备,它们不是最主要的部件,是与外面部件交互的设备,速度慢;常用的IO设备:磁盘、网卡、键盘、鼠标、显示器等;
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
Linux三大主流发行版:slackware,debian,redhat
slackware:是基于SLS的发行版,但是SLS昙花一现;特点:安装灵活,目录结构严谨,版本力求稳定而非追新;不依赖图形界面的文本化系统配置、传统的服务管理方式和不解决依赖的包管理方式。
SuSE:slackware的二次发行版,欧洲最为流行;第一个版本出现在1994年年初,2004年被Novell公司收购。2011年4月,Attachmate集团完成了对Novell(包括SUSE业务)的收购把Novell拆分成两个独立部门运营,SUSE作为一个独立的业务部门。
opensuse:slackware的三次发行版,开源的;
debian:三大发行版中唯一一个不是由商业化组织维护的;比较原汁原味的Linux,主要是专业人士使用;
Ubuntu:基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity;每6个月会发布一个新版本;目标:为一般用户提供一个最新的、同时又相当稳定的操作系统;
mint:基于Ubuntu的linux发行版, 是一个为PC和X86电脑设计的操作系统;可以在Linux Mint下访问Windows分区;
redhat:分为桌面版和企业版RHEL,从redhat 7.0后开始发行RHEL,升级到redhat9.0之后就不维护桌面版了,把桌面版捐给Fedora进行维护,主要用于测试新软件、新驱动程序。
RHEL:redhatenterprise linux;2010年11月11日发布EnterpriseLinux 6正式版,包含更强大的可伸缩性和虚拟化特性,并全面改进系统资源分配和节能。RHEL一般每18个月发行一个新版本;
CentOS:CommunityENTerprise Operating System;中文意思是:社区企业操作系统,主要由一个社区进行维护;是一个基于RHEL提供的可自由使用源代码的企业级Linux发行版本;兼容RHEL的格式,更新一般晚RHEL一个月左右;2014年,被redhat收购。CentOS 7于2014年7月7号正式发布;
Fedora: Fedora是基于Red HatLinux的发行版,大约每6个月发行一个新版本;在Red HatLinux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的RHEL则取代Red Hat Linux在商业应用的领域。对于用户而言,它是一套功能完备、更新快速的免费操作系统;对Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到RHEL中。
ArchLinux:是一个完全独立的分支,以轻量、简洁、代码最小化为设计理念;Arch项目受 CRUX 发行版启发,由 JuddVinet于2002年启动。
Gentoo:是一种可以针对任何应用和需要而自动优化和自定义的特殊的Linux发行版;拥有优秀的性能、高度的可配置性和一流的用户及开发社区;有一套先进的包管理系统叫作Portage(用Python编写的);2011年03月09日,GentooLinux 11.0 发布,该版本使用最新稳定内核2.6.37版本。
LFS:Linux Fromscratch;是一本书,叫你如何自己制作一个linux系统;
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
(1)在Linux系统上,一切皆文件;
把几乎所有的资源,包括硬件设备都组织为文件格式;
(2)组合小程序完成复杂任务;
由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好。
(3)尽量避免跟用户交互;
目标:实现脚本编程,以自动完成某些功能;
(4)使用纯文本文件保存配置信息;
目标:使用一款文本编辑器即能完成系统配置工作;
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
答:命令使用格式:
COMMAND [OPTION . . . ][ARGUMENTS . . . ]
选项:用于启动或关闭命令的某个或某些功能;
短选项:-c,例如:-l,-h
多个短选项可合并使用,例如:-l -h,可写作-lh;
长选项:--word,例如:--long,--human-readable
长选项一般不能合并使用;
参数:命令的作用对象,用于向命令提供数据的;
ifconfig命令:
用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在系统重启后就会失效;想把配置信息永久保存的话,就需要修改网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,这里ifcfg-eth0为第一块网卡的配置文件。
实例:
显示网络设备信息(激活状态的):
[root@c66-moban~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:02:12:34
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr:fe80::20c:29ff:fe02:1234/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:178 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18842 (18.4 KiB) TX bytes:12005 (11.7 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4 errors:0 dropped:0overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0carrier:0
collisions:0 txqueuelen:0
RX bytes:380 (380.0 b) TX bytes:380 (380.0 b)
说明:
eth0 表示第一块网卡,HWaddr表示网卡的物理地址,inet addr表示网卡的IP地址,Bcast是广播地址,Mask是子网掩码;
lo 是主机的回环地址,一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
第四行:UP表示网卡是开启状态,RUNNING表示网卡的网线已连接上,MTU:65536表示最大传输单元是65536字节;
第五、六行:表示接受、发送数据包情况统计;
第八行:接收、发送数据字节数统计信息。
临时启动和关闭指定网卡:
~] #ifconfig eth0 up #启动eth0网卡;
~] #ifconfig eth0 down #禁用eth0网卡;
配置IP地址:
~] #ifconfig eth0 192.168.1.100
~] #ifconfig eth0 192.168.1.100 netmask 255.255.255.0
~] #ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
设置最大传输单元:
~] # ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为1500字节;
echo命令:
回显命令,用于在shell中打印shell变量的值,或者直接输出指定的字符串。
语法:
echo [选项] [参数]
选项:
-n :禁止自动添加换行符号;
-e :允许使用转义符;
\a :发出警告声;
\b :删除前一个字符;
\c :最后不加上换行符号;
\f :换行,但光标仍旧停留在原来的位置;
\n :换行,且光标移至行首;
\r :光标移至行首,但不换行;
\t :插入制表符Tab;
\v :与 \f相同;
\\ :插入“\”字符;
\nnn :插入nnn(八进制)所代表的ASCII字符;
实例:用echo命令打印带有色彩的文字;
设置文字色:
~]# echo -e"\e[1;31mThis is red text\e[0m"
This is red text
说明:
\e[1;31m:将颜色设置为红色;
\e[0m:将颜色重新置回;
前景色颜色码:
重置=0,黑色=30,红色=31,绿色=32,×××=33,蓝色=34,洋红=35,青色=36,白色=37;
设置背景色:
~]# echo -e "\e[1;42mGreed Background\e[0m"
Greed Background
说明:
背景色颜色码:重置=0,黑色=40,红色=41,绿色=42,×××=43,蓝色=44,洋红=45,青色=46,白色=47;
设置文字闪动:
[root@c66-moban ~]# echo -e "\033[37;31;5mMySQL ServerStop...\033[39;49;0m"
MySQL Server Stop... (此处红色字体在闪动)
说明:
红色数字处还有其他数字参数:0关闭所有属性,1设置高亮度(加粗),4下划线,5闪烁,7反显,8消隐;
tty命令:
打印连接到标准输入的终端的文件名;
语法:
tty [选项]. . .
选项:
-s,--silent,--quiet :什么也不打印,只是返回退出状态码;
--help:打印帮助信息;
--version:打印版本信息并退出;
返回状态码:
0 表示标准输入是一个终端;
1 表示标准输入不是一个终端;
2 表示给定的参数是不正确的参数;
3 表示发生了写错误;
实例:
查看当前的标准终端文件描述符号:
[root@c66-moban~]# tty
/dev/pts/1
说明:这里输入tty之后,输出“/dev/pts/1”就是当前连接的终端对应的文件描述符号,我们可以通过向这个文件写入数据,这样会看到当前终端会输出我们写入的数据,例如:
[root@c66-moban ~]# echo mytest >/dev/pts/1
mytest
可见,向/dev/pts/1文件写入的内容,直接显示到我们的终端上面了。如果我们在机器上面开了多个终端,然后在别的终端上输入上面的echo命令,那么将会看到对应“/dev/pts/1”的终端上面会显示相应的字符了。
startx命令:
用来启动X window,实际上启动Xwindow的程序是xinit;xinit命令是linux下X-window系统的初始化程序,主要完成X服务器的初始化设置;
实例:
启动图形界面:
~]# startx #前提是有安装了图形界面;
强制启动图形界面:
~]# startx –w
使用 .xinitrc脚本启动图形界面:
~]# startx -x .xinitrc
使用mwm窗口管理器启动图形界面:
~]# startx -m mwm
export命令:
用于将shell变量或shell函数输出为环境变量;一个变量创建时,它不会自动地为它之后创建的shell进程所知;而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原来脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
语法:
export选项 参数
选项:
-f:代表变量名称中为函数名称;
-n:删除指定的变量;变量实际上并未删除,只是不会输出到后续指令的执行环境中;
-p:列出所有的shell赋予程序的环境变量;
实例;
查看已经存在的环境变量:
~]# export # 默认是有加–p;
pwd命令:
以绝对路径的方式显示用户当前工作目录;
语法:
pwd [选项]
选项:
-L:--logical,use PWD from environment, even if it contains symlinks
-P:--physical,avoid all symlinks
--help :显示帮助信息;
--version :显示版本信息;
实例:
显示当前工作目录:
[root@ilinux~]# pwd
/root
history命令:
管理命令历史;登录shell时,会读取命令历史文件(~/.bash_history)中记录下的命令;登录shell后新执行的命令只会记录在缓存中,这些命令会在用户退出时“追加”到命令历史文件中;
语法:
history [选项] [参数]
选项:
-a:将历史命令缓冲区中的命令追加到历史命令文件中;
-c:清空当前历史命令;
-d:删除命令历史中指定的命令;
-w:将历史命令缓冲区中的命令覆盖到历史命令文件中;
参数:
n:显示最近的n条历史命令;
快捷操作:
!#:调用命令历史中第#条命令;
!string:调用命令历史中最近一个以string开头的命令;
!!:重复运行上一条命令;
实例:
[root@ilinux~]# history 5 #显示最近使用的5条命令;
242 manhistory
243 history 3
244 history 10
245 cd-
246 history 5
[root@ilinux~]# !245 #调用命令历史中第245条命令;
cd-
/tmp
[root@ilinuxtmp]# !tou #调用命令历史中最近一个以tou开头的命令;
touchinstall.log
[root@ilinuxtmp]# !! #重复运行上一条命令;
touchinstall.log
shutdown命令:
系统关机命令;shutdown可以关闭所有程序,并依用户的需要,进行重启或关机操作;
语法:
shutdown [选项] [参数]
选项:
-c:取消操作;
-h:halt,将系统关机;
-r:reboot,系统重启;
-f:重启时不执行fsck;
-F:重启时执行fsck;
fsck命令用于检查并且试图修复文件系统中的错误;
-k:只发送信息给所用用户,但不会实际关机;
-n:不调用init程序进行关机,而是由shutdown自己进行;
-t<秒数> :发出警告信息和删除信息之间要延迟多少秒;
注意:不加任何选项的话,是进入单用户模式,可用exit退出单用户模式;
例如:shutdown now 立刻进入单用户模式;
参数:
[时间] :设置多久后执行shutdown命令;
now :立刻,或者写0;
+ m :相对时间表示法,从命令提交开始多少分钟之后;例如:+3;
hh : mm :绝对时间表示法,指明具体时间;
[警告信息] :要发送给所有登录用户的信息;
实例:
指定现在立刻重启:
~]# shutdown –r now
指定5分钟后关机,同时发送警告信息给登录用户;
~] # shutdown –h +5 “Systemwill shutdown after 5 minutes!”
指定12:00重启系统:
~]# shutdown –r 12:00
poweroff命令:
关闭系统并切断电源;
语法:
poweroff [选项]
选项:
-n:关闭系统不执行sync操作;在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令可用来强制将内存缓冲区中的数据立即写入磁盘中。
-d:关机时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关机;
-i:关机之前先关闭所有的网络接口;
-h:关机前将系统中所有的硬件设置为备用模式;
实例:
如果系统中已没有用户登录且所有数据都已保存,需要立刻关机,可使用poweroff命令:
~]# poweroff
reboot命令:
重启系统;
语法:
reboot [选项]
选项:
-d:重新开机时,不把数据写入记录文件 /var/log/wtmp;
-f:强制重启,不调用shutdown命令;
-I:在重启之前先关闭所有的网络接口;
-n:重启前不检查是否有未结束的程序;
-w:仅做测试,并不真正重启系统,只会把重启的数据写入到 /var/log/wtmp记录文件中;
实例:
~]# reboot # 重启系统;
~]# reboot -w #做个重启的模拟(只有记录,并不会真的重启);
hwclock命令:
是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可以设置系统时间为硬件时钟的时间。
在Linux中有硬件时钟和系统时钟两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS里面设定的时钟;系统时钟则是指由linux内核通过CPU的工作频率进行计时的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有linux相关指令与函数都是读取系统时钟的设定。
语法:
hwclock [选项]
选项:
-s,- -hctosys :将系统时钟调整为与目前的硬件时钟一致;
-w,- -systohc :将硬件时钟调整为与目前的系统时钟一致;
--adjust :hwclock每次更改硬件时钟时,都会记录在 /etc/adjtime文件中。使用- -adjust选项,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug :显示hwclock执行时详细的信息;
--directisa :hwclock预设从 /dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--set –date=<日期与时间> :设定硬件时钟;
--show :显示硬件时钟的时间与日期;
--test :仅测试程序,而不会实际更改硬件时钟;
--utc :若要使用格林威治时间,加入此参数,hwclock会执行转换的工作;
--version :显示版本信息;
实例:
查看当前的硬件时钟的时间:
~]# hwclock
将硬件时钟调整为与系统时钟一致:
~]# hwclock –w #方法一
~]# hwclock –systohc #方法二
将系统时钟调整为与硬件时钟一致:
~]# hwclock –s #方法一
~]# hwclock –hctosys #方法二
查看clock文件,确认是否设置了UTC:
[root@ilinux ~]# cat/etc/sysconfig/clock #redhat系列clock查看方式;
ZONE="Asia/Shanghai" #这里没有设置“UTC=false”,默认应该是启动了。
~]#cat /etc/default/rcS #一些其他版本系列的clock查看方式;
date命令:
显示或设置系统时间与日期。很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
语法:
date [选项] [参数]
选项:
-d<字符串> :显示字符串所指的日期与时间,字符串需加双引号;
-s<字符串> :根据字符串来设置日期与时间,字符串需加双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息;
参数:
<+时间日期格式> :指定显示时使用的日期时间格式;
日期格式字符串列表:
%H,%k 小时,24小时制(00-23);
%I,%l小时,12小时制(01-12);
%M 分钟(00-59);
%p 显示AM或PM;
%r 显示时间,12小时制(hh:mm:ss%p)
%s 从1970年1月1日00:00:00到目前经历的秒数;
%S 显示秒(00-59);
%T 显示时间,24小时制(hh:mm:ss);
%X 显示时间的格式(%H:%M:%S);
%Z 显示时区,日期域(CST);
%a 星期的简称(Sun~Sat);
%A 星期的全称(Sunday~Saturday);
%h,%b 月的简称(Jan~Dec);
%B 月的全称(January~December);
%c 日期和时间(Tue Nov 2014:15:50 2015);
%d 一个月的第几天(01-31);
%x,%D 日期(mm/dd/yy);
%j 一年的第几天(001-365);
%m 月份(01-12);
%w 一个星期的第几天(0代表星期天);
%W 一年的第几个星期(00-53,星期一为第一天);
%y 年的最后两个数字(若2016,则显示16);
实例:
格式化输出:
[root@ilinux~]# date +"%Y-%m-%d" #此处用单引号也可以;
2016-08-10
输出昨天的日期:
[root@ilinux~]# date -d "1 day ago" +"%Y-%m-%d"
2016-08-09
传说中的1234567890秒:
[root@ilinux~]# date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d%H:%m:%S"
2009-02-1323:02:30
普通转格式:
[root@ilinux~]# date -d "2016-08-10" +"%Y/%m/%d %H:%M.%S"
2016/08/1000:00.00
apache格式转换:
[root@ilinux~]# date -d "Aug 10, 2016 10:20:30 AM" +"%Y-%m-%d%H:%M.%S"
2016-08-1010:20.30
格式转换后时间游走:
[roo@t~]#date -d "Aug 10, 2016 10:20:30 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2014-08-1010:20.30
日期时间加减操作:
[root@ilinux~]# date +"%Y-%m-%d"
2016-08-10
[root@ilinux~]# date -d "-1 day" +"%Y-%m-%d"
2016-08-09
[root@ilinux~]# date -d "+1 day" +"%Y-%m-%d"
2016-08-11
[root@ilinux~]# date -d "-1 month" +"%Y-%m-%d"
2016-07-10
[root@ilinux~]# date -d "+1 month" +"%Y-%m-%d"
2016-09-10
[root@ilinux~]# date -d "-1 year" +"%Y-%m-%d"
2015-08-10
[root@ilinux~]# date -d "+1 year" +"%Y-%m-%d"
2017-08-10
设定时间:
~]#date -s "2016-8-11 00:20" #设置当前时间,只有root权限才能设置;
Thu Aug 11 00:20:00 CST 2016
~]#date -s 20160811
ThuAug 11 00:00:00 CST 2016
~]#date -s 00:25:20 #设置具体时间,不会对日期做更改;
Thu Aug 11 00:25:20 CST 2016
~]# date -s "00:27:00 2016-08-11" #可以设置全部时间
Thu Aug 11 00:27:00 CST 2016
~]# date -s "00:27:00 20160811" #可以设置全部时间
Thu Aug 11 00:27:00 CST 2016
~]# date -s "2016-08-11 00:27:00" #可以设置全部时间
Thu Aug 11 00:27:00 CST 2016
~]# date -s "20160811 00:27:00" #可以设置全部时间
Thu Aug 11 00:27:00 CST 2016
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
答:内部命令获取帮助:
#help COMMAND
外部命令获取帮助:
(1)# COMMAND –help或 # COMMAND –h
(2)使用手册(manual)
# man COMMAND
(3)信息页
# info COMMAND
(4)程序自身的帮助文档
README,INSTALL,Changelog
(5)程序官方文档
官方站点:Documentation
(6)发行版的官方文档
(7)Google
(8)slideshare
man手册页存放目录:/usr/share/man,分为man1到man8,所有命令文件都是压缩存放的;
man文档章节划分如下:
man1:用户命令;
man2:系统调用;
man3:C库调用;
man4:设备文件及特殊文件;
man5:配置文件格式;
man6:游戏相关的;
man7:杂项;
man8:管理类的命令;
注意:有些命令关键在不止一个章节中存在帮助手册;
查看指定章节中的手册:man # COMMAND (# 表示章节号)
实例:
[root@ilinux~]# man 5 passwd
Formattingpage, please wait...
PASSWD(5) Linux Programmer’s Manual PASSWD(5)
NAME
passwd - password file
查看命令在哪些章节中有存放:whatis COMMAND
实例:
[root@ilinux~]# whatis passwd passwd (1) - update user's authentication tokens
passwd (5) - password file
passwd[sslpasswd] (1ssl) - compute password hashes
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
答:
/boot :引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录;
/bin:供所有用户使用的基本命令;不能关联到独立分区,存放OS启动即会用到的命令;
/sbin:管理类的基本命令,root用户才有权限使用的;不能关联到独立分区,存放OS启动即会用到的程序;
/lib:基本共享库文件,以及内核模块文件(/lib/modeles);
/lib64:专用于x86_64系统上的辅助共享文件存放位置;
/etc:配置文件存放目录(大多数是纯文本文件);
/root:管理员的家目录;
/home/USERNAME:普通用户的家目录;
/media:便携式移动设备挂载点;
/media/cdrom:挂载光盘;
/media/usb:挂载usb设备;
/mnt:临时文件系统挂载点;
/dev:设备文件及特殊文件存储位置;
b:block device,块设备是随机访问设备;
c:character device,字符设备是线性访问设备;
/opt:第三方应用程序的安装位置;
/srv:系统上运行的服务用到的数据存储位置;
/tmp:临时文件存放目录;
/usr:universal shared,read-only data;
/usr/bin:保证系统拥有完整功能而提供的应用程序;
/usr/sbin:管理员才有权限使用的命令;
/usr/lib:常用的动态链接库和软件包的配置文件;
/usr/lib64:x86_64系统上常用的动态链接库和软件包的配置文件;
/usr/include:C程序的头文件(header files);头文件是为了描述库文件的调用方式的;
/usr/share:结构化独立的数据,例如:doc,man等;
/usr/local:第三方应用程序的安装位置,取代早期的/opt;可以关联到完全独立的路径;
/var:variable data files,存放一些经常变化的数据;
/var/cache:应用程序缓存数据目录;
/var/lib:存储应用程序状态信息数据;
/var/local:专用于为 /usr/local下的应用程序存储可变数据;
/var/lock:锁文件存储目录;
/var/log:存放日志目录及文件;
/var/opt:专用于为 /opt下的应用程序存储可变数据;
/var/run:存放运行中的进程相关的数据;通常用于存储进程的pid文件;
/var/spool:应用程序数据池;
/var/tmp:保存系统两次重启之间产生的临时数据;
/proc:用于输出内核与进程信息相关的虚拟文件系统;
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
/selinux:security enhanced linux相关的安全策略等信息的存储位置;