- 描述计算机的组成及功能
- 按系列罗列linux的发行版,并描述不同发行版之间的联系与区别
- 描述linux的哲学思想,并按照自己的理解对其解释性描述
- 说明Linux系统上命令的使用格式;详细介绍ifconfig.echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合示例阐述
- 如何在Linux系统上获取命令帮助,请详细列出,并描述man文档的章节如何划分
- 请罗列Linux发行版的基础目录名称命名法则及其功用
第一题:.描述计算机的组成及功能
现代计算机主要是基于冯诺依曼体系结构设计的,当然还有其他的,比如哈佛体系
冯诺依曼体系结构图
可以看出有以下五个基本组件
- 控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等
- 运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理
- 存储器:存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息存储器分为内存储器和外存储器:
- 内存储器:价格贵,容量小,速度快,断电RAM数据会丢失;内存储器分为只读存储器和随机存储器:
- 只读存储器(ROM):只可以进行读操作,用户不能写入新内容,是一种非易失性存储器,不会因为断电丢失信息,一般放置固定的程序和数据,如BIOS
- 随机存储器(RAM):可以随机读/写的存储器,有以下2个特点:第一可以读出,也可以写入,独处不损坏原来存储内容,写入才修改内容;第二,断电数据会丢失,属于易失性存储器
- 外存储器:价格低,容量大,速度慢,断电数据不会丢失,比如硬盘,光驱等
- 内存储器:价格贵,容量小,速度快,断电RAM数据会丢失;内存储器分为只读存储器和随机存储器:
- 输入设备:输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
- 输出设备:它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
计算机硬件组成:
第二题:按系列罗列linux的发行版,并描述不同发行版之间的联系与区别
首先回答一个问题发行版和linux内核有什么区别?
Linux发行版指的就是通常所说的“Linux操作系统”,它一般是由一些组织、团体、公司或者个人制作并发行的。Linux内核主要作为Linux发行版的一部分而使用。
通常来讲,一个Linux发行版包括Linux内核,以及将整个软件安装到计算机上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件。
发行版为许多不同的目的而制作,包括对不同计算机硬件结构的支持,对普通用户或开发者使用方式的调整,针对实时应用或嵌入式系统的开发等等。
一个典型的发行版包括:Linux内核,GNU库和各种系统工具,命令行Shell,图形界面底层的X窗口系统和上层的桌面环境等。
- RedHat:适用人群非常多,相关资料也非常多,Redhat系列几个最常见的发行版RHEL(Redhat Enterprise Linux),Fedora Core,CentOS,Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件
Redhat有以下几个流行衍生版本
(1)RHEL(Redhat Enterprise Linux):Redhat商业版,稳定性好,出了问题官方可以帮忙解决
(2) Fedora Core:由原来的Redhat桌面版本发展而来,免费版本,稳定性比较差,最好只用于桌面环境
(3)CentOS:基于RHEL的社区版本,免费,稳定性好,适用于企业服务器
- Debian:是社区类linux的典范,是迄今为止最遵循GNU规范的Linux系统Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian系列常见的发行版Ubuntu,knoppix,Mint,Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。
Debian有以下几个流行衍生版本
(1)Ubuntu:Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的 桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
(2)Mint:由Linux Mint Team团队于2006年开始发行,是一份基于Debian和Ubuntu的Linux发行版。其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件,它也增加了一套定制桌面及各种菜单,一些独特的配置工具,以及一份基于web的软件包安装界面。Linux Mint是对用户友好而功能强大的操作系统。它诞生的目的是为家庭用户和企业提供一个免费的,易用的,舒适而优雅的桌面操作系统。
(3)knoppix:KNOPPIX可用于Linux演示、光盘教学、系统急救,经过适 当改造,还可以用于商业软件的产品演示。KNOPPIX采用了特殊的解压缩技术,不需要硬盘安装,一张CD,就容纳了2GB的可执行程序,供用户自由使 用
- Slackware:是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则,就是说没有任何配置系统的图形界面工具。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware Linux的另一个突出的特性也符合KISS原则:Slackware没有如RPM之类的成熟的软件包管理器。Slackware的软件包都是通常的tgz(tar/gzip)格式文件再加上安装脚本。Tgz对于有经验的用户来说,比RPM更为强大,并避免了RPM之类管理器的依赖性问题。Slackware与其他的发行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力图成为“UNIX风格”的Linux发行版本。只吸收稳定版本的应用程序,并且缺少其他linux版本中那些为发行版本定制的配置工具。
Slackware有以下几个流行衍生版本
(1)SUSE:简称”SuSE”,发音为/zuz/,意思为”Software- und System-Entwicklung”,这是一句德文,英文为”Software and system development”。现在这家公司的名字再度更改成SUSE Linux。SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)这个发行版。这套发行版包含的软件非常多,更首次收录了X Window及TCP/IP等套件。Slackware就是一个基于SLS的发行版。
(2)OpenSUSE:openSUSE 项目是由 Novell 发起的开源社区计划。 旨在推进 Linux 的广泛使用,提供了自由简单的方法来获得世界上最好用的 Linux 发行版之一openSUSE。openSUSE 项目为 Linux开发者和爱好者提供了开始使用 Linux 所需要的一切。该项目由SUSE等公司赞助,2011年Attachmate集团收购了Novell,并把Novell和SUSE做为两个独立的子公司运营。openSUSE 操作系统和相关的开源程序会被SUSE Linux Enterprise(比如 SLES 和 SLED)使用。openSUSE对个人来说是完全免费的,包括使用和在线更新
- Gentoo:伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开 发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软 件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
- Android:是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。 2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
- Arch Linux:Arch是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。Arch Linux 项目受 CRUX启发,由 Judd Vinet 于2002年启动。Arch Linux是起源于加拿大的一份致力于使用简单、系统轻量、软件更新速度快的 GNU/Linux发行版。创始人Judd Vinet出于对Debian以及Red Hat的包管理器不满,以及受CRUX影响而创立。最初针对i686,但是如今对x86_64也支持良好,而且还派生出了针对ARM平台的Arch Linux ARM以及针对HURD内核的Arch Hurd(发展缓慢)
Linux发行版时间简图
参考链接
https://blog.csdn.net/ithomer/article/details/9729933
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
第三题:描述linux的哲学思想,并按照自己的理解对其解释性描述
- 一切皆文件把几乎所有资源都抽象成了文件,包括硬件设备,甚至通信接口等;这样就对资源的处理有了一个通用的接口,利用fopen()/fclose()/fwrite()/fread()等函数进行处理。屏蔽了硬件的区别,所有设备都抽象成文件,提供统一的接口给用户。使整个linux内核非常简洁优美
- 由众多功能单一的程序组成:一个程序只做一件事,并做到最好;组合小程序完成复杂任务;比如我们需要查找统计/etc/services包含udp的所有行
[root@localhost ~]# cat /etc/services | grep udp | wc -l 5389
这时候可以看出来它是由几个简单的命令组合起来 利用管道进行了衔接,完成了相对复杂的任务,这种思想是有利于排错的,如果有一个命令把我们的这些命令封装了起来,那么出错了其实不利于排查,但是如果是由一个个小的命令组合起来,把耦合度降低了,这样利于排查,而且对整个系统的操作也会更加灵活便捷。
- 尽量避免和用户交互因为一直与用户进行交互,系统的对象就是人,人是容易犯错误的,但是管理员的权限是非常大的,如果不小心执行了错误的操作,这样是非常危险的,所以提倡用脚本或者其他编程语言程序进行交互,优点就是安全,实现了自动化。
- 使用文本文件保存配置信息;linux是个开源的项目,有很多来自世界各地的计算机大牛贡献自己的代码,但是每个人的习惯又都不一样,这时候统一用文本文件保存配置信息,好处是非常大的。相当于给了用户一个相对统一的接口进行管理,采用文本文件保存配置信息优点在于简单,方便,易读。
第四题.说明Linux系统上命令的使用格式;详细介绍ifconfig.echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合示例阐述
命令通用格式 COMMAND OPTIONS AGRGUMENTS
- COMMAND为命令命令本身是一个可执行程序文件,二进制格式的文件,有可能会调用共享库文件; 多数的系统命令存放在:/bin,/sbin,/usr/sbin,/usr/bin,/usr/local/bin,/usr/local/sbin
普通命令:/bin,/usr/bin,/usr/local/bin 管理命令:/sbin,/usr/sbin,/usr/local/sbin
共享库:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
32bits的库:/lib,/usr/lib,/usr/local/lib 64bits的库:/lib64,/usr/lib64,/usr/local/lib64
注意并非所有命令都有对应的可执行程序文件,比如内置命令就没有可执行程序文件,是shell自带的命令区分是否是内置命令的方法利用type命令
[root@localhost ~]# type cd
cd is a shell builtin ##这就说明cd是个shell内置命令
命令的查找方式是利用环境变量PATH的
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
说明我在当前命令行输入命令,系统会自动到/usr/local/sbin/usr/local/bin,/usr/sbin,/usr/bin,/root/bin
这几个目录去查找命令文件(内置命令没有对应的可执行文件,内嵌在shell内,所以不需要在PATH变量这些文件中查找)
查找的次序,从左至右
- OPTIONS:指定运行命令的选项,或者说特性 选项有2种格式:
- 短选项:例如 -l -c -d ; 具体要看命令这里只是说明格式,同时也不要太死板,有些命令的选项不需要-,也可以执行,比如tar命令可以用“-”也可以不用加“-”,如果有多个短选项大多数是可以合并的 比如 ls -l -d 也可以写作 ls -ld 是同一个意思
- 长选项:例如 –help –version;具体也要看命令这里只是举例,并不针对所有命令,注意长选项不可以合并
- AGRGUMENTS:命令的作用对象,参数,不同的命令有不同的参数,有些命令可以同时带多个参数,多个之间用空白字符分割
例如:[root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 886 Mar 27 09:28 /etc/passwd 这里的/etc/passwd就是一个AGRGUMENTS
几个命令的详细介绍 ifconfig.echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date
==============================================================================================================================================
命令ifconfig
功能:用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
格式: ifconfig [-v] [-a] [-s] [interface] ifconfig [-v] interface [aftype] options | address …
常用选项 作用
down 关闭指定的网络设备。
netmask <子网掩码> 设置网络设备的子网掩码。
up 启动指定的网络设备。
[IP地址] 指定网络设备的IP地址
[网络设备] 指定网络设备的名称。
例子1:查看网络设备相关信息 ifconfig
例子2:创建一个虚拟ip 192.168.253.156 ifconfig ens33:0 192.168.253.156 up
例子3:关闭虚拟ip192.168.253.156
========================================================================================================================================
命令pwd 功能:显示当前目录
========================================================================================================================================
命令tty 功能:显示终端机连接标准输入设备的文件名称
说明:在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty指令查询目前使用的终端机的文件名称。
终端的分类:
1.串行端口终端(/dev/ttySn)
2.伪终端(/dev/pty/)
3.物理终端(/dev/tty)
4.图形终端(/dev/console,/dev/ttyn)
5.虚拟终端(/dev/pts/n)
例子:我使用xshell登陆
========================================================================================================================================
命令echo
功能:回显
格式:
echo [SHORT-OPTION]… [STRING]…
常用选项 作用
-n 不进行换行
-e 让转义符生效,常见的转义符: \t: 制表符 \n:换行符
例1:-n 回显结束不进行换行
例2:-e 让转义符生效
========================================================================================================================================
命令startx
功能:启动X Window
========================================================================================================================================
命令export
功能:设置或显示环境变量
语法:
export [-fn] [name[=value] …] or export -p
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
常用选项 功能
-f 代表[name]里面为函数名称
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有shell的环境变量
例1:查看shell所有环境变量 export -p
例2:新增一个环境变量 export name=value 这里设置VAR变量,值为hello
========================================================================================================================================
命令history
功能:显示或者修改历史命令
补充说明:当用户登陆的时候会从$HISTFILE文件中读取之前保存历史命令,登录之后执行的命令,会保存在内存中,所以执行history查看的命令是保存在文件中的历史命令+内存中的历史命令
用法: history [-c] [-d offset] [n] history -anrw [filename] history -ps arg [arg…]
常用选项 作用
-c 清空命令历史 ,这里清空的只是内存中的历史命令
-d offset 删除指定命令历史
-r 从文件读取命令至命令列表中,相当于从文件中把历史命令读到内存中
-w 把历史列表中的命令追加到历史文件中。相当于吧内存中的历史命令写入到文件中
# #代表数字,显示最近的#条命令
调用命令历史列表中的命令:
!# 再一次执行历史列表中的第#条命令
!! 执行上一条命令
!STRING 执行命令历史列表中最近一个以STRING开头的命令
例子1:清空内存中的历史命令
history -c
例子2:从文件中读取命令到命令列表
history -r
例子3:显示最近10条历史命令
history 10
例子4 执行上一条命令
========================================================================================================================================
命令shutdown
功能:关机或者重启
格式:
shutdown [OPTIONS…] [TIME] [WALL…]
常用选项 作用
-h 关机
-r 重启
-c 取消,当设置了关机时间,这个选项可以取消关机指令
–no-wall 不发送信息给其他终端
-k 只是送出信息给所有用户,但不会实际关机。
TIME:
now 马上
hh:mm hh点mm分
+m m分钟后
例1:10分钟后关机
shutdown -h +10
例2:取消,假设设置了n分钟后关机,突然改变注意了 可以-c 取消关机指令 shutdown -c
例3:利用-k传送警告信息,但是并不会关机,假装10分钟后关机 shutdown -k +10 “byebye”
例4:10分钟后关机,并且不发送信息给其他终端,从之前的例子可以看出来执行了shutdown会进行广播,但是加上–no-wall 就不会广播给其他终端。
========================================================================================================================================
命令poweroff
功能:关闭或者重启系统
常用选项 作用
-n 关闭操作系统时不执行sync操作;
-w 不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d 关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f 强制关闭操作系统; -i 关闭操作系统之前关闭所有的网络接口;
例子:关机 powoff
========================================================================================================================================
命令reboot
功能:重启
========================================================================================================================================
命令date
功能:查看或更改系统时间
格式:
date [OPTION]… [+FORMAT] date [MMDDhhmm[[CC]YY][.ss]]
显示系统时间
date 显示时间常用的参数
%H 小时(以00-23来表示)。
%M 分钟(以00-59来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%d 日期(以01-31来表示)。
%m 月份(以01-12来表示)。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
MM 月份(必要)。
DD 日期(必要)。
hh 小时(必要)。
mm 分钟(必要)。
设置时间 date [MMDDhhmm]
M代表月份 D代表日期 h代表小时 m代表分钟
例子1:按照自定义格式显示时间 date +”%Y%M%d-%H:%m”
例子2:设置时间为2018.6.12 20:00 date 061220002018
========================================================================================================================================
命令hwclock
功能:查询或者设置硬件时钟
补充信息:系统启动时,会从硬件读取日期和时间信息;读取完成之后,就不再与硬件相关联;
显示硬件时钟 hwclock 调整硬件时钟
-s –hctosys 以硬件为准,让系统时钟和硬件时钟同步
-w –systohc 以系统为准,让系统时钟和硬件时钟同步
例子1:查看硬件时钟 hwclock
例子2:以系统时间为标准,让硬件时钟与系统时间同步 hwclock -w
第五题:如何在Linux系统上获取命令帮助,请详细列出,并描述man文档的章节如何划分
获取命令的使用帮助:分为内部命令和外部命令
- 内部命令:help COMMAND 例如help cd
- 外部命令:(1)命令自带简要格式的使用帮助
COMMAND --help 例如 ls --help
(2)使用手册:manual
位置:/usr/share/man/
使用的例子:man ls 查看ls的使用手册
手册的内容分为以下几段
- NAME:功能性说明
- SYNOPSIS:语法格式
- []:里面为可选内容
- <>:必须提供的内容
- a|b|c:多选一
- ……:同类内容可出现多个
- DESCRIPTION:描述
- OPTIONS:选项
- AUTHOR:作者
- BUGS:报告程序BUG方式
- SEE ALSO:参考
- ……
(3)info COMMAND
获取命令的在线文档(可以作为man的一种补充,一般不怎么用)
(4)很多应用会自带帮助文档:
- /usr/share/doc/APP-VERSION
- README:程序的相关信息
- INSTALL:安装帮助
- CHANGES:版本迭代时的改动
(5)主流发行版官方文档
man文档章节的划分
使用手册:压缩格式的文件,又章节之分:
[root@localhost test]# ls /usr/share/man/
cs es id ko man1p man2x man3x man5 man6x man8 man9x pt sk zh_CN
da fr it man0p man1x man3 man4 man5x man7 man8x mann pt_BR sv zh_TW
de hu ja man1 man2 man3p man4x man6 man7x man9 pl ru tr
- 用户命令
- 系统调用
- C库调用
- 设备文件及特殊命令
- 文件格式
- 游戏使用帮助
- 杂项
- 管理工具以及守护进程
注意并不是每个COMMAND在所有章节独有手册
查看一个命令有哪些章节的使用手册
利用whatis COMMAND 例如 [root@localhost ~]# whatis passwd sslpasswd (1ssl) - compute password hashes passwd (1) - update user's authentication tokens
指定章节
man number COMMAND
number表示章节数字
第六题:请罗列Linux发行版的基础目录名称命名法则及其功用
Filesystem Hierarchy Standard(文件系统层次结构标准) 结构图
- /bin:Essential user command binaries(for use by all users) 存放所有用户可用的基本命令程序文件
- /boot: Static files of the boot loader 存放引导加载器依赖的静态文件:kernel,initramfs(initrd),grub等
- /dev:Device files 存放特殊文件或设备文件,linux中一切皆文件,设备也不例外
- /etc:Host-specific system configuration 存放系统程序的配置文件
- /home:User home directories(options) 存放普通用户的家目录(非必要)
- /lib: Essential shared libraries and kernel modules 存放为系统启动或跟文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块 这个目录下常见文件格式 libc.so. :动态链接的C库 ld:运行时链接器/加载器 modules:用于存储内核模块的目录
- /lib:Alternate format essential shared libraries(optional) 存放可替换格式的必要共享库,在64位的计算机系统上表现为lib64
- /media:Mount point for removeable media 可移动设备的挂载点
- /mnt:Mount point for a temporarily mounted filesystem 其他文件系统的临时挂载点
- /opt:Add-on application software packages 第三方应用程序的安装位置
- /root:Home directory the root user(optional) 管理员root的家目录(可选,非必要)
- /sbin:System binaries 存放系统管理使用的工具程序
- /srv:Data for services provided by this system 当前主机为服务提供的数据
- /tmp : Temporary files 存放临时文件的目录
- /usr
/usr是文件系统的第二个主要部分,/usr存放共享只读数据 这个目录下有几个重要的目录- bin 存放大多用户命令
- include C库头文件
- lib 函数库
- local 另一个重要的层级目录,让系统管理员安装本地应用程序,通常也用于安装第三方程序
- sbin 非重要的系统命令
- share 命令手册和自带文档等架构特有的文件存储位置
- X11R6:X-window程序的安装位置
- src:程序源码文件存储位置
- /var 存放经常发生变化的数据的目录 /var目录下重要的目录
- cache 存放应用程序的缓存文件
- lib 可变的状态信息
- local /usr/local的可变数据
- lock 存放锁文件
- log 存放日志
- opt /opt的可变数据
- run 与运行进程相关的数据
- spool 应用程序的后台数据
- tmp 存放那些要求在两次系统启动间保留临时文件或目录的程序使用。因而,/var/tmp下保存的数据比/tmp中的更持久些
- /proc 虚拟文件系统,存放内核及进程存储其相关信息,大多数为内核参数,将内核参数虚拟成了文件例如ip_forward这个内核参数,虚拟成了/proc/sys/net/ipv4/ip_forward文件
- /sys sysfs是Linux内核中设计较新的一种虚拟的基于内存的文件系统,类似proc,但是提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的接口
参考资料 http://www.pathname.com/fhs/pub/fhs-2.3.pdf
https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/index.html
https://wylmer.gitbooks.io/filesystem-hierarchy-standard/content/5-var-directory/15-var-tmp.html
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101162