Linux系统管理入门:文件系统组成及常用命令详解
1、文件系统的组成
- 文件和目录构成单根的倒树状结构
- 文件系统从根目录开始,表示为一个单独的
/
字符 - 命名大小写敏感
- 路径以
/
分割
2、重要目录
一级目录 | 功能(作用) |
---|---|
/bin/ | 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 系统硬件设备的保存位置,以文件的形式被内核所使用 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/usr/ | usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 |
/home/ | 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming |
/lib/ | 系统调用的函数库保存位置 |
/media/ | 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘 |
/mnt/ | 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区 |
/misc/ | 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的 |
/opt/ | 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。建议把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件 |
/root/ | root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下 |
/sbin/ | 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/var/ | 系统服务的数据,例如数据库文件,日志文件和网站内容等 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
/lost+found/ | 当系统意外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如,/lost+found 就是根分区的备份恢复目录,/boot/lost+found 就是 /boot 分区的备份恢复目录 |
/proc/ | 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如 /proc/cpuinfo 是保存 CPU 信息的,/proc/devices 是保存设备驱动的列表的,/proc/filesystems 是保存文件系统列表的,/proc/net 是保存网络协议信息的…… |
/sys/ | 虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息 |
- 说明: 在linux7或者更高的版本中,
/bin
和/usr/bin
,/sbin
和/usr/sbin
,/lib
和/usr/lib
、/lib64
和/usr/lib64
中,/
中的目录是/usr/
中对应目录软连接
Linux /usr目录
子目录 | 功能(作用) |
---|---|
/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++ 等编程语言头文件的放置目录 |
Linux /var 目录
/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。
/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 | 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除 |
3、文件和目录名
- 名字不能多于255个字符
- 所有字符都要求是有效的,除斜线(/)以外
- 不要使用某些特殊的字符在文件名或目录名中
- 当文件中有特殊字符时应用单引号保护起来
- 命名和大小写敏感
4、绝对路径和相对路径
- 绝对路径
- 以根开头的路径
- 文件位置的全路径
- 在任何位置都可以引用
- 相对路径
- 不以斜线(/)开头
- 在当前工作目录的相对位置
- 在特定的位置才可以引用
5、相关命令
5.1 ls命令
ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
语法
1 |
|
选项
1 |
|
ls回显解释
有些文件权限后有一个.
,表示这个文件受selinux保护
参数
目录:指定要显示列表的目录,也可以是具体的文件,空表示当前目录。
示例
1 |
|
5.2 cd命令
切换用户当前工作目录。
语法
1 |
|
选项
1 |
|
参数
dir(可选):指定要切换到的目录。
示例
1 |
|
5.3 touch命令
touch命令 有两个功能:
1、创建新的空文件;
2、把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。
语法
1 |
|
选项
1 |
|
参数
文件:指定要设置时间属性的文件列表。
示例
1 |
|
在当前目录下建立一个空文件ex2,然后,利用ls -l
命令可以发现文件ex2的大小为0,表示它是空文件。
5.4 mkdir命令
mkdir命令 用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。
在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用全路径可以唯一地指定一个目录。
语法
1 |
|
选项
1 |
|
参数
目录:指定要创建的目录列表,多个目录之间用空格隔开。
示例
1 |
|
5.5 cp命令
cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
语法
1 |
|
选项
1 |
|
参数
- 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用
-R
选项; - 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
示例
1 |
|
5.6 mv命令
mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
语法
1 |
|
选项
1 |
|
参数
- 源文件:源文件列表。
- 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
示例
1 |
|
5.7 rm命令
rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
语法
1 |
|
选项
1 |
|
参数
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r
或者-R
选项。
示例
1 |
|
5.8 cat命令
显示文件内容,连接多个文件并打印到标准输出。
语法
1 |
|
选项
1 |
|
参数
FILE(可选):要处理的文件,可以为一或多个。
示例
1 |
|
5.9 head命令
显示文件的开头部分,在未指定行数时默认显示前10行。
语法
1 |
|
选项
1 |
|
参数
FILE(可选):要处理的文件,可以为一或多个。
示例
1 |
|
5.10 tail命令
在屏幕上显示指定文件的末尾若干行,默认在屏幕上显示指定文件的末尾10行。
语法
1 |
|
选项
1 |
|
参数
文件列表:指定要显示尾部内容的文件列表。
示例
1 |
|
5.11 more命令
显示文件内容,每次显示一屏。
more命令 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:
- 按
Space
键:显示文本的下一屏内容。 - 按
Enter
键:只显示文本的下一行内容。 - 按斜线符
|
:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 - 按H键:显示帮助屏,该屏上有相关的帮助信息。
- 按B键:显示上一屏内容。
- 按Q键:退出more命令。
语法
1 |
|
选项
1 |
|
参数
文件:指定分页显示内容的文件。
示例
1 |
|
快捷键
操作键 | 功能 |
---|---|
Enter |
向下移一行 |
空格 | 向下翻一页 |
Ctrl+b/f |
向上/下翻一页 |
b/f |
向上翻一页/向后翻2页 |
u/d |
无效果/后翻半页 |
PgUp/PgDn |
向上/下翻页 |
= |
显示当前行号 |
v |
调用Vim编辑器 |
! |
调用shell执行命令 |
q |
退出 |
5.12 less命令
分屏上下翻页浏览文件内容。
less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
语法
1 |
|
选项
1 |
|
参数
文件:指定要分屏显示内容的文件。
示例
1 |
|
快捷键
操作键 | 功能 |
---|---|
Enter |
向下移一行 |
空格 | 向下翻一页 |
Ctrl+b/f |
向上/下翻一页 |
b/f |
向上翻一页/向后翻1页 |
u/d |
向前/后翻半页 |
PgUp/PgDn |
向上/下翻页 |
= |
显示当前行号 |
v |
调用Vim编辑器 |
! |
调用shell执行命令 |
q |
退出 |
? |
向上搜索 |
/ |
向下搜索 |
n |
往搜索的方向重复查看搜索结果 |
N |
往搜索的方向反向重复查找搜索结果 |
以上是关于 Linux 文件系统的相关概念以及用于管理文件、目录的一些常用命令。提供的命令选项仅包含常用选项,而非所有选项。你可以通过在命令行中输入 命令 --help
来查看所有可用选项。
在这里给大家推荐一个常用的Linux命令查询网站:https://linux.zhoumx.net