(一)Linux 目录结构 + 基础命令
一、Linux 根目录各文件夹作用
| 目录 | 核心作用 |
|---|---|
/bin | 存放系统基础二进制可执行命令(所有用户可用) |
/etc | 全局系统配置文件(网卡、用户、服务配置等) |
/home | 普通用户家目录集合,每个用户独立文件夹/home/用户名 |
/root | 超级管理员 root 专属家目录,权限最高 |
/usr | 系统软件、程序、文档、库、安装软件存放目录 |
/proc | 虚拟内存文件系统,映射进程、内存、CPU 运行信息,关机消失 |
/dev | 硬件设备文件(硬盘、鼠标、键盘、显卡都在这里) |
/mnt | 临时手动挂载外设目录(U 盘、硬盘临时挂载点) |
/lib | 程序运行依赖的基础动态库文件 |
/boot | 系统内核、开机引导文件,开机启动依赖 |
/tmp | 全局临时文件夹,所有用户可读写,重启文件清空 |
/var | 动态变化文件:系统日志、缓存、运行数据 |
二、绝对路径 & 相对路径
- 绝对路径:从根目录 “
/” 完整写到底,唯一不冲突 示例:/home/stu/main.c/home/stu/Desktop
- 相对路径:以当前所在文件夹为起点,不用写
/示例:main.c、tmp/a.c、./tmp - 特殊路径简写
~等价于当前用户家目录/home/stu.当前目录..上一级目录
三、文件 / 目录操作基础命令
1. 切换目录 cd
cd 目标路径 # 进入指定目录 cd .. # 返回上一级 cd ~ # 回到自己的家目录 cd / # 直接回到根目录2. 创建文件 / 文件夹(目录)
touch test.c # 创建空普通文件 mkdir dir1 # 创建单层文件夹 mkdir -p a/b/c # 递归创建多层目录3. 删除文件 / 文件夹(目录)
rm test.c # 删除单个文件 rm -r dir # 删除文件夹(r递归删除目录内所有内容) rm -rf dir # 强制删除,不询问(慎用) rmdir 空目录 # 仅能删除空文件夹4. 查看当前路径 pwd
pwd # 输出当前位置的绝对路径5. 列出目录内容 ls
ls # 列出当前目录文件(简洁) ls -l # 详细信息(权限、大小、时间) ls -a # 显示所有文件,包含 . 开头隐藏文件 ls -al # 详细+隐藏文件组合使用6. 复制 cp
格式:cp 源文件/目录 目标位置
# 文件复制 cp a.c b.c # 目录复制必须加 -r(递归) cp -r tmp /home/stu/dir # 绝对路径复制 cp -r ./tmp ./dir # 相对路径复制7. 移动 / 重命名 mv
# 重命名(同目录下移动=改名) mv a.c b.c mv tmp mydir # 移动文件到其他文件夹 mv a.c tmp/a.c四、文件内容查看命令
1. cat 一次性全输出
用于连接文件并打印到标准输出设备上,也常用来直接查看文件内容。 cat 也可以合并文件 cat a.txt b.txt>file.txt - 语法 :cat \[选项] 文件名 - -n:显示行号。 - -b:显示行号,但不包括空行。 - 查看文件 test.txt 的内容:cat test.txt - 查看文件 test.txt 并显示行号:cat -n test.txt2. more 分页查看(单向滚动)
以分页的形式查看文件内容,每次显示一屏,按 Enter 键向下滚动一行, 按 Space 键向下滚动一屏,按 q 键退出查看。 - 语法 :more \[选项] 文件名 查看文件 long.txt 的内容(假设内容很长):more long.txt3. less 高级分页(推荐)
与 more 类似,也是分页查看文件内容,但功能更强大。 可以向上、向下滚动查看,还可以搜索内容(按 / 后输入要搜索的内容, 按 n 查找下一个,N 查找上一个),按 q 键退出。 - 语法 :less \[选项] 文件名 查看文件 long.txt 的内容:less long.txt4. head 查看文件头部(默认前 10 行)
用于显示文件的开头部分内容,默认显示前 10 行。 - 语法 :head \[选项] 文件名 - -n 行数:指定显示的行数,例如 -n 5 显示前 5 行。 - 显示文件 test.txt 的前 10 行(默认):head test.txt - 显示文件 test.txt 的前 5 行:head -n 5 test.txt 或 head -5 test.txt5. tail 查看文件尾部(日志专用)
用于显示文件的末尾部分内容,默认显示最后 10 行。 - 语法 :tail \[选项] 文件名 - -n 行数:指定显示的行数,例如 -n 5 显示最后 5 行。 - -f:实时跟踪文件的变化,常用于查看日志文件,当文件有新内容添加时,会自动显示出来。 - 显示文件 test.txt 的最后 10 行(默认):tail test.txt - 显示文件 test.txt 的最后 5 行:tail -n 5 test.txt 或 tail -5 test.txt - 实时跟踪日志文件 log.txt 的变化:tail -f log.txt五、检索搜索命令
1. find 全盘 / 指定目录搜索文件
格式:find 搜索路径 -name "文件名"
find /home/stu -name main.c find . -name "*.txt" # 搜索当前目录所有txt文件2. grep 文件内匹配字符串
grep "abc" file.txt # 查找包含abc的行(区分大小写) grep -i "abc" file.txt # -i 忽略大小写匹配六、管道符|
作用:把前一个命令的输出,作为后一个命令的输入,串联多条命令 示例:
bash
ls -l | grep "txt" # 列出目录,筛选出txt文件 cat log.txt | grep "error" # 日志里筛选报错信息补充:
- 隐藏文件:文件名以
.开头,ls -a才能看见 - 目录复制、删除必须带
-r参数 - 看实时日志固定用
tail -f /proc、/tmp是临时文件,重启数据丢失- 管道
|核心:命令结果传递给下一条命令过滤