文件与目录操作¶
本章目标:
- 熟练掌握 Linux 中最常用的文件与目录命令
- 理解每个命令“在做什么”,而不是死记
1. 当前路径与环境认知¶
1.1 pwd:查看当前所在目录¶
pwd
含义:Print Working Directory
作用:确认你现在“站在哪个目录”
📌 教学提示:
在 Linux 中,所有相对路径都基于当前目录
1.2 ls:列出目录内容¶
ls
ls -l
ls -a
ls -la
常用参数说明:
| 参数 | 含义 |
|---|---|
| -l | 显示详细信息 |
| -a | 显示隐藏文件 |
| -h | 人类可读大小 |
示例:
ls -lh
2. 目录切换(cd)¶
2.1 cd 的基本用法¶
cd /path/to/dir
常见写法:
cd ..
cd ~
cd -
| 写法 | 含义 |
|---|---|
cd .. |
上一级目录 |
cd ~ |
当前用户家目录 |
cd - |
切换回上一次目录 |
📌 实战技巧:
频繁在两个目录切换时,cd - 非常高效
3. 创建与删除目录¶
3.1 mkdir:创建目录¶
mkdir test
mkdir a b c
mkdir -p a/b/c
-p:递归创建(教学重点)
3.2 rmdir 与 rm¶
rmdir empty_dir
rm -r dir
rm -rf dir
⚠️ 教学警告:
rm -rf不会提示确认- 在生产服务器慎用
4. 文件的创建、复制、移动、删除¶
4.1 touch:创建文件¶
touch a.txt
4.2 cp:复制¶
cp a.txt b.txt
cp a.txt dir/
cp -r dir1 dir2
4.3 mv:移动 / 重命名¶
mv a.txt dir/
mv a.txt b.txt
📌 mv = move + rename
4.4 rm:删除文件¶
rm a.txt
rm -r dir
5. 查看文件内容(重点)¶
5.1 cat¶
cat file.txt
适合小文件
5.2 less(强烈推荐)¶
less file.txt
常用操作:
↑ ↓:滚动/关键词:搜索q:退出
5.3 head / tail¶
head -n 10 file #查看前十行 等同于 head file
tail -n 10 file #查看后十行 等同于 tail file
tail -f app.log #持续监控文件末尾的变化
📌 tail -f:实时查看日志(服务器必会)
6. 搜索与统计¶
6.1 find:查找文件¶
find /var/log -name "*.log"
6.2 wc:统计¶
wc -l file #统计行数
wc -w file #统计字数
wc -c file #统计字节数
7. grep 过滤文本,只留下你关心的行¶
7.1 grep 的作用?¶
- 日志分析
- 进程筛选
- 配置文件检查
- Shell 脚本中的文本处理
7.2 grep 的基本语法¶
grep [选项] "关键词" 文件
示例:
grep ERROR app.log
含义:
- 在
app.log中 - 查找包含
ERROR的行 - 并将这些行输出到终端
7.3. grep 的常用选项¶
grep -i error app.log #忽略大小写
grep -n ERROR app.log #显示行号
grep -v INFO app.log #反向匹配
grep -r ERROR /var/log #递归搜索目录
grep -E "ERROR|WARN" app.log #使用扩展正则表达式
8. grep 与管道(核心用法)¶
grep 很少单独使用,通常与管道配合。
8.1 查找进程¶
ps -ef | grep java
86.2 查端口¶
netstat -an | grep 8080
8.3 实时日志过滤¶
tail -f app.log | grep ERROR
8.4. grep 与统计结合¶
grep ERROR app.log | wc -l
统计错误日志数量
8. 常见错误¶
- 路径写错(相对 / 绝对)
- rm 用错目录
- 不会用 less 查大文件
- 在 / 目录下乱操作
📌 建议:
先 ls,再操作
9. 本章小结¶
你现在应该已经能够:
- 自由切换目录
- 管理文件与目录
- 查看和分析文件内容
- 使用基础命令组合解决问题
10. 教学练习¶
练习 1(操作)¶
- 创建目录
practice - 在里面创建 3 个文件
- 复制、重命名其中一个
练习 2(日志模拟)¶
echo "ERROR test" >> app.log
tail -f app.log