20242817-李臻-课上测试:Linux命令实践(AI)

一、学习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、参考思维导图并实践核心命令

  1. who命令实践
    在这里插入图片描述
  2. cd和pwd命令实践

在这里插入图片描述

![pwd![](https://i-blog.csdnimg.cn/direct/54b7d5e52e694dd39d1b856d650414bc.png)

  1. whereis和which命令实践
    在这里插入图片描述
  2. find和locate命令实践
    在这里插入图片描述
  3. 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 文件大小易读。
适用场景:排查日志目录时查看文件属性和修改时间。

  1. grep - 搜索日志文件中的关键词
grep -rn --color "ERROR" /var/log/

验证:递归搜索 /var/log 目录下所有文件中的 ERROR 关键词,并显示行号和文件路径。
匹配内容会高亮显示。

总结:
-rn 组合:递归搜索并显示行号。
–color 高亮匹配内容,提升可读性。
适用场景:快速定位日志文件中的错误信息。

  1. find - 查找并删除特定文件
find ~/Downloads -type f -name "*.tmp" -exec rm {} \;

验证:
在 ~/Downloads 目录下查找所有 .tmp 文件并删除。
执行后检查目录,确认 .tmp 文件已被删除。

总结:
-name 按文件名查找,-exec 对结果执行操作。
适用场景:批量清理临时文件。

  1. locate - 快速查找配置文件
sudo updatedb && locate nginx.conf

验证:
更新数据库后,快速查找所有 nginx.conf 文件。
输出类似:/etc/nginx/nginx.conf。

总结:
locate 依赖数据库,需定期运行 updatedb 更新。
适用场景:已知文件名时快速定位路径。

  1. 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:

  1. 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

验证:

在这里插入图片描述

  1. 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  # 地址以十进制显示

验证:

在这里插入图片描述

  1. 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

验证:

在这里插入图片描述

  1. 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高级编程实践》”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值