一、学习Linux核心命令
AI:问小白满血版DeepSeek
Q:学习Linux核心命令ls、who、pwd、cd、man、whereis、which、find、locate、grep
A:
- ls- 列出目录内容
功能:列出当前目录或指定目录中的文件和子目录。
常用选项:
-l:以长格式显示(详细信息)。
-a:显示隐藏文件(以.开头的文件)。
-h:以人类可读的格式显示文件大小。
ls
ls -l /home
ls -a
- who - 显示当前登录用户
常用选项:
-H:显示列标题。
-q:显示用户数量。
who
who -H
- pwd - 显示当前工作目录
pwd
- cd - 切换目录
cd /path/to/dir:切换到指定目录。
cd …:切换到上一级目录。
cd ~:切换到当前用户的家目录。
cd /var/log
cd ..
- man - 查看命令手册
man ls
man grep
- whereis - 查找命令的二进制、源码和手册页
常用选项:
-b:只查找二进制文件。
-m:只查找手册页。
whereis ls
whereis -b gcc
- which - 查找命令的路径
which python
which ls
- find - 查找文件
find /home -name "*.txt"
find /var/log -type f -name "*.log"
- locate - 快速查找文件
常用选项:
-i:忽略大小写。
locate myfile.txt
locate -i "*.log"
- grep - 文本搜索
常用选项:
-i:忽略大小写。
-r:递归搜索目录。
-n:显示匹配行的行号。
grep "error" /var/log/syslog
grep -i "warning" *.log
grep -rn "main" /path/to/code
二、作业要求
1、参考思维导图并实践核心命令
- who命令实践
- cd和pwd命令实践

- whereis和which命令实践
- find和locate命令实践
- grep命令实践
输出所有含“hello”的行
2、使用DeepSeek生成至少5个例子,进行验证
Q:从ls、who、pwd、cd、man、whereis、which、find、locate、grep中生成至少五个例子,并进行总结
A:
1.ls - 列出目录内容
ls -lah /var/log
验证:执行后显示 /var/log 目录下所有文件的详细信息,包括权限、所有者、大小和修改时间。
隐藏文件(如 .bash_history)也会显示。
总结:-lah 组合:-l 显示详细信息,-a 包含隐藏文件,-h 文件大小易读。
适用场景:排查日志目录时查看文件属性和修改时间。
- grep - 搜索日志文件中的关键词
grep -rn --color "ERROR" /var/log/
验证:递归搜索 /var/log 目录下所有文件中的 ERROR 关键词,并显示行号和文件路径。
匹配内容会高亮显示。
总结:
-rn 组合:递归搜索并显示行号。
–color 高亮匹配内容,提升可读性。
适用场景:快速定位日志文件中的错误信息。
- find - 查找并删除特定文件
find ~/Downloads -type f -name "*.tmp" -exec rm {} \;
验证:
在 ~/Downloads 目录下查找所有 .tmp 文件并删除。
执行后检查目录,确认 .tmp 文件已被删除。
总结:
-name 按文件名查找,-exec 对结果执行操作。
适用场景:批量清理临时文件。
- locate - 快速查找配置文件
sudo updatedb && locate nginx.conf
验证:
更新数据库后,快速查找所有 nginx.conf 文件。
输出类似:/etc/nginx/nginx.conf。
总结:
locate 依赖数据库,需定期运行 updatedb 更新。
适用场景:已知文件名时快速定位路径。
- man - 查看命令帮助文档
man grep
验证:
打开 grep 命令的手册页,显示详细用法和选项说明。
按 q 退出手册页。
总结:
man 是学习命令用法的权威工具。
适用场景:快速查阅命令的详细说明。
总结
命令 | 核心功能 | 高频场景 | 常用选项 |
---|---|---|---|
ls | 列出目录内容 | 查看文件属性和权限 | -lah、-t(按时间排序) |
grep | 文本搜索 | 日志分析、代码审查 | -rn、–color、-i |
find | 文件搜索与操作 | 批量清理、权限修复 | -name、-type、-exec |
locate | 快速文件定位 | 已知文件名快速检索 | -i(忽略大小写) |
man | 查看命令手册 | 学习命令用法 | 无 |
3、让AI工具推荐一些重要命令,选择高频应用的至少3个命令(重点推荐echo,od,sort,bc,ls)进行自主深入学习,每个命令不少于5个例子,提交验证,实践过程和总结
Q:详细介绍一下echo,od,sort,bc的功能并给出实践代码
A:
- echo
功能:在终端打印文本、变量值,或重定向内容到文件。
# 1. 输出字符串
echo "Hello, Linux!"
# 2. 输出环境变量
echo "当前用户:$USER"
# 3. 输出转义字符(需加 -e)
echo -e "第一行\n第二行\t制表符"
# 4. 输出内容到文件
echo "内容写入文件" > output.txt
# 5. 生成序列({1..5})
echo {1..5} # 输出:1 2 3 4 5
验证:
- od
功能:以八进制、十六进制等格式显示文件内容(常用于分析二进制文件)。
# 1. 以十六进制显示文件内容
od -tx1 example.bin # 每字节显示为2位十六进制数
# 2. 显示ASCII字符与十六进制对照
echo "ABC" | od -c -tx1
# 输出:
# 0000000 A B C \n
# 41 42 43 0a
# 3. 以十进制显示文件内容
od -td4 data.bin # 每4字节显示为十进制数
# 4. 仅显示前N字节
od -N 16 -tx1 example.bin # 显示前16字节的十六进制
# 5. 显示偏移量地址
od -Ad -tx1 example.bin # 地址以十进制显示
验证:
- sort
功能:对文本行进行排序(支持去重、数值排序、多列排序等)。
# 1. 默认升序排序
echo -e "banana\napple\ncherry" | sort
# 输出:apple banana cherry
# 2. 逆序排序
sort -r file.txt
# 3. 去重后排序
sort -u file.txt
# 4. 按数值大小排序
echo -e "100\n5\n20" | sort -n # 输出:5 20 100
# 5. 按多列排序(以逗号分隔的第二列数值排序)
sort -t"," -k2,2n data.csv
验证:
- bc
功能:支持数学运算、进制转换、科学计算等。
# 1. 基本算术运算
echo "5 + 3 * 2" | bc # 输出:11
# 2. 浮点运算(保留2位小数)
echo "scale=2; 10 / 3" | bc # 输出:3.33
# 3. 十六进制转十进制
echo "ibase=16; F" | bc # 输出:15
# 4. 计算平方根(需加载数学库 -l)
echo "sqrt(81)" | bc -l # 输出:9.0
# 5. 脚本中使用bc(计算1到5的平方)
for i in {1..5}; do
echo "$i^2" | bc
done
验证:
总结
命令 | 描述 | 使用场景 | 优点 | 缺点 |
---|---|---|---|---|
echo | 输出文本或变量的值到标准输出 | 在脚本中打印消息或调试信息;显示环境变量或变量的值。 | 简单易用,兼容性高,几乎在所有 Shell 中都可用。 | 功能单一,无法处理复杂输出格式或逻辑。 |
od | 以指定格式(如八进制、十六进制等)显示文件内容 | 分析二进制文件的结构;查看文件的原始字节内容;调试或检查文件格式。 | 支持多种格式输出,适合分析二进制数据。 | 输出格式可能不够直观,对初学者不太友好。 |
sort | 对文本文件的行进行排序 | 对日志文件、数据文件进行排序;去重并整理数据;生成有序的输出结果。 | 支持多种排序规则(如按数字、逆序、去重等),功能强大。 | 对大型文件排序时可能占用较多内存,性能受限。 |
bc | 命令行计算器,支持高精度数学运算 | 在脚本中执行数学运算;进行浮点数或高精度计算;处理复杂的算术表达式。 | 支持高精度计算和复杂数学运算,适合脚本集成。 | 语法相对复杂,需要一定的学习成本;默认不支持交互模式(需额外配置)。 |
“20242817李臻 原创作品转载请注明出处 《Linux高级编程实践》”