课上测试
作业题目:Linux命令实践
| 学号 | 20131321 |
| 姓名 | 王曦轶 |
| 日期 | 2025-09-11 |
| 实验环境 | Ubuntu |
目录
- 实验目的
- 命令清单与截图
- 遇到的问题和解决方法
- 总结与心得
实验目的
- 熟练掌握
ls / who / pwd / cd /man/whereis/find/locate/ grep
等高频命令的常用选项
命令清单与截图
1. ls(列出目录内容)
ls:列出当前目录的文件和文件夹。
ls -l:以详细格式列出(显示权限、所有者、大小等)。
ls -a:列出所有文件,包括隐藏文件(以 . 开头)。
ls -lh:以易读的格式(如KB、MB)显示文件大小。
ls /home:列出指定目录(如 /home)的内容。
ls -t:按修改时间排序列出。
- who(显示当前登录用户)
who:显示当前登录系统的用户信息。
who -u:显示空闲时间和进程ID。
who -H:以表格形式显示,包含标题行。
who -q:只显示登录用户数量和用户名列表。
- pwd(显示当前工作目录)
pwd:显示当前目录的绝对路径。
pwd -L:显示逻辑路径(默认行为)。
pwd -P:显示物理路径(解析符号链接)。
-
cd(切换目录)
cd /home:切换到绝对路径 /home。
cd ..:切换到上级目录。
cd ~:切换到当前用户的家目录。
cd -:切换到上一个工作目录。
cd../dir:切换到相对路径。
-
man(查看命令手册)
man ls:查看 ls 命令的详细手册。
man -k "search term":搜索包含关键词的手册页。
man 5 passwd:查看第5节(文件格式)的 passwd 手册。
- whereis(查找命令的二进制、源码和手册页)
whereis ls:查找 ls 命令的位置。
whereis -b ls:只查找二进制文件。
whereis -m ls:只查找手册页。
- which(查找命令的二进制路径)
which ls:显示 ls 命令的完整路径。
which -a ls:显示所有匹配的路径(如果有多个版本)。 - find(查找文件)
find /home -name ".txt":在 /home 目录查找所有 .txt 文件。
find . -type f -name "test":在当前目录查找以 test 开头的普通文件。
find /var/log -size +1M:查找大于1MB的文件。
find . -mtime -7:查找最近7天内修改过的文件。
- locate(快速查找文件)
locate passwd:查找所有包含 passwd 的文件路径。
locate -i ".log":忽略大小写查找 .log 文件。
locate -c ".conf":统计匹配 .conf 的文件数量。
- grep(文本搜索)
grep "error" /var/log/syslog:在系统日志中搜索 error 字符串。
grep -i "warning" file.txt:忽略大小写搜索 warning。
grep -r "pattern" /etc/:递归搜索 /etc 目录中的匹配内容。
grep -v "success" results.log:反向搜索,排除包含 success 的行。
遇到的问题和解决方法
1. 现象:使用cd../dir切换相对路径的时候 报「没有那个文件和目录」
命令
mkdir ../dir
无法创建目录,权限不够
命令
sudo mkdir ../dir
成功创建
2.现象:grep -i "warning" file.txt和grep -v "success" results.log未提前创建样本
命令
cd ~
echo "Warning: disk 90% full" > file.txt
grep -i "warning" file.txt
命令
cd ~
cat > results.log <<'EOF'
2025-09-11 10:00:00 success
2025-09-11 10:01:12 error
2025-09-11 10:02:33 success
2025-09-11 10:03:45 warning
EOF
总结与心得
原本以为这次实验只是简单的复制粘贴,后来发现还是遇到了一些小问题,好在通过询问ai都解决了。在创建上一级目录 ../dir 的过程中遇到“权限不足”问题,共享服务器的父目录属主为 root,普通用户并无写权限。将操作迁移至家目录后,任务得以顺利完成。执行 grep -i warning file.txt 时,因文件尚未生成,屏幕提示“没有那个文件或目录”。这一报错促使我形成先 ls 验证、再执行命令的习惯,避免了盲目修改正则或选项的无效尝试。我学会了用 echo / cat <<EOF 快速造数据,也第一次发现 grep -v 反向过滤能如此直观地“删掉”海量成功日志,留下满屏错误,调试效率提升肉眼可见。在以后的学习中,需要尽快熟悉常见命令的用法,注意格式,提高学习和工作效率。