云计算百科
云计算领域专业知识百科平台

学习黑客Linux 命令

在操作下面的闯关题之前,给下学习资料

一图速览:20 条命令及练习手册

#命令 & 常用参数关键作用典型练习
1 ls -alh 列文件(含隐藏 & 人类可读大小)(数字海洋) 在 $HOME 统计目录数
2 cd / pwd 切换、显示路径 cd /tmp && pwd
3 cp -a / mv / rm -rf 复制、移动、删除 建 test 目录练手
4 touch / mkdir -p 新建文件 / 递归建目录 mkdir -p lab/day1 && touch note.txt
5 cat / less / head -n 5 查看文件内容 阅读 /etc/os-release
6 grep -nEi 关键词/正则搜索(行号、忽略大小写)(数字海洋) 找出日志中 error 行
7 find / -type f -perm -4000 2>/dev/null 搜索 SUID 文件(The world’s open source leader) 列出系统 SUID 清单
8 chmod 644 / chown user:group 改权限/属主(644=rw-r–r–)(theserverside.com) 给 note.txt 改权限
9 tar -czf backup.tar.gz dir/ 打包压缩(LabEx) 备份 lab/ 目录
10 scp file user@host:/path 远程安全复制(LinuxBlog.io) 把 backup.tar.gz 传到 VPS
11 wget -qO- URL 命令行下载 / 快速查看网页 抓取 robots.txt
12 curl -I URL 查看 HTTP 头 观察 301/200
13 sudo -l 列可执行 sudo 命令(GitHub) 判断提权面
14 `ps aux –sort=-%mem head` 查看进程 找内存前 5 名
15 top / htop 交互式监控 观察 CPU 峰值
16 `du -sh * sort -h` 目录体积排行 定位大文件夹
17 df -hT 磁盘分区 & 类型 查看挂载情况
18 `history tail -20` 查看历史命令 回顾今天操作
19 ssh-keygen -t ed25519 生成公私钥 放进 ~/.ssh
20 tldr <command> 查看简明用法(需 npm i -g tldr)(tldr.sh) tldr grep 快速复习

建议做法: 把表格复制到 Obsidian/Notion,练完一条就在对应行打 ✅,保证 1 小时内全部走一遍。


快闪练习脚本:批量改文件权限

  • 在 lab/day1/ 建 5 个测试文件:

    mkdir -p ~/lab/day1 && cd ~/lab/day1
    touch {a,b,c,d,e}.log

  • 用一行 Shell 把所有 .log 改为 644:

    for f in *.log; do chmod 644 "$f"; done

  • 验证:

    ls -l

  • 这一行脚本就是你 Day 1 “成果物”——未来写自动化工具时经常用到。


    进阶挑战(选做)

    任务技能点
    编写 perm_audit.sh:递归扫描目录,找出非 640/750 的文件并导出 CSV find + awk
    用 tar –exclude='*.log' 打包并通过 scp -P 2222(自定义端口)上传 tar + scp
    grep + 正则:在 /var/log/auth* 中提取所有登录失败 IP grep -oP '(?<=from )\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+'

    完成任一可加深对管道和重定向的理解。


    学习资源速链

  • DigitalOcean 50+ 命令概览(含 ls/grep 例)(数字海洋)
  • tldr 项目主页(安装 & 使用)(tldr.sh)
  • chmod 数字权限详细解释(theserverside.com)
  • Red Hat “10 种 find 用法”(The world’s open source leader)
  • DigitalOcean grep 教程(正则示例)(数字海洋)
  • LabEx tar 指南(打包/压缩)(LabEx)
  • LinuxBlog scp 教程(本地↔远程)(LinuxBlog.io)
  • GitHub tldr pages repo(更多示例)(GitHub)
  • Hostinger 60 命令索引(含 df/du/top)(Hostinger)
  • PDF 版 tldr-book(离线速查)(tldr.sh)
  • IBM chmod 手册(官方语法)(IBM – United States)
  • GeeksforGeeks find 命令最新示例(GeeksforGeeks)
  • GeeksforGeeks grep 文章(补充案例)(GeeksforGeeks)

  • Linux 命令实操闯关题(基于 GeeksforGeeks Cheat-Sheet)

    说明

    • 每一关都只给 任务要求 和 提示命令,不提供完整答案。
    • 推荐在一台临时 VM 或 Docker 容器里动手,避免误删重要文件。
    • 完成后可用 history 回顾自己的命令链,并写下心得。

    目录

  • 文件与目录操作
  • 文件权限
  • 压缩与归档
  • 进程管理
  • 系统信息
  • 网络命令
  • I/O 重定向
  • 环境变量
  • 用户管理
  • 终端快捷键 Bonus

  • 1️⃣ 文件与目录操作

    任务要求提示命令
    1.1 在 $HOME 下新建名为 gfg_lab 的目录,并一次性创建 notes, scripts, logs 三个子目录 mkdir, -p
    1.2 下载 robots.txt 保存为 gfg_lab/notes/web.txt curl -o
    1.3 把 web.txt 复制为 web.bak,然后移动到 logs 目录 cp, mv
    1.4 显示 gfg_lab 目录结构(树状)并只看两级 tree -L 2 (若无 tree: sudo apt install tree)

    2️⃣ 文件权限

    任务要求提示命令
    2.1 将 scripts 目录权限改为:u=rwx, g=rx, o=– chmod 750
    2.2 给自己的用户添加对 logs 目录的写权限,但不影响组/其他 chmod u+w
    2.3 用数字模式把 web.bak 权限改成只读(对所有人) chmod 444
    2.4 查看 web.bak ACL 并确认无额外条目 getfacl

    3️⃣ 压缩与归档

    任务要求提示命令
    3.1 打包 gfg_lab 为 gfg_lab.tar.gz tar -czvf
    3.2 显示归档里文件列表但不解压 tar -tzf
    3.3 只从归档里解出 notes/web.txt 到 /tmp tar -xzf –strip-components

    4️⃣ 进程管理

    任务要求提示命令
    4.1 使用 sleep 300 背景进程,获取其 PID &, $!, jobs
    4.2 通过 ps 或 pgrep 找到该进程并用 kill -SIGTERM 结束 ps aux, kill
    4.3 观察 top 中内存占用前五的进程 top, M (排序)

    5️⃣ 系统信息

    任务要求提示命令
    5.1 查看当前发行版和内核版本 cat /etc/os-release, uname -r
    5.2 统计系统 total/used/free 内存 free -h
    5.3 打印登录过此机器的最近 5 位用户记录 last -n 5

    6️⃣ 网络命令

    任务要求提示命令
    6.1 显示本机所有网络接口及 IP 地址 ip addr
    6.2 用 ping -c 4 测试 geeksforgeeks.org 延迟 ping
    6.3 调用 curl -I 抓取 https://geeksforgeeks.org 响应头 curl -I

    7️⃣ I/O 重定向

    任务要求提示命令
    7.1 将 ls -l /etc 输出保存到 gfg_lab/list.txt >
    7.2 把 date 命令结果追加到同一文件 >>
    7.3 使用管道统计 list.txt 中包含字符串 "conf" 的行数 grep -c 或 `grep

    8️⃣ 环境变量

    任务要求提示命令
    8.1 临时设置变量 LAB=GFG 并打印出来 export LAB=GFG, echo $LAB
    8.2 将 $HOME/scripts 永久加入 PATH(对当前用户) 编辑 ~/.bashrc + source

    9️⃣ 用户管理

    任务要求提示命令
    9.1 创建用户 learner(无 sudo) sudo adduser learner
    9.2 给 learner 添加到 docker 组 sudo usermod -aG docker learner
    9.3 使用 su – learner 切换验证 su / whoami

    🔟 Bonus:终端快捷键

  • Ctrl + A / E:光标跳到行首 / 行尾
  • Ctrl + R:历史命令逆向搜索
  • Ctrl + Z:挂起当前前台任务
  • !!:重复执行上一条命令
  • Alt + .:插入上一条命令的最后一个参数
  • 练习:用 cat 查看一个大文件,试试 Ctrl + C 终止;再用 less+Shift + G 跳到文件结尾。


    如何检验自己做对?

    • 文件/目录:tree gfg_lab, ls -l
    • 权限:stat -c "%A %n" file
    • 进程:ps -p <PID> 应该查不到被杀死的进程
    • PATH:重开终端 echo $PATH 应含 /scripts 路径
    • 用户:id learner 显示所属组

    💡 完成全部任务后,回顾你的 history,挑 3 条最常用的命令写下“使用场景+易错点”备忘,就算真正掌握啦!💡

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 学习黑客Linux 命令
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!