第0章 系统概述
系统概述
whatis info man which whereis
1 目录结构
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。/media:
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件./root:
该目录为系统管理员,也称作超级权限者的用户主目录。/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。/srv:
该目录存放一些服务启动之后需要提取的数据。/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。/tmp:
这个目录是用来存放一些临时文件的。/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。- /usr/bin/ 存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行
- /usr/sbin/ 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用。
- /usr/lib/ 应用程序调用的函数库保存位置
- /usr/XllR6/ 图形界面系统保存位置
- /usr/local/ 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
- /usr/share/ 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
- /usr/src/ 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中
- /usr/include C/C++ 等编程语言头文件的放置目录
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。- /var/lib/ 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
- /var/log/ 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。
- /var/run/ 一些服务和程序运行后,它们的 PID(进程 ID)保存位置
- /var/spool/ 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。
- /var/www/ RPM 包安装的 Apache 的网页主目录
- /var/nis和/var/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
- /var/tmp 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
2 帮助命令
在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们;
在只记得部分命令关键字的场合,我们可通过man -k来搜索;
需要知道某个命令的简要说明,可以使用whatis;而更详细的介绍,则可用info命令;
查看命令在哪个位置,我们需要使用which;
而对于命令的具体参数及使用方法,我们需要用到强大的man;
下面介绍这些命令;
whatis
查看命令的简要说明
1 | $whatis command |
正则匹配:
1 | $whatis -w "loca*" |
更加详细的说明文档:
1 | $info command |
man
查询命令command的说明文档:
1 | $man command |
在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询bash命令,归类在1类中);
man页面所属的分类标识(常用的是分类1和分类3)
- 用户可以操作的命令或者是可执行文件
- 系统核心可调用的函数与工具等
- 一些常用的函数与数据库
- 设备文件的说明
- 设置文件或者某些文件的格式
- 游戏
- 惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容
- 系统管理员可用的管理条令
- 与内核有关的文件
当whatis下的命令有多个分类时。使用数字表示某个分类下的帮助手册。
1 | $man 3 printf |
1 | $man -k keyword |
查询关键字 根据命令中部分关键字来查询命令,适用于只记住部分命令的场合;
查找GNOME的config配置工具命令,对于某个单词搜索,可直接使用/word来使用:
1 | $man -k GNOME config| grep 1 |
which & whereis
查看程序的binary文件所在路径:
1 | $which command |
查看程序的搜索路径:
1 | $whereis command |
当系统中安装了同一软件的多个版本时,不确定使用的是哪个版本时,这个命令就能派上用场;










