一、Linux中各目录的作用


目录名

目录作用

/bin/

存放系统命令的目录, 普通用户和超级用户都可以执行。 不过放在/bin下的

命令在单用户模式下也可以执行

/sbin/

保存和系统环境设置相关的命令, 只有超级用户可以使用这些命令进行系统

环境设置, 但是有些命令可以允许普通用户查看

/usr/bin/

存放系统命令的目录, 普通用户和超级用户都可以执行。 这些命令和系统启

动无关, 在单用户模式下不能执行

/usr/sbin/

存放根文件系统不必要的系统管理命令, 例如多数服务程序。 只有超级用户

可以使用。 大家其实可以注意到Linux的系统, 在所有“sbin”目录中保存的

命令只有超级用户可以使用, “bin”目录中保存的命令所有用户都可以使用

/boot/

系统启动目录, 保存系统启动相关的文件, 如内核文件和启动引导程序

(grub) 文件等

/dev/

设备文件保存位置。 我们已经说过Linux中所有内容以文件形式保存, 包括硬

件。 那么这个目录就是用来保存所有硬件设备文件的

/etc/

配置文件保存位置。 系统内所有采用默认安装方式(rpm安装) 的服务的配

置文件全部都保存在这个目录当中, 如用户账户和密码, 服务的启动脚本,

常用服务的配置文件等

/home/

普通用户的家目录。 建立每个用户时, 每个用户要有一个默认登录位置, 这个

位置就是这个用户的家目录, 所有普通用户的家目录就是在/home下建立一个和

用户名相同的目录。 如用户user1的家目录就是/home/user1

/lib/

系统调用的函数库保存位置

/lost+found/

当系统意外崩溃或机器意外关机, 而产生一些文件碎片放在这里。 当系统启动

的过程中fsck工具会检查这里, 并修复已经损坏的文件系统。 这个目录只在每个

分区中出现, 例如/lost+found就是根分区的备份恢复目录,/boot/lost+found就是

/boot分区的备份恢复目录

/media/

挂载目录。 系统建议是用来挂载媒体设备的, 例如软盘和光盘

/mnt/

挂载目录, 早期Linux中只有这一个挂载目录, 并没有细分。 现在这个目录系统

建议挂载额外设备, 如U盘, 移动硬盘和其他操作系统的分区

/misc/

挂载目录。 系统建议用来挂载NFS服务的共享目录。 我们在刚刚已经解释了挂载,

童鞋们应该知道只要是一个已经建立的空目录就可以作为挂载点。 那么系统虽

然准备了三个默认挂载目录/media、/mnt、 /misc, 但是到底在哪个目录中挂载什

么设备都可以由管理员自己决定。 例如我接触Linux的时候, 默认挂载目录只

有/mnt一个, 所以养成了在/mnt下建立不同目录挂载不同设备的习惯。 如

/mnt/cdrom挂载光盘, /mnt/usb挂载U盘, 这都是可以的

/opt/

第三方安装的软件保存位置。 这个目录就是放置和安装其他软件的位置, 我手

工安装的源码包软件都可以安装到这个目录当中。 不过我还是更加习惯把软件

放置到/usr/local/目录当中, 也就是说/usr/local/目录也可以用来安装软件



/proc/

虚拟文件系统, 该目录中的数据并不保存到硬盘当中, 而是保存到内存

当中。 主要保存系统的内核, 进程, 外部设备状态和网络状态灯。 如

/proc/cpuinfo是保存CPU信息的,/proc/devices是保存设备驱动的列表的,

/proc/filesystems是保存文件系统列表的,/proc/net/是保存网络协议信息的

/sys/

虚拟文件系统。 和/proc目录相似, 都是保存在内存当中的, 主要是保存

于内核相关信息的

/root/

超级用户的家目录。 普通用户家目录在“/home”下, 超级用于家目录直

接在“/”下

/srv/

服务数据目录。 一些系统服务启动之后, 可以在这个目录中保存所需要

的数据

/tmp/

临时目录。 系统存放临时文件的目录, 该目录下所有用户都可以访问和

写入。 我们建议此目录中不能保存重要数据, 最好每次开机都把该目录

清空

/usr/

系统软件资源目录。 注意 usr不是user的缩写, 而是 “ Unix Softwre

Resource”的缩写, 所以不是存放用户数据, 而是存放系统软件资源的目

录。 系统中安装的软件大多数保存在这里, 所以除了/usr/bin/和/usr/sbin/

这两个目录, 我在介绍几个/usr/下的二级目录

/var/

动态数据保存位置。 主要保存缓存、 日志以及软件运行所产生的文件

二、文件搜索命令

2.1 locate命令



命令名称: locate
命令所在路径: /usr/bin/locate
执行权限:所有用户
语法: locate 文件名
功能描述:在文件资料库中查找文件
范例: $ locate inittab

2.2 which 命令



命令名称: which
命令所在路径: /usr/bin/which
执行权限:所有用户
语法: which 命令
功能描述:搜索命令所在目录及别名信息
范例: $ which ls



2.3 whereis命令



命令名称:whereis
命令所在路径: /usr/bin/whereis
执行权限:所有用户
语法: whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
范例: $ whereis ls



2.4 grep 命令



命令名称: grep
命令所在路径: /bin/grep
执行权限:所有用户
语法: grep -iv [指定字串] [文件]
功能描述:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串