计算机基础与linux基础

  1. 描述计算机的组成及功能
  2. 按系列罗列linux的发行版,并描述不同发行版之间的联系与区别
  3. 描述linux的哲学思想,并按照自己的理解对其解释性描述
  4. 说明Linux系统上命令的使用格式;详细介绍ifconfig.echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合示例阐述
  5. 如何在Linux系统上获取命令帮助,请详细列出,并描述man文档的章节如何划分
  6. 请罗列Linux发行版的基础目录名称命名法则及其功用

第一题:.描述计算机的组成及功能

现代计算机主要是基于冯诺依曼体系结构设计的,当然还有其他的,比如哈佛体系

冯诺依曼体系结构图

计算机基础与linux基础clipboard

可以看出有以下五个基本组件

  1. 控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等
  2. 运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理
  3. 存储器:存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息存储器分为内存储器和外存储器:
    • 内存储器:价格贵,容量小,速度快,断电RAM数据会丢失;内存储器分为只读存储器和随机存储器:
      • 只读存储器(ROM):只可以进行读操作,用户不能写入新内容,是一种非易失性存储器,不会因为断电丢失信息,一般放置固定的程序和数据,如BIOS
      • 随机存储器(RAM):可以随机读/写的存储器,有以下2个特点:第一可以读出,也可以写入,独处不损坏原来存储内容,写入才修改内容;第二,断电数据会丢失,属于易失性存储器
    • 外存储器:价格低,容量大,速度慢,断电数据不会丢失,比如硬盘,光驱等
  4. 输入设备:输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
  5. 输出设备:它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。

计算机硬件组成:

clipboard

第二题:按系列罗列linux的发行版,并描述不同发行版之间的联系与区别

首先回答一个问题发行版和linux内核有什么区别?

Linux发行版指的就是通常所说的“Linux操作系统”,它一般是由一些组织、团体、公司或者个人制作并发行的。Linux内核主要作为Linux发行版的一部分而使用。
通常来讲,一个Linux发行版包括Linux内核,以及将整个软件安装到计算机上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件。
发行版为许多不同的目的而制作,包括对不同计算机硬件结构的支持,对普通用户或开发者使用方式的调整,针对实时应用或嵌入式系统的开发等等。
一个典型的发行版包括:Linux内核,GNU库和各种系统工具,命令行Shell,图形界面底层的X窗口系统和上层的桌面环境等。
  1. 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的社区版本,免费,稳定性好,适用于企业服务器

  2. 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的可执行程序,供用户自由使 用

  3. 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对个人来说是完全免费的,包括使用和在线更新

  4. Gentoo:伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开 发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软 件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
  5. 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%。
  6. 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发行版时间简图

clipboard

参考链接

https://blog.csdn.net/ithomer/article/details/9729933

https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg

第三题:描述linux的哲学思想,并按照自己的理解对其解释性描述

  1. 一切皆文件把几乎所有资源都抽象成了文件,包括硬件设备,甚至通信接口等;这样就对资源的处理有了一个通用的接口,利用fopen()/fclose()/fwrite()/fread()等函数进行处理。屏蔽了硬件的区别,所有设备都抽象成文件,提供统一的接口给用户。使整个linux内核非常简洁优美
  2. 由众多功能单一的程序组成:一个程序只做一件事,并做到最好;组合小程序完成复杂任务;比如我们需要查找统计/etc/services包含udp的所有行
    [root@localhost ~]# cat /etc/services | grep udp  | wc -l
    5389

    这时候可以看出来它是由几个简单的命令组合起来 利用管道进行了衔接,完成了相对复杂的任务,这种思想是有利于排错的,如果有一个命令把我们的这些命令封装了起来,那么出错了其实不利于排查,但是如果是由一个个小的命令组合起来,把耦合度降低了,这样利于排查,而且对整个系统的操作也会更加灵活便捷。

  3. 尽量避免和用户交互因为一直与用户进行交互,系统的对象就是人,人是容易犯错误的,但是管理员的权限是非常大的,如果不小心执行了错误的操作,这样是非常危险的,所以提倡用脚本或者其他编程语言程序进行交互,优点就是安全,实现了自动化。
  4. 使用文本文件保存配置信息;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

clipboard

例子2:创建一个虚拟ip 192.168.253.156 ifconfig ens33:0 192.168.253.156 up

clipboard

例子3:关闭虚拟ip192.168.253.156

clipboard

========================================================================================================================================

命令pwd 功能:显示当前目录

clipboard

========================================================================================================================================

命令tty 功能:显示终端机连接标准输入设备的文件名称

说明:在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty指令查询目前使用的终端机的文件名称。

终端的分类:

1.串行端口终端(/dev/ttySn)

2.伪终端(/dev/pty/)

3.物理终端(/dev/tty)

4.图形终端(/dev/console,/dev/ttyn)

5.虚拟终端(/dev/pts/n)

例子:我使用xshell登陆

clipboard

========================================================================================================================================

命令echo

功能:回显

格式:

echo [SHORT-OPTION]… [STRING]…

常用选项            作用

-n                        不进行换行

-e                        让转义符生效,常见的转义符: \t: 制表符 \n:换行符

例1:-n 回显结束不进行换行

clipboard

例2:-e 让转义符生效

clipboard

========================================================================================================================================

命令startx

功能:启动X Window

========================================================================================================================================

命令export

功能:设置或显示环境变量

语法:

export [-fn] [name[=value] …] or export -p

补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。

常用选项                        功能

-f                                 代表[name]里面为函数名称

-n                                删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p                               列出所有shell的环境变量

例1:查看shell所有环境变量 export -p

clipboard

例2:新增一个环境变量 export name=value 这里设置VAR变量,值为hello

clipboard

 

========================================================================================================================================

命令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

clipboard

例子2:从文件中读取命令到命令列表

history -r

例子3:显示最近10条历史命令

history 10

clipboard

例子4 执行上一条命令

clipboard

========================================================================================================================================

命令shutdown

功能:关机或者重启

格式:

shutdown [OPTIONS…] [TIME] [WALL…]

常用选项                作用

-h                            关机

-r                            重启

-c                           取消,当设置了关机时间,这个选项可以取消关机指令

–no-wall                不发送信息给其他终端

-k                        只是送出信息给所有用户,但不会实际关机。

TIME:

now                马上
hh:mm       hh点mm分
+m                 m分钟后

例1:10分钟后关机
shutdown -h +10

clipboard

例2:取消,假设设置了n分钟后关机,突然改变注意了 可以-c 取消关机指令 shutdown -c

clipboard

例3:利用-k传送警告信息,但是并不会关机,假装10分钟后关机 shutdown -k +10 “byebye”

clipboard

例4:10分钟后关机,并且不发送信息给其他终端,从之前的例子可以看出来执行了shutdown会进行广播,但是加上–no-wall 就不会广播给其他终端。

clipboard

========================================================================================================================================

命令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”

clipboard

例子2:设置时间为2018.6.12 20:00 date 061220002018

clipboard

========================================================================================================================================

命令hwclock

功能:查询或者设置硬件时钟

补充信息:系统启动时,会从硬件读取日期和时间信息;读取完成之后,就不再与硬件相关联;

显示硬件时钟 hwclock 调整硬件时钟

-s –hctosys 以硬件为准,让系统时钟和硬件时钟同步

-w –systohc 以系统为准,让系统时钟和硬件时钟同步

例子1:查看硬件时钟 hwclock

clipboard

例子2:以系统时间为标准,让硬件时钟与系统时间同步 hwclock -w

clipboard

 

第五题:如何在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)主流发行版官方文档

         (6) 程序的官方文档,一般在官网可以找到


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
  1. 用户命令
  2. 系统调用
  3. C库调用
  4. 设备文件及特殊命令
  5. 文件格式
  6. 游戏使用帮助
  7. 杂项
  8. 管理工具以及守护进程
     注意并不是每个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(文件系统层次结构标准) 结构图

clipboard

  1. /bin:Essential user command binaries(for use by all users) 存放所有用户可用的基本命令程序文件
  2. /boot: Static files of the boot loader 存放引导加载器依赖的静态文件:kernel,initramfs(initrd),grub等
  3. /dev:Device files 存放特殊文件或设备文件,linux中一切皆文件,设备也不例外
  4. /etc:Host-specific system configuration 存放系统程序的配置文件
  5. /home:User home directories(options) 存放普通用户的家目录(非必要)
  6. /lib: Essential shared libraries and kernel modules 存放为系统启动或跟文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块 这个目录下常见文件格式 libc.so. :动态链接的C库 ld:运行时链接器/加载器 modules:用于存储内核模块的目录
  7. /lib:Alternate format essential shared libraries(optional) 存放可替换格式的必要共享库,在64位的计算机系统上表现为lib64
  8. /media:Mount point for removeable media 可移动设备的挂载点
  9. /mnt:Mount point for a temporarily mounted filesystem 其他文件系统的临时挂载点
  10. /opt:Add-on application software packages 第三方应用程序的安装位置
  11. /root:Home directory the root user(optional) 管理员root的家目录(可选,非必要)
  12. /sbin:System binaries 存放系统管理使用的工具程序
  13. /srv:Data for services provided by this system 当前主机为服务提供的数据
  14. /tmp : Temporary files 存放临时文件的目录
  15. /usr
    /usr是文件系统的第二个主要部分,/usr存放共享只读数据 这个目录下有几个重要的目录

    • bin 存放大多用户命令
    • include C库头文件
    • lib 函数库
    • local 另一个重要的层级目录,让系统管理员安装本地应用程序,通常也用于安装第三方程序
    • sbin 非重要的系统命令
    • share 命令手册和自带文档等架构特有的文件存储位置
    • X11R6:X-window程序的安装位置
    • src:程序源码文件存储位置
  16. /var 存放经常发生变化的数据的目录 /var目录下重要的目录
    • cache 存放应用程序的缓存文件
    • lib 可变的状态信息
    • local /usr/local的可变数据
    • lock 存放锁文件
    • log 存放日志
    • opt /opt的可变数据
    • run 与运行进程相关的数据
    • spool 应用程序的后台数据
    • tmp 存放那些要求在两次系统启动间保留临时文件或目录的程序使用。因而,/var/tmp下保存的数据比/tmp中的更持久些
  17. /proc 虚拟文件系统,存放内核及进程存储其相关信息,大多数为内核参数,将内核参数虚拟成了文件例如ip_forward这个内核参数,虚拟成了/proc/sys/net/ipv4/ip_forward文件
  18. /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

(0)
上一篇 2018-06-18 21:19
下一篇 2018-06-19 09:00

相关推荐

  • 运维自动化之系统部署

    运维自动化之系统部署 安装程序 CentOS系统安装 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init   anaconda: 系统安装程序 gui:图形窗口 tui: 基于图形库curses的文本窗口   &nbs…

    Linux笔记 2018-05-27
  • Linux-vim

    vim简介 vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个Vim编辑器的图形版本   打开文件 # vim [OPTION]&#8…

    2018-04-08
  • LVS介绍及工作原理

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

    2018-07-03
  • 磁盘及文件系统管理(二)

    简要概括磁盘及文件系统管理

    Linux笔记 2018-05-13
  • nginx各模块介绍和应用

     ngx_http_access_module模块: 实现基于ip的访问控制功能 (1)、allow address | CIDR | unix: | all; (2)、deny address | CIDR | unix: | all; http, server, location, limit_except 2.ngx_http_auth_basic_m…

    Linux笔记 2018-07-02
  • 正则表达式与文本处理

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 chmod -R go-rwx /home/tuser1 2、编辑/etc/group文件,添加组Hadoop。 Nano /etc/group hadoop:x:5…

    Linux笔记 2018-07-15