当前位置: 首页 > news >正文

学习黑客Linux 命令

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

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

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

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


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

  1. lab/day1/ 建 5 个测试文件:

    mkdir -p ~/lab/day1 && cd ~/lab/day1
    touch {a,b,c,d,e}.log
    
  2. 用一行 Shell 把所有 .log 改为 644:

    for f in *.log; do chmod 644 "$f"; done
    
  3. 验证:

    ls -l
    

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


进阶挑战(选做)

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

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


学习资源速链

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

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

说明

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

目录

  1. 文件与目录操作
  2. 文件权限
  3. 压缩与归档
  4. 进程管理
  5. 系统信息
  6. 网络命令
  7. I/O 重定向
  8. 环境变量
  9. 用户管理
  10. 终端快捷键 Bonus

1️⃣ 文件与目录操作

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

2️⃣ 文件权限

任务要求提示命令
2.1scripts 目录权限改为: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_labgfg_lab.tar.gztar -czvf
3.2显示归档里文件列表但不解压tar -tzf
3.3只从归档里解出 notes/web.txt/tmptar -xzf --strip-components

4️⃣ 进程管理

任务要求提示命令
4.1使用 sleep 300 背景进程,获取其 PID&, $!, jobs
4.2通过 pspgrep 找到该进程并用 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.2ping -c 4 测试 geeksforgeeks.org 延迟ping
6.3调用 curl -I 抓取 https://geeksforgeeks.org 响应头curl -I

7️⃣ I/O 重定向

任务要求提示命令
7.1ls -l /etc 输出保存到 gfg_lab/list.txt>
7.2date 命令结果追加到同一文件>>
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.2learner 添加到 dockersudo usermod -aG docker learner
9.3使用 su - learner 切换验证su / whoami

🔟 Bonus:终端快捷键

  1. Ctrl + A / E:光标跳到行首 / 行尾
  2. Ctrl + R:历史命令逆向搜索
  3. Ctrl + Z:挂起当前前台任务
  4. !!:重复执行上一条命令
  5. 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 条最常用的命令写下“使用场景+易错点”备忘,就算真正掌握啦!

相关文章:

  • Django框架介绍+安装
  • 工业元宇宙:从虚拟仿真到虚实共生
  • 【mathematica】常见命令
  • 【51单片机6位数码管显示时间与秒表】2022-5-8
  • NPP库中libnppi模块介绍
  • 启发式算法-遗传算法
  • 如何用更少的显存训练 PyTorch 模型
  • 深入理解 Spring MVC:DispatcherServlet 与视图解析机制​
  • CSDN积分详解(介绍、获取、用途)
  • Docker 使用与部署(超详细)
  • SpringCloud教程 — 无废话从0到1逐步学习
  • Mybatis学习(下)
  • python进阶(3)字符串格式化
  • 【翻译、转载】MCP 核心架构
  • 黑马商城(七)MQ高级
  • 【操作系统】哲学家进餐问题
  • 赋予网页健壮的灵魂 —— TypeScript(下)
  • ST-LINKV2仿真器下载
  • 基于 AI 的人像修复与编辑技术:CompleteMe 系统的研究与应用
  • 驱动开发硬核特训 · Day 27(下篇):深入掌握 Common Clock Framework 架构与实战开发
  • 苏杯登顶看到老将新人冲劲,国羽用冠军为奥运新周期开好头
  • 贵州黔西市游船倾覆事故致9人死亡1人失联
  • 江西望仙谷回应“游客凌晨等不到接驳车”:已限流,接驳车运行时间延长
  • 国铁集团:全国铁路旅客发送量连续3天同比增幅超10%
  • 首日5金!中国队夺得跳水世界杯总决赛混合团体冠军
  • 上海科创再出发:“造星”的城和“摘星”的人