一、Linux系统目录结构
| 目录 | 说明 |
|---|---|
| bin | 存放用户可执行命令和二进制文件 |
| boot | 系统引导程序及内核文件存储目录 |
| dev | 设备文件目录(如硬盘、光驱等) |
| etc | 系统和服务的配置文件存储目录 |
| home | 普通用户的家目录(每个用户拥有独立子目录) |
| lib | 32位系统库文件存放目录 |
| lib64 | 64位系统库文件存放目录 |
| lost+found | 文件系统修复时存放临时文件的目录 |
| mnt | 临时挂载点目录(如U盘、光盘等) |
| opt | 第三方软件安装目录 |
| proc | 虚拟目录,实时显示系统硬件和内核信息 |
| root | 超级用户(root)的家目录 |
| sbin | 系统管理员专用的二进制命令文件 |
| /etc/selinux | SELinux安全策略配置文件存放目录 |
| sys | 虚拟目录,包含内核配置和硬件信息 |
| tmp | 临时文件目录(所有用户可读写) |
| usr | 用户程序存放目录(包含应用程序、库文件等) |
| var | 可变数据目录(log存放系统日志,spool/mail存放邮件) |
1、查看目录结构命令
tree目标目录
2、目录结构操作使用方法
-
采用绝对路径方式进行操作管理
-
采用相对路径方式进行操作管理
-
采用设备挂载方式进行操作管理
2.1、绝对路径
表示从根路径开始,进入指定的路径中或子目录中,获取指定的数据资源信息。
cd /etc/sysconfig/network-scripts/

2.2、相对路径
表示从当前路径开始,进入指定的路径中或子目录中,获取指定的数据资源信息。
cd /etc/sysconfig/
cd network-scripts/

3、目录结构中重要文件数据
3.1、网卡地址信息配置文件
/etc/sysconfig/network-scripts/(Linux9之前的系统指令)
cd /etc/NetworkManager/system-connections/(Linux9之后的系统指令)

3.2、网络域名服务配置文件
cat /etc/resolv.conf
3.3、网络本地解析配置文件
cat /etc/resolve.conf
3.4、开机自动运行脚本或命令文件
/etc/rc.local(Linux7之前的操纵指令)
3.5、系统运行状况日志文件
cat /var/log/messages
二、文件与目录操作命令
1、打印工作目录命令
| 选项 | 作用 |
|---|---|
| pwd | 查看当前工作目录的完整路径 |
| -P | 显示出实际路径,而非使用连接。 |
2、目录切换命令
cd
| 命令 | 作用 |
|---|---|
| cd | 返回当前登录用户的家目录 |
| cd .. | 返回上级目录 |
| cd ~ | 返回当前登录用户的家目录 |
| cd - | 返回上次跳转到当前目录的目录 |
| cd /path | 切换到指定目录 |
3、目录内容查看命令
| 命令选项 | 作用 |
|---|---|
| -a, --all | 显示所有文件(包括以 . 开头的隐藏文件) |
| -l | 使用详细列表格式显示文件或目录的详细信息 |
| -h, --human-readable | 使用人类可读的格式显示文件大小(例如 1K、2M) |
| -r, --reverse | 以相反的顺序列出文件 |
| -t | 按照修改时间(最新的文件在前)排序 |
| -S | 按照文件大小排序 |
| -d, --directory | 显示目录本身,而非目录下的文件列表 |
| -i, --inode | 显示每个文件的 inode 号 |
| --color=auto | 自动根据文件类型显示不同的颜色 |
| -R, --recursive | 递归列出目录及其子目录中的文件 |
| ls | [OPTION]... [FILE]... |
使用案例








4、文件查看命令
4.1、cat命令
| 命令选项 | 作用 |
|---|---|
| cat | 连接文件或标准输入并打印 |
语法
cat [选项] [文件]...
功能
-
一次显示整个文件:cat filename
-
从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

-
将几个文件合并为一个文件:cat file1 file2 > file3

-
追加内容到指定文件
-
修改终止指令“CTRL+c”修改成“e”
cat <<e >> 3.txt
123456
e

重定向符号
标准输出重定向
-
覆盖重定向
> -
追加重定向
>>
错误输出重定向
-
覆盖重定向
2>
-
追加重定向
2>>
混合输出重定向
-
覆盖重定向
&>
-
追加重定向
&>>
选项 作用 -n 显示行号。 -v 显示不可打印的字符。 -e 在输出的行尾添加制表符和换行符。 -b 在输出的行尾添加空格而不是制表符和换行符。 -A 类似于 -v 和 -e,但只显示不可打印的字符和行尾的空格。 -t 仅显示每行的第一个非空格字符。 -f 按行分割文件,并将每一行分别发送到标准输出。 -l 仅显示当前行的行号。 -r 在输出的行尾添加回车符和换行符。 -s 在连续的空白字符中输出一个空格。 使用案例

4.2、more命令
语法
-
-
more [选项] [文件名]
操作
操作 作用 空格键 向下翻动一页。 Enter键 向下翻动一行。 q 退出 more 命令。 /pattern 在文件中搜索指定的模式(pattern)。 :n 跳转到第 n 行。 :f 显示文件名和当前行号。
4.3、less命令
语法
less [选项] [文件名]
操作
| 操作 | 作用 |
|---|---|
| 空格键 | 向下滚动一屏。 |
| Page Up 或 b | 向上滚动一屏。 |
| Page Down 或 空格键 | 向下滚动一屏。 |
| /pattern | 在文件中搜索指定模式(pattern)。 |
| n | 找到下一个匹配的搜索结果。 |
| N | 找到上一个匹配的搜索结果。 |
| g | 跳转到文件的起始处。 |
| G | 跳转到文件的末尾。 |
| q | 退出 less 命令。 |
4.4、head命令
语法
head [选项] [文件名]
管道符
cat -n anaconda-ks.cfg | head -1
选项
| 选项 | 作用 |
|---|---|
| -q | 隐藏文件名 |
| -v | 显示文件名 |
| -c<字节> | 显示字节数 |
| -n<行数> | 显示的行数 |
使用案例
|hesd 查看开头前10项

查看开头前3项

4.5、tail命令
语法
tail [选项] [文件名]
选项
| 选项 | 作用 |
|---|---|
| -f | 循环读取,实时监控文件内容的变化 |
| -q | 不显示处理信息 |
| -v | 显示详细的处理信息 |
| -c<数目> | 显示的字节数 |
| -n<行数> | 显示行数 |
实时监控文件变化

实时监控日志变化 
使用案例
|tail 查看最后10项内容

4.6、nl命令
语法
nl [options] [file]
选项
| 选项 | 作用 |
|---|---|
| -b | 指定要将行号添加到的行。 |
| -b a | 添加行号到非空行。 |
| -b t | 添加行号到所有行。 |
| -b n | 不添加行号到任何行。 |
| -n | 设置行号的开始值。 |
| -w | 指定行号字段的宽度。 |
| -s | 设置行号与文本之间的分隔符 |
使用案例
一般显示文件

案例
-
将行号添加到文件中的所有行,并将行号输出到标准输出:nl file.txt
-
将行号添加到文件中的非空行,并使用制表符作为分隔符:nl -b a -s $'\t' file.txt
-
将行号添加到文件中的所有行,从指定的行号开始:nl -n 100 file.txt
-
设置行号字段的宽度为 3 个字符,并将行号添加到所有行:nl -w 3 file.txt
5、创建目录命令
语法
mkdir [选项] 目录名
选项
| 选项 | 作用 |
|---|---|
| -p | 递归创建目录,如果父目录不存在也会创建。 |
| -m | 设置新目录的权限。 |
| -v | 显示详细信息,包括正在创建的目录和已使用的文件系统类型。 |
使用案例
创建一个练习目录
mkdir example

创建目录时发现上级目录不存在,直接一起创建
mkdir -p dir1/dir2

6、创建文件命令
重定向符号
>:覆盖重定向
>>:追加重定向
查看文件的时间戳: stat 文件名称
stat f1.txt
6.1、touch命令
语法
touch [选项]... 文件...
选项
| 选项 | 作用 |
|---|---|
| -a 或 --time=access | 如果文件不存在,创建一个新文件。同时更新访问时间和修改时间。 |
| -m 或 --time=modify | 仅更新文件的修改时间。 |
| -t 或 --time=date | 使用指定的日期和时间更新文件的访问和修改时间。 |
使用案例
创建空文件

6.2、echo命令
语法
echo [选项] 文本内容
选项
| 选项 | 作用 |
|---|---|
| -n | 在输出内容后不换行。 |
| -e | 启用转义字符的解析。“\"转义符号;\n:换行;\r:回车;\t:水平制表符(tab) |
使用案例
创建文件夹并将信息输入到新创的文件夹

通过echo创建非空文件夹

实行换行
水平制表符(Tab)

不换行

7、文件或目录复制命令
语法
cp [options] source destination
选项
| 选项 | 作用 |
|---|---|
| -i(交互式) | 如果在目标位置存在一个文件且该文件会 被覆盖时,cp命令会询问用户是否继续。 |
| -n(不覆盖) | 在目标位置存在文件时,不会覆盖该文件,即不会进行复制操作。 |
| -r或-R(递归) | 用于复制目录以及目录内所有子目录和文件。 |
| -p(保留属性) | 复制文件的同时保留源文件的属性如权限和时间戳。 |
| -v(详细模式) | 显示详细的复制过程信息。 |
使用案例

-r 操作案例

-p 操作案例

8、文件或目录移动命令
语法
mv [options] source destination
选项
| 选项 | 作用 |
|---|---|
| -i(交互式) | 如果移动或重命名目标位置已存在且会覆盖时,mv 命令会询问用户是否继续。 |
| -n(不覆盖) | 在目标位置存在文件时,不会覆盖该文件,即不会进行移动或重命名操作。 |
| -v(详细模式) | 显示详细的移动或重命名过程信息。 |
使用案例


9、文件或目录删除命令
语法
rm [options] file ...
选项
| 选项 | 作用 |
|---|---|
| -i 或 --interactive | 在删除之前,显示每个文件是否确认删除。 |
| -f 或 --force | 强制删除,即使文件正在被使用,或者存在打开的文件描述符。 |
| -r 或 --recursive | 递归地删除目录及其内容。 |
| -v 或 --verbose | 详细模式,显示删除的每个文件。 |
10、别名命令
语法
alias [options] name=command
选项
| 选项 | 作用 |
|---|---|
| -p | 显示当前目录下的所有已定义的别名列表。 |

11、文件属性查看命令
语法
stat [options] file
选项
| 选项 | 作用 |
|---|---|
| -c 或 --format | 指定输出信息的格式。 |
| -f 或 --file-system | 显示文件系统级别的。 |
| -t 或 --terse | 以更紧凑的方式显示输出信息。 |
| --all 或 -a | 显示所有可用的信息。 |
| --dereference | 跟随符号链接。 |
使用案例

最近访问:2025-08-01 15:06:54.680583478 +0800 #看了文件
最近更改:2025-08-01 15:06:57.283581961 +0800 #内容变化
最近改动:2025-08-01 15:06:57.283581961 +0800 #属性变化和内容变化
创建时间:2025-08-01 15:06:54.680583478 +0800 #不会动
12、目录结构查看命令
语法
tree [options] [directory]
选项
| 选项 | 作用 |
|---|---|
| -L | 指定要显示的层级深度。 |
| -d | 只显示目录,不显示文件。 |
| -f | 显示完整路径。 |
| -a | 显示所有文件和目录,包括隐藏的。 |
| -I | 排除符合模式的文件或目录。 |
13、dd命令
功能
-
生成块文件
-
复制文件内容

-
测试磁盘I/O性能
语法
dd [选项] [输出选项] [输入选项]
选项
| 选项 | 作用 |
|---|---|
| if=filename | 指定输入文件。 |
| of=filename | 指定输出文件。 |
| bs=size | 指定块大小。 |
| count=num | 指定要复制的块数。 |
| conv=参数 | 进行数据转换,例如tec进行techeus格式转换,auto允许尽可能多的转换(这对于大量数据是安全的)。 |
| skip=num | 跳过第一个num块。 |
| status=progress | 显示进度信息。 |
使用案例
14、链接命令
硬链接(hard link):(目录不允许创建硬链接)
-
硬链接是文件系统中的一个目录条目,它指向另一个文件的数据块。
-
硬链接和原始文件共享同一个 inode,因此对文件的修改会影响到所有硬链接。
-
硬链接不能跨越文件系统边界。
符号(软)链接(symbolic link):
-
符号链接是一个特殊的文件,其内容是指向另一个文件的路径。
-
符号链接和原始文件不共享 inode,因此删除原始文件后,符号链接仍然存在,但无法访问。
-
符号链接可以跨越文件系统边界。
语法
ln [options] source destination
选项
| 选项 | 作用 |
|---|---|
| -s 或 --symbolic | 创建符号链接而不是硬链接。 |
| -f 或 --force | 如果目标文件已存在,则覆盖它。 |
| -i 或 --interactive | 在覆盖目标文件之前询问用户。 |
| -p 或 --preserve | 保留源文件的属性,如权限和时间戳。 |
15、file命令
语法
file [选项] 文件名
选项
| 选项 | 作用 |
|---|---|
-b | 以二进制形式输出文件类型信息。 |
-f | 仅显示文件类型,不显示其他信息。 |
-i | 以人类可读的格式显示文件类型。 |
-L | 对符号链接进行特殊处理,查看链接指向的真实文件。 |
三、VIM编辑器
1、VIM操作模式
1.1、命令模式
| 操作 | 作用 |
|---|---|
| G | 跳转到文件末尾 |
| gg | 返回文件首行 |
| home键或者^ | 跳到首字符 |
| end键或者$ | 跳到尾字符 |
| yy | 单行复制 |
| nyy | n行复制 |
| P | 将光标移动到想要粘贴位置的上一行 |
| p | 将光标移动到想要粘贴位置的下一行 |
| u | 撤销操作,注意:进行保存且退出后无效 |
| dd | 单行删除 |
| ndd | n行删除 |
| D或者d$ | 从所在行的光标处删除到末尾 |
| d^ | 从所在行的光标处删除到行首 |
| r | 替换某一个字符 |
| del键 | 光标所在字符的后一个字符 |
| /关键字 | 根据关键字查找,n:上翻;N:下翻 |
| ZZ | 保存且退出 |
1.2、插入模式
作用:进行文件内容编辑
| 操作 | 作用 |
|---|---|
| a | 进入插入模式,在当前光标的后一个字符插入 |
| o | 在当前光标的下一行插入 |
| i | 在当前光标所在字符插入,返回命令模式时会将光标迁移一个字符 |
| A | 在光标所在行的尾字符后插入 |
| I(大写i) | 在光标所在行的首字符插入 |
| O | 在当前光标的上一行插入 |
| ESC(按键) | 返回命令模式 |
1.3、末行模式
作用:保存、退出及字符串替换
| 操作 | 作用 |
|---|---|
| :w | 保存 |
| :q | 不保存退出 |
| :wq或:x | 保存退出 |
| ! | 强制 |
| :X->输入密码->:wq | 设置密码并保存退出 |
| :X->回车两次->:wq<br>或者 :set key=""->:wq | 取消密码 |
| :set nu | 设置行号 |
| :set nonu | 取消行号 |
| :nohl | 取消高亮 |
| :行号 | 跳转到指定行 |
| :%s/keyword/neword/ | 全文替换,首个匹配替换,当包含路径时,#替换/作为匹配符号 |
| :%s/keyword/neword/g | 全文替换,所有匹配替换,当包含路径时,#替换/作为匹配符号 |
| :指定行号s/keyword/neword/ | 指定行替换,首个匹配替换,当包含路径时,#替换/作为匹配符号 |
| :指定行号s/keyword/neword/g | 指定行替换,所有匹配替换,当包含路径时,#替换/作为匹配符号 |
| :起始行号,结束行号s/keyword/neword/ | 范围替换,首个匹配替换,当包含路径时,#替换/作为匹配符号 |
| :起始行号,结束行号s/keyword/neword/g | 范围替换,所有匹配替换,当包含路径时,#替换/作为匹配符号 |
1.4、视图模式
| 操作 | 作用 |
|---|---|
| v | 进行行选中 |
1.5、视图快模式
| 操作 | 作用 |
|---|---|
| ctrl + v | 进行列选中 |
| 选中要删除的“#”,按del | 批量删除注释 |
| 选中要添加的列,输入 大写i ,输入#,按两次ESC | 批量增加注释 |
2、vim高级用法
| 操作 | 作用 |
|---|---|
| :r!command | 将命令结果插入文件,command命令的结果插入光标下一行 |
| :nr! command | 将命令结果插入文件,command命令的结果插入n行后 |
| :m,n! command | 使用页面内容作为输入,command以m,n之间的行作为标准输入,<br>标准输出会代替m,n之间的行. 注意这个操作似乎是不可用ctrl+r撤销的。要谨慎使用。 |
| :! /bin/bash | 暂时离开vim来执行命令,使用完sh后exit又可以返回vim |

1282

被折叠的 条评论
为什么被折叠?



