系统概述

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
2
$man command
eg:man date

在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询bash命令,归类在1类中);

man页面所属的分类标识(常用的是分类1和分类3)

  1. 用户可以操作的命令或者是可执行文件
  2. 系统核心可调用的函数与工具等
  3. 一些常用的函数与数据库
  4. 设备文件的说明
  5. 设置文件或者某些文件的格式
  6. 游戏
  7. 惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容
  8. 系统管理员可用的管理条令
  9. 与内核有关的文件

当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

当系统中安装了同一软件的多个版本时,不确定使用的是哪个版本时,这个命令就能派上用场;