Linux学习第一周:计算机基础+Linux基础知识
一、计算机的组成及其功能
二、Linux的发行版
三、Linux哲学思想
四、Linux基础命令
五、在Linux系统上获取命令的帮助信息
六、Linux发行版的基础目录名称命名法则及功用规定
计算机的组成及其功能
冯诺依曼体系结构:1946年由冯·诺依曼提出
![](https://img.haomeiwen.com/i13584703/1b188ea73b4e690d.gif)
计算机是由五大部件组成(1946~至今)
运算器 (Datapath)
控制器 (Control)
CPU (Central Processing Unit)
存储器 (Memory)
硬盘 (Hard disk)
输入设备 (Input system)
键盘 (keyboard)
输出设备 (Output system)
显示器 (display device)
小故事:https://zhuanlan.zhihu.com/p/20742078
计算机硬件介绍
内部
CPU:CPU即中央处理器,属于计算机的大脑
![](https://img.haomeiwen.com/i13584703/9baf2c633ab40589.jpg)
内存:内存(Memory)是与CPU进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行的
![](https://img.haomeiwen.com/i13584703/2ef98b8ef0dea019.jpg)
硬盘:硬盘属于外存,是计算机中存储数据的设备
![](https://img.haomeiwen.com/i13584703/a526a411dbca4ddc.jpg)
![](https://img.haomeiwen.com/i13584703/559c51630fbeb1f1.jpg)
外部存储器:硬盘,软盘(Floppy),U盘(USB flash disk),磁带(Magnetic tape),光盘(Cdrom)
主板:主板(Motherboard)是计算机中各种硬件的连接载体
![](https://img.haomeiwen.com/i13584703/84435851e6b9389d.jpg)
网卡:NIC(Network Interface Card)网卡是计算机联网不可缺少的硬件
![](https://img.haomeiwen.com/i13584703/51a29e3cbdefe89b.jpg)
显卡:显卡是计算机中图形处理的设备
声卡:声卡是计算机中声音处理的设备
光驱:光驱是计算机读写光碟的设备
风扇:风扇是给机箱散热的设备
电源
...
外部
机箱
显示器
鼠标
键盘
音箱
Linux的发行版
Linux的发行版有数百种之多,本篇介绍几种现今主流的发行版
Linux官方网站:www.kernel.org
发行版
Debian
![](https://img.haomeiwen.com/i13584703/3d524d6f50cdd67b.jpg)
Debian是目前为止唯一一个非商业组织维护的发行版
Debian对使用者技术能力要求比较高,使用难度较高一点
官网:https://www.debian.org/
Debian由来和Debian作者介绍
Debian项目最初由伊恩·默多克于1993年发起,Debian 0.01版在1993年9月15日发布,而其第一个稳定版本则在1996年发布。
伊恩·默多克(英语:Ian Murdock,1973年4月28日-2015年12月28日),美国程序员,Linux发行版Debian GNU/Linux的开创者,Linux商业公司下一代Linux系统的创始人。
伊恩·阿什利·默多克在1973年4月28日出生于西德康斯坦茨。他在美国普渡大学学习期间写作了《Debian宣言》,并于1996年在该校获得了计算机科学学士学位。他以他的前女友德布拉·林恩(Debra Lynn)和他自己的名字(Deb和Ian)为Debian命名。 ————摘自《维基百科》
Ubuntu
![](https://img.haomeiwen.com/i13584703/96dab830cd9f61f8.png)
基于Debian的二次发行版
官网:http://www.ubuntu.com
中文站点:https://cn.ubuntu.com
Slackware
官网:http://www.slackware.com/
S.u.S.E:S.u.S.E是基于Slackware的二次发行版
![](https://img.haomeiwen.com/i13584703/410ddc1688c47b82.jpg)
官网:https://www.suse.com/
是德国的一个发行版
界面华丽
欧洲人民用的比较多
S.u.S.E介绍
1992年 Peter McDonald成立了Softlanding Linux System(SLS)这个发行版。这套发行版包含的软件非常多,Slackware就是一个基于SLS的发行版。而SUSE Linux是以Slackware Linux为基础进行二次发行
基于S.u.S.E的二次发行版:OpenSUSE
![](https://img.haomeiwen.com/i13584703/38c8ba2282465d6f.jpg)
RedHat
![](https://img.haomeiwen.com/i13584703/b95f775b3a1d0725.jpg)
官网:https://www.redhat.com/
RedHat早期是做个人桌面版的
企业版:RHEL(RedHat Enterprise Linux)
每18个月左右发行一个新的版本
最新版本:7.5
最新不一定最好,稳定才是王道
Fedora
![](https://img.haomeiwen.com/i13584703/0011a5b4bd527263.png)
官网:https://getfedora.org/
中文站点:https://getfedora.org/zh_CN/
个人桌面版
每6个月发行一个新的版本
CentOS (Community ENTerprise Operating System)
CentOS是基于RHEL的二次发行版,为什么会有CentOS呢?这里面有一个故事,RHEL系统是免费的,但服务收费,当RHEL中如果有软件程序出现漏洞,更新的程序包只以源代码的方式提供,编译好的不提供,如果想得到,需要买服务;在这种情况下,有人看不过去了,他们组成了一个组织,专门把RHEL提供的各种源代码格式的程序包以完全与RHEL兼容的方式编译好,并在互联网上开源提供,这就是CentOS;CentOS是免费的,用CentOS出现问题时不会有人服务,需要自己解决;CentOS在互联网企业用的多
![](https://img.haomeiwen.com/i13584703/ccdf6137cf5f3098.png)
官网:https://www.centos.org/
CentOS使用方法基本和RHEL一致
CentOS现已被RedHat收购,目前为止最新版:CentOS 7.5
获取CentOS
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
Oracle Enterprise Linux
官网:https://www.oracle.com/linux/
Orcale公司基于RHEL的二次发行版
Gentoo
![](https://img.haomeiwen.com/i13584703/44ef6ac008f98747.png)
[图片上传中...(gentoo-signet.png-dc85aa-1534670028384-0)]
特色:允许用户自由的选择
官网:https://www.gentoo.org/
优点
与大多数GNU/Linux发行版本不同,Gentoo Linux为用户提供了大量的应用程序源代码。Gentoo Linux的每一部分都可以在最终用户的系统上重新编译建造,甚至包括最基本的系统库和编译器自身。 通过依赖关系描述和源代码镜像的形式提供软件,Gentoo Linux提供了大量软件供用户选择。 标准的源代码镜像包括162G(2012年8月14日,镜像中distfiles目录)的数据。 选择不仅在软件整体方面,也存在于软件的内部。由于可以在本地编译软件,参数和变量的选择可以由用户自己指定。
局限
安装Gentoo Linux对计算机系统的性能也有较高的要求,包括CPU和存储器,不过随着计算机产业的快速发展,即使中低端PC和笔记本也能较为快速地完成编译。当然这不意味着Gentoo Linux不能使用在低配置设备上,只是用户将会在安装相同的环境时会付出更多时间,或者使用另一台主机上预编译好的软件包(BINHOST方式)。所以,对于低配置的用户,软件包的挑选尤为重要。Gentoo Linux让用户自行设置和编译软件包的特性,使用户的Gentoo Linux系统具有高度可塑性,但相比起其他常见的Linux发行版,Gentoo Linux的用户也需要对Linux系统和计算机的运作有一定的认识,才能对其系统作出合适的设置。
Linux发行版历史年表
![](https://img.haomeiwen.com/i13584703/bd63bd23ccd800ea.png)
高清图片下载地址:https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg
Linux与发行版的关系
打个比喻,Linux好比说是方便面,而发行版好比是制造方便面的厂商(康师傅,白象,今麦郎...)
没有Linux就不会有发行版
Linux哲学思想
1.一切皆文件
在Linux中,把几乎所有资源,包括硬件设备、通信接口等都组织为文件格式
2.由众多功能单一的小程序组成
一个程序只实现一个功能,并且要做好
组合多个小程序,完成复杂任务
3.使用纯文本文件保存配置信息
目标:一款使用的文本编程器即能完成系统配置工作
4.尽量避免和用户交互
目标:实现脚本编程,以自动完成某些任务
Linux基础命令
- ifconfig命令
- echo命令
- tty命令
- startx命令
- export命令
- pwd命令
- history命令
- shutdown命令
- poweroff reboot命令
- hwclock命令
- date命令
ifconfig命令
语法:
ifconfig
ifconfig 选项
ifconfig 网卡接口名
ifconfig 网卡接口名 {up|down}
ifconfig 网卡接口名 IP地址/子网掩码长度 [up]
ifconfig 网卡接口名 IP地址 netmask 子网掩码 [up]
选项:
-a:查看活动的和非活动的接口
启用混杂模式:ifconfig promisc
禁用混杂模式:ifconfig -promisc
激活和禁用网卡接口
启用:ifup 接口名 或 ifconfig 网卡接口名 up
禁用:ifdown 接口名 或 ifconfig 网卡接口名 down
Ifup,ifdown是一个脚本用于启用/禁用网络接口
ifconfig示例
查看网卡信息
![](https://img.haomeiwen.com/i13584703/76898b00aa8a7bdc.jpg)
查看指定接口的网卡信息
![](https://img.haomeiwen.com/i13584703/6a89f1459ddf9c65.jpg)
禁用指定网卡接口
![](https://img.haomeiwen.com/i13584703/d63b7d73222cb02e.jpg)
启用指定网卡接口
![](https://img.haomeiwen.com/i13584703/1cc4f0f6b144e273.jpg)
使用ifocnig命令配置IP地址,子网(2种方式)
![](https://img.haomeiwen.com/i13584703/30b5fdf57b1c3207.jpg)
![](https://img.haomeiwen.com/i13584703/f6daca13595e183e.jpg)
echo命令
echo命令是一个回显命令,用于输出指定字符或变量;如不加任何参数,则输出空白
语法:
echo
echo 指定字符
echo $变量
echo [SHORT-OPTION]... [STRING]...
选项:
-n:不进行换行(\n)操作
-E:禁止解释反斜杠转义;默认值
-e:允许使用转义符
转义符:
\:输出\本身
\a:输出警告音
\b:退格键,删除前一个字符
\c:取消输出行末的换行符;和“-n”选项一致
\e:ESCAPE键;删除后一个字符
\f:换页符
\n:换行符
\r:回车键
\t:横向制表符 (Tab)
\v:垂直(纵向)制表符
\0nnn:按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数
\xhh:按照十六进制ASCII码表输出字符。其中hh是两位十六进制数
echo 命令输出信息还可以加上颜色
echo –e "\033[字背景颜色;文字颜色m 要输出的字符\033[0m"
echo –e "\033[字背景颜色;文字颜色m 要输出的字符\033[0m内容"
多种颜色用“;”隔开
字体颜色如下:
echo -e "\033[30m 黑色字 \033[0m "
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 青色字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
echo -e "\033[40;37m 黑底白字 \033[0m "
echo -e "\033[41;37m 红底白字 \033[0m "
echo -e "\033[42;37m 绿底白字 \033[0m "
echo -e "\033[43;37m 黄底白字 \033[0m "
echo -e "\033[44;37m 蓝底白字 \033[0m "
echo -e "\033[45;37m 紫底白字 \033[0m "
echo -e "\033[46;37m 天蓝底白字 \033[0m "
echo -e "\033[47;30m 白底黑字 \033[0m "
字背景颜色范围:40 - 49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
echo还可以输出特殊字符
echo -e '\u2631'
echo -e '\u220F'
echo -e "\u2126"
echo -e '\u0416'
echo -e '\ u2622'
STRING可以使用引号,单引号和双引号均可用
单引号:强引用,变量引用不执行替换
双引号:弱引用,变量引用会被替换
echo命令示例
输出一个字符串
输出一个字符串用颜色显示
输出特殊字符
查看一个变量的值
![](https://img.haomeiwen.com/i13584703/c3e346804a0c03a8.jpg)
tty命令
tty命令用于查看当前终端
语法:tty [OPTION]...
选项:
-s, --silent,--quiet:不打印任何内容,只返回退出状态
--version:显示版本信息并退出
--help:显示帮助信息并退出
tty命令示例
查看当前所在的终端
![](https://img.haomeiwen.com/i13584703/e525424e57fdfd54.jpg)
startx命令
startx命令用于从字符界面转到图形界面(GUI)
语法:startx
注意:只有安装GUI才可以用“startx”命令启动,如果没有安装,则系统上没有startx命令
export命令
export命令是一个内部命令,用于查看和设置当前系统的工作环境的环境变量
语法:
export
export 选项
定义新的环境变量:export 变量名=变量值
将已有变量升级为环境变量:export 变量名
选项:
-f:将[变量]视为函数
-p:列出所有的环境变量
export命令示例
将ifconfig命令的输出结果中的IP地址定义到一个新的环境变量当中
![](https://img.haomeiwen.com/i13584703/08848bac4633c37b.jpg)
将ifconfig命令的输出结果中的IP地址定义的变量升级为环境变量
![](https://img.haomeiwen.com/i13584703/af30f766f76e9019.jpg)
注意:将普通变量升级为环境时变量前不能加“$”
pwd命令
pwd命令用于显示当前系统的工作目录
语法:pwd [OPTION]...
选项:
-P:如果目录是个软(符号)链接,则显示软链接所指向的目录
相关的环境变量
$PWD:保存了当前目录路径
$OLDPWD:保存了上一级目录路径
一条命令,两种实现
pwd既是一个内部命令,又是一个外部命令
![](https://img.haomeiwen.com/i13584703/4948e87731cc9d52.jpg)
pwd命令示例
显示当前工作目录
![](https://img.haomeiwen.com/i13584703/0d51ae6088811886.jpg)
显示上一级工作目录
![](https://img.haomeiwen.com/i13584703/ba2999cf0b2a91b7.jpg)
history命令
history是一个shell内部命令,用于查询系统执行过的命令
语法:
history
history 选项
查看最近执行的第N条命令:history N
N:数字
选项:
-a:手动追加当前会话缓冲区的历史命令到历史命令文件中
-d 命令编号:删除历史命令中的某个命令
-c:清空历史命令(没有特殊情况尽量不要清空)
-w:把缓存中的历史命令追加至历史文件中
内存-->文件
-r:读取历史文件并将内容追加到历史命令列表中
文件-->内存
历史命令的环境变量
HISTSIZE:shell进程可保留的命令历史的条数
HISTFILE:每个用户都有独立的历史命令配置文件,这个配置文件在用户的家目录下“~..bash_history”
HISTFILESIZE:配置文件中历史命令记录的条数
HISTCONTROL
ignoredups:忽略历史命令中重复的命令,连续且相同方为重复
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两种同时生效
历史命令的配置文件:登录shell时,会读取命令历史文件中记录下的命令
全局:/etc/profile
用户:~.bash_history
调用历史命令
使用“↑|Ctrl+P + Enter” “↓|Ctrl+N + Enter”会调用以前的历史命令
使用“!N”会重复执行历史命令列表中的第N 条历史命令
使用“!!”会重复执行上一条命令
使用“!COMMAND** 或 !?COMMAND?”会执行上一条以“COMMAND”开头的命令
注意:命令的重复执行有时候需要依赖于幂等性
幂等:可重复多次执行,效果相同
调用上一条命令最后一个参数**
!”就会调用上一条命令的最后一个参数
按快捷键“ESC+.**”也会执行上述操作
history命令示例
查看当前系统已经执行的历史命令
![](https://img.haomeiwen.com/i13584703/498ed46537bf8e2c.jpg)
![](https://img.haomeiwen.com/i13584703/1034cd93f3d09df9.jpg)
查看及修改当前用户的历史命令所记录的条数
![](https://img.haomeiwen.com/i13584703/cd4e34b44983657d.jpg)
![](https://img.haomeiwen.com/i13584703/21a0d649e26bbb44.jpg)
删除一条历史命令
![](https://img.haomeiwen.com/i13584703/bf2611b57b8691da.jpg)
![](https://img.haomeiwen.com/i13584703/ab9f852e59a87cd9.jpg)
控制历史命令的记录方式
![](https://img.haomeiwen.com/i13584703/69ba71d97511de16.jpg)
![](https://img.haomeiwen.com/i13584703/c88a729a4646b5cb.jpg)
调用上一个以“echo”开头的命令
![](https://img.haomeiwen.com/i13584703/4347b37c7c141fc4.jpg)
将当前系统上已经执行,但未保存的命令保存至配置文件中
![](https://img.haomeiwen.com/i13584703/2bc26c3f7489edf8.jpg)
将历史命令清空
![](https://img.haomeiwen.com/i13584703/35ddc98cbcd91bb9.jpg)
shutdown命令
shutdown命令用于对系统执行关机或重启操作
语法:
shutdown 选项 [+]TIME
选项:
-h:安全关闭系统并切断电源
-r:重启当前系统,不切断电源
-f:重启时跳过磁盘检测
-F:重启时强制磁盘检测
-c:取消关机或重启
-k:发送警告,不关机;如果后边+5分钟,系统就会给用户发警告:5分钟之后关机
TIME
now|[+]0:立即关机或重启
+5 五分钟之后关机或重启
hh:mm:绝对时间,指定时间关机(格式“小时:分钟”)
shutdown命令示例
指定时间关机
10分钟后重启系统并提示用户
取消重启操作
poweroff和reboot命令
poweroff,reboot命令用于关闭,重启当前系统
语法:
poweroff,reboot
poweroff,reboot [OPTIONS...]
选项:
-f:强制关机,不调用shutdown
-i:关机或重启前,关掉所有的网络接口
-p:关机之后切断电源
--verbose:显示详细过程
hwclock命令
hwclock用于查询或设置硬件时钟
语法:hwclock [选项]
选项:
-s:以硬件为准,把系统时间设置为跟硬件时间相同
-w:以系统为准,把硬件时间设置为跟系统时间相同
date命令
date命令用于查看/设置系统时间
语法:
查看系统时间:date
date +格式符
date [选项]… +[格式符]
date [OPTION]... [<+>FORMAT]
设置系统时间:date 月日小时分钟[[年(2|4)] .[秒钟]]
date [MMDDhhmm[[CC]YY][.ss]]
选项:
-r FILENAME:显示文件的最后修改时间(可以结合格式符一起使用)
-d:显示字符串所指的日期与时间,而不是现在时间;字符串必须用双引号引导
-u:显示GMT
格式符
%n:换行符
%t:相当于“TAB”键
%G或%Y:显示完整年份
%y或%g:显示缩写年份
%U或 %V或%W:一年的第几个星期(00~53,星期一为第一天)
%j:显示是今天是一年当中的第几天
%d或%e:显示今天是一个月当中的第几天
%B:显示当前月份
%h或%b:显示月
%m:显示当前月份是12个月里的第几个
%A:查看今天是星期几(完整名称)
%a:查看今天是星期几(缩写名称)
%w或%u:查看今天是星期几(数字名称)
%P或%p:显示上午还是下午
%r:显示上午还是下午+时分秒
%R:显示小时分钟(格式:小时:分钟)
%H%k:小时(24小时制)
%I:小时(12小时制)
%M:显示分
%S:显示秒
%N:显示纳秒
%F:显示当前日期(格式:年-月-日)
%x:显示当前日期(格式:年 月 日)
%D:显示当前日期(格式:月/日/年)
%X:显示当前时间(格式:时 分 秒)
%T:显示当前时间(格式:时:分:秒)
%c:显示日期、星期、时间
%s:时间戳,从1970年1月1日00:00:00到命令执行那一刻经历的秒数
%Z:显示时区
%z:显示数字时区
date命令示例
查看当前系统时间
![](https://img.haomeiwen.com/i13584703/f701c0218832e5e9.jpg)
只查看时间
![](https://img.haomeiwen.com/i13584703/a65ebf23e0c8535e.jpg)
以"年-月-日-时段-小时-分钟-秒-时区"的格式显示当前系统时间
![](https://img.haomeiwen.com/i13584703/9c534198e9d8633a.jpg)
以"年-月-日-时段-星期几-今天是一年中的第几天-小时-分钟-秒-时区"的格式显示当前系统时间
![](https://img.haomeiwen.com/i13584703/fbe8b60cfde6be25.jpg)
设置系统时间
将系统时间设置为2012年12月12日13点14分30秒
创建文件时可以结合date命令
在Linux系统上获取命令的帮助信息
查询内部命令:help COMMAND...
help是一个内部命令,用于输出shell所有的内部命令和shell内部命令的使用帮助信息
使用语法:
输出shell所有的内部命令:help
输出shell内部命令的使用帮助信息:help COMMAND...
help 选项 COMMAND...
# COMMAND:要查询的内部命令
# ... 意思是可以出现多次
命令选项:
-d:输出命令的简短描述
-m:以伪mam手册的方式进行显示
查询外部命令
1. COMMAND {--help|-h}
此种方式由命令中源代码定义的,可输出命令简要的使用说明
2. 使用man(manual)手册查询外部命令
man命令是一个外部命令,用于查询系统上的命令帮助信息、配置文件的使用方法、以及设备文件特殊文件和系统调用库调用等信息
语法:man 要查询的内容...
man 序号 要查询的命令或配置文件...
man 序号 选项 要查询的内容...
man 序号 KEYWORD
选项:
-a:在所有的man帮助手册中搜索
-k WORD:列出指定WORD相关的手册页
-f:等同于whatis命令,显示给定关键字的简短描述信息
-M /PATH/TO/SOMEDIR:指定man手册的搜索的路径
对应的序号(章节)
使用man手册(压缩格式的文件)有章节之分,不同章节所能查询到的内容是不一样的,并不是一个命令在所有章节中都有内容
1:普通用户命令
2:内核调用的函数与工具
3:常见的函数域函数库(C库调用)
4:设备文件及特殊文件
5:配置文件
6:游戏使用帮助
7:惯例与协议(杂项)
8:管理工具及守护进程
9:内核相关的文件
使用whatis命令可查询命令功能(在哪个章节下有帮助)
语法:whatis COMMAND
此命令执行过程是查询数据库进行,手动更新数据库:makewhatis
把man手册页内容输出到文件
语法:man COMMAND | col -b > FILENAME
注意:使用man查询配置文件或其他文件时,不要写绝对路径,写上要查询的NAME即可
man手册页的段落说明 (SECTION)
- NAME:简要功能性说明
- SYNOPSIS:语法格式
- DESCRIPTION:功能详细描述
- OPTIONS:选项
- EXAMPLES:使用示例
- AUTHOR:作者
- BUGS:报告程序bug的方式
- REPORTING BUGS:报告bug的联系人
- SEE ALSO:额外参考
SYNOPSIS选项(man手册中的符号)说明
- []:可选内容
- <>:必须提供的内容
- {}:分组,一般里面的内容有多个
a|b|c:多选一- …:同类内容可出现多个
man手册页快捷键
快捷键 | 说明 |
---|---|
Ctrl+D键,Ctrl+ d键 | 向下翻半屏或向文件尾部翻半屏 |
Ctrl+U键,Ctrl+u键 | 向上翻半屏或向文件首部翻半屏 |
方向键↓,回车键,j命令,e命令 | 向下翻一行或向文件尾部翻一行 |
方向键↑,k命令,y命令 | 向上翻一行或向文件首部翻一行 |
空格键,Page down键 | 向下翻一页或向文件尾翻一屏 |
Page up,B键 | 向上翻一页或向文件首部翻一屏 |
End键,命令G | 转到尾页或跳转至最后一行 |
Home键,命令:1G | 回到首页或跳转至第一行 |
: 行数,行数G | 转到至指定行 |
q,Q | 退出 |
man文本搜索命令
在man手册中可以用以下命令来搜索文本
/关键字:从当前位置向文件尾部依次查找,不区分字符大小写
?关键字:从当前位置向文件首部依次查找
n:与查找命令方向相同
N:与查找命令方向相反
3. 使用info信息页查询命令
info获取命令的在线文档,支持超链接
语法:info COMMAND
4. 使用搜索引擎查询
搜索:RHEL filetype:pdf
即可出现RHEL的pdf格式的文档
搜索:RHEL site:redhat.com(不要加www)
即可出现redhat.com网站中的“RHEL”关键字
5. 程序官方文档
官方站点上的“Document”
Documentation
6. 程序自带的帮助文档
很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息
INSTALL: 安装帮助
CHANGES:版本迭代时的改动信息
7. 主流发行版官方文档
Linux发行版的基础目录名称命名法则及功用规定
Filesystem Hierarchy Standard (LFS)定义所有Linux发行版都应遵循此规定
/boot:引导文件存放目录,内核文件(vmlinuz)、initramfs(initrd)、引导加载器(bootloader,grub)都存放于此目录
/bin:提供所有用户的基本命令,不能关联至独立分区,OS启动启动会用到的程序
/sbin:管理员才能执行的基本(管理类)命令,不能关联至独立分区,OS启动会用到的程序
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供基本共享库,以及为内核提供内核模块(/lib/modules)
libc.so.:动态链接的C库
ld:运行时链接器/加载器
/lib/modules:用于存储内核模块的目录
/lib64:64位系统特有的存放64位共享库的路径
/etc:系统程序的配置文件,存放目录(纯文本文件)只能为静态;不能为二进制
/etc/opt/:为/opt提供配置文件
/etc/X11/:为图形界面提供配置(X Window)
/dev:设备文件及特殊文件存放目录
/home:普通用户家目录,可独立分区,一般每个普通用户的家目录默认为此目录下与用户名同名的子目录(可选)
/root:超级用户的家目录
/mnt:临时文件系统挂载目录;挂载额外设备,如U盘、移动硬盘和其他操作系统的分区
/media:便携式移动设备挂载目录,系统建议是用来挂载媒体设备的,例如软盘、光盘,记录机等
/opt:第三方(附加)应用程序的安装位置;可选
/srv:当前主机为服务提供的数据存放于此目录
/tmp:临时文件存放目录;所有用户对其拥都有写(Sticky)权限,此目录每隔30天会做一次清理,如果30天未被访问过的文件,就会被清理以上目录,除了/boot和/home之外,其他目录都不能独立分区
/usr:universal shared read-only data
/usr是系统上除了“/”之外最重要的目录**
/usr/bin:保证系统拥有完整功能而提供的应用程序
/usr/sbin:只有管理员才有权限运行的应用程序
/usr/include:C程序的头文件.h(header files)存放目录
/usr/share:结构化独立的数据,命令手册页和自带文档等架构特有的文件的存储位置(doc,man)等都在此目录
/usr/local:第三方应用程序(源码包)安装位置;让系统管理员安装本地应用程序;也通常用于安装第三方程序,取代了早期的/opt
该目录下有:bin,sbin,lib,lib64,etc,share,man,src,games…
该目录下的文件为/usr/local目录提供服务
/usr/X11R6:X-Window程序的安装位置;可选
/usr/src:程序源码文件的存储位置
/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:保存系统两次重启之间产生的临时数据
/var/mail:保存了用户的邮箱文件
/proc:用于输出内核与进程信息相关的虚拟文件系统,它们多为内核参数
例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward
/sys:用于输出当前系统上的硬件设备相关信息的虚拟文件系统
sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口
关于此目录,想了解更多信息可参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
/selinux:Security strengthen Linux:SELinux相关的安全策略等信息的储存位置