简介面向刚接触Kali Linux、准备开展网络安全与Web渗透实操的读者这份命令速查文档围绕系统操作与实验环境准备展开重点解决命令记不牢、临时查手册效率低的问题。压缩包内含1个docx文件约1.96MB内容按目录查看、帮助查询、登录管理、用户切换、电源控制、路径切换以及文件与目录操作等模块组织涵盖ls、man、info、login、last、su/sudo、shutdown、reboot、cd、pwd、touch、mkdir、cp、mv等高频命令。文档在列出命令的同时说明用途与常见参数便于读者按功能定位所需操作也能在渗透测试实验前快速熟悉Kali的Linux基础环境。已有633人学习适合需要建立命令行基础、在实操中查漏补缺的初、中级读者作为案头速查材料。1. 刚装好 Kali先别急着搜命令刚装好一台 Kali或者刚拿到一台陌生 Linux 主机的 shell很多人的第一反应是打开浏览器搜命令。我习惯先把命令手册过一遍尤其是 help、man、find、tar 这几组它们决定了后面所有操作的下限。这份《Kali 常用命令大全》只收命令行把日常高频的几十条命令按目录查看、帮助查询、登录会话、电源管理、路径切换、文件创建与编辑、压缩打包分好类每条给出参数表和示例。它适合两类人刚接触 Kali 这个面向渗透测试的发行版、想在网络安全实操里把操作系统基本功打牢的新手以及做了几年 Web 渗透、命令全靠肌肉记忆、想回头补齐参数细节的老手。原文档是 docx有几处命令被排版换行吃掉了空格下面按能直接跑的方式重写并补上没展开的边界条件。2. 帮助体系whatis/man/info/help 的分工与中文手册落地2.1 先判断命令是内建还是外部Linux 命令分两类shell 内建builtin和磁盘上的可执行文件。help只能查前者man主要覆盖后者混着用就会得到一句 “No help topics match”然后卡在那里反复试。我一般的第一步不是查手册而是先确认这条命令到底属于哪一类。# type -a 会按 PATH 顺序列出所有同名命令并标出哪个是 shell 内建 type -a cd type -a ls输出里cd is a shell builtin说明它是内建ls is /usr/bin/ls说明它是外部程序。判定清楚了再选手册路径能省掉一半“命令查不到帮助”的困惑。type -a比which多出来的信息就是这一个它会把别名、函数、内建都列出来而which只认 PATH 里的可执行文件。提示如果你在脚本里依赖某条命令的绝对路径用command -v别用which。前者是 shell 内建不受 PATH 里同名脚本影响。2.2 四条路径各自的覆盖面原文档把 whatis、help、man、info 四条路径分开写但没有说明它们之间的取舍。实际用起来是一场分层要一行摘要用whatis要知道内建命令怎么用help要看完整参数用man要看 GNU 项目级别的文档带节点跳转用info。# 一行摘要读的是 whatis 数据库 whatis ls # 内建命令的帮助cd、echo、export 这类才有 help cd # 外部命令的完整手册页 man ls # GNU 工具的 texinfo 文档支持节点跳转 info coreutilswhatis查不到内容时八成是 whatis 数据库没建好或者过期了sudo mandb重建一次即可。info在 Kali 上默认没装原文档给的安装命令写成了sudo apt -get install -y infoapt -get这个写法不成立正确的是apt-get或者干脆用sudo apt install -y info。这种一字之差在新机器上很常见装不上时先回头看命令本身。路径覆盖范围输出粒度典型失败原因whatis已入库的命令一行数据库未建或过期helpshell 内建命令用法摘要对外部命令无效man几乎所有命令、配置文件、系统调用完整手册页手册页包未安装infoGNU 项目文档节点式长文未安装 info 包2.3 man 手册页的组织与中文包安装/usr/share/man下面按章节分目录man1到man9各管一类。同名不同章是常事比如passwd既是用户命令又是配置文件格式所以man 1 passwd和man 5 passwd是两页完全不同的内容。不指定章节号时man 按配置的顺序取第一个命中的。章节内容典型例子1用户命令ls、cp、find5文件格式与配置passwd、fstab8系统管理命令shutdown、mount中文手册页的包名是manpages-zh装完页文件落在/usr/share/man/zh_CN。原文档里那句sudo apt install manpages-zhecho‘aliascman”man -M/usr/share/man/zh_CN”’~/.zshrc其实是三行被排版挤成了一行包名是manpages-zh紧接着是echo写别名再接着是 ~/.zshrc。照着原样复制会得到“无法定位软件包 manpages-zhecho”的报错我第一次照着敲就栽在这儿。# 第一步装中文手册页 sudo apt update sudo apt install -y manpages-zh # 第二步确认中文页目录存在 ls /usr/share/man/zh_CN | head # 第三步用 -M 临时指定路径试一下确认能出中文 man -M /usr/share/man/zh_CN ls参数说明-M是 man 的“手册页搜索路径”选项把默认路径替换成指定的目录这一步先用临时方式验证确认中文页真的可用再去改配置文件避免写错了还得回头排查。2.4 别名写进 shell 配置并回读验证Kali 默认 shell 是 zsh配置文件是~/.zshrc换成 bash 就写~/.bashrc。写别名时最容易翻车的是引号外层如果用双引号里面的$和反引号会被当前 shell 提前展开写进去的东西跟你想的不一样。# 外层单引号内层双引号空格别省 echo alias cmanman -M /usr/share/man/zh_CN ~/.zshrc # 追加完先回读确认写进去的原文没被展开 tail -n 3 ~/.zshrc # 生效并验证 source ~/.zshrc cman ls别名只在当前 shell 及其子 shell 里有效新开终端靠的是 rc 文件所以必须落盘。更稳的做法是用函数包一层回退中文页没有的时候自动退回英文不至于直接报 “No manual entry”# 中文优先找不到再走英文手册 cman() { man -M /usr/share/man/zh_CN $ 2/dev/null || man $ }这段同样写进~/.zshrcsource之后cman tar、cman find都能用。另外man -k是按关键字搜索手册页标题等价于aproposman -f等价于whatis。这两个在只知道功能、不知道命令名的时候特别顺手比翻文档快。3. 文件与目录ls 到 ln 的参数取舍与三个路径陷阱3.1 ls五个参数决定你看到什么ls是这份文档里排第一的命令也是被低估得最厉害的一条。默认输出按文件名排序、不显示隐藏项、不带权限和时间。日常真正要看的往往是“最新改动的那几个文件”或者“这个目录到底占多大”这时候不加参数就是白看。# 当前目录不含 . 开头的隐藏项 ls # 全部条目包括隐藏文件和 . .. ls -a # 长格式类型、权限、链接数、属主、属组、大小、时间、名字 ls -l # 长格式 人类可读大小 全部条目 ls -alh # 按修改时间倒序最新的排最上面 ls -lt # 时间用 ISO 格式避免半年前的显示成“月 日”今年显示成“时:分” ls -lh --time-stylelong-iso参数说明-a会把.和..也列出来在某些脚本里做计数时会把结果算多需要过滤就配合grep -v或改成-AGNU 扩展不含.和..。-h只对-l的大小字段生效单独用没意义。-t按 mtime 排序配合-r就是升序排查“最早改的是哪个”时有用。-R递归在/或家目录下用会刷屏几分钟不是必要别用。还有个细节ll是发行版预置的别名不是命令。写脚本时如果写了ll换一台没配别名的机器就会 command not found这种错误在容器里特别常见。3.2 mkdir、cp、mv、rm递归与覆盖的边界建目录用-p一次把中间层都建出来父目录已存在也不报错这是脚本里必写的。# 递归建目录顺便用花括号展开一次建三个子目录 mkdir -p /tmp/lab/recon/{nmap,http,notes} # 建目录同时指定权限避免受 umask 影响 mkdir -m 750 /tmp/lab/private复制整棵目录树用-a它等价于-dpR三个参数的合体保留符号链接本身-d、保留权限和时间戳-p、递归-R。做备份时不用-a就会丢掉权限位恢复回来跑不起来。# 整树复制并保留属性 cp -a /tmp/lab/recon /tmp/lab/recon.bak # 单个文件复制改名 cp /tmp/lab/notes.txt /tmp/lab/notes.copy源路径结尾加不加斜杠行为不一样cp -a src/ dst/是把 src 的内容复制进 dstcp -a src dst是把 src 本身复制到 dst 下面。这两条命令敲错一个字符结果目录结构就多一层或者少一层事后很难看出来。移动同理mv -i在目标存在时逐条询问-f强制覆盖-b覆盖前先备份一份加~后缀-u只在源更新时才动。删除是唯一没有后悔药的操作。rm -r递归、-f不提示、-i逐条询问、-v打印删了什么。我自己的习惯是先让命令把要删的东西列出来看一眼确认路径没多空格、没少斜杠再去掉这一步# 先看匹配到什么确认无误再删 ls -d /tmp/lab/recon/* rm -rf /tmp/lab/reconrm -rf /tmp/lab /recon中间多一个空格这种错在终端里是真实发生过的。变量拼接路径时更危险rm -rf $DIR/在$DIR为空时等于rm -rf /。写删除命令前把变量用echo打一遍这个动作花两秒钟。3.3 ln软链接、硬链接和 inodeln -s建软链接符号链接不加-s建硬链接。两者的差别不在用法在底层硬链接是同一个 inode 多了一个名字删掉任意一个名字文件都还在软链接是一个独立的小文件里面存着目标路径目标没了就成了死链。# 软链接源写绝对路径避免按链接所在目录解析 ln -s /opt/tools/wordlists /tmp/lab/wordlists # 硬链接同一 inode硬链接计数加一 ln /tmp/lab/notes.txt /tmp/lab/notes.hard # 看 inode 编号和硬链接计数验证两种链接的差别 stat -c %i %h %n /tmp/lab/notes.txt /tmp/lab/notes.hard /tmp/lab/wordlists参数说明stat -c后面的格式串里%i是 inode 号%h是硬链接计数%n是文件名。正常结果里两个硬链接的 inode 号相同、计数是 2软链接的 inode 不一样、计数是 1。原文档有一句“软链接源文件必须写成绝对路径”严格说不是强制但这是最省事的规避方式。因为软链接里的相对路径是按链接所在目录解析的不是按你执行ln时的工作目录解析。你在/tmp/lab下敲ln -s notes.txt link生成的链接指向的是/tmp/lab/notes.txt把这个链接挪到别处它就断了。所以要么写绝对路径要么清楚自己在做什么。硬链接有两条硬限制不能跨文件系统不能给目录建。跨挂载点会直接报 “Invalid cross-device link”。排查死链用find /opt/tools -xtype l-xtype l专门匹配“本身是符号链接但目标不存在”的条目。4. 查看、检索与归档cat/less/find/locate 组合与 tar 的 -f 位4.1 cat、more、less、head、tail 的分工这五条命令功能重叠但场景完全不重叠。文件小、要一次看完用cat文件大、要来回翻用less只看开头结尾用head和tail日志要跟着看用tail -f。# 一次看完顺带把行尾符和制表符显示成可见字符 cat -A /etc/hosts # 加行号排查配置里第几行出的问题 cat -n /etc/passwd | head -n 5 # 大文件用 less/ 向下搜、? 向上搜、空格翻页、q 退出 less /var/log/syslog # 只看头部 20 行 head -n 20 /etc/passwd # 看日志尾部 50 行 tail -n 50 /var/log/auth.log # 跟日志新写入的内容实时刷出来CtrlC 退出 tail -f /var/log/auth.log参数说明cat -A等价于-vET把制表符显示成^I、行尾显示成$排查 CRLF 换行符和隐藏空格时是利器-b和-n都是加行号区别是-b不给空行编号-n给所有行编号。head -c和tail -c按字节数取处理二进制文件片段时用。tail -f跟的是文件描述符日志被轮转重命名后新建时会跟丢这时用-F它会在文件被替换后重新打开。more和less的关系值得单说more只能向前翻less前后都能翻还支持/向下搜、?向上搜、n跳到下一个匹配。现在基本没有理由用more了less是超集。4.2 find表达式和动作要分开写find的语法结构是“路径 表达式 动作”表达式之间默认是逻辑与写错一个条件整个结果就偏了。原文档给的是参数列表实际用起来必须组合。# 按名字和类型找-iname 忽略大小写 find /tmp/lab -iname *.txt -type f # 按大小找100M 大于 100MB-1k 小于 1KB不带单位默认按 512 字节块算 find / -xdev -type f -size 100M 2/dev/null # 按权限找-ow 表示“至少”包含其他用户可写 find /tmp/lab -type f -perm -ow # 按修改时间找-mtime -1 表示一天以内30 表示三十天以前 find /tmp/lab -type f -mtime -1 -exec ls -l {} \;参数说明-xdev表示不跨挂载点扫/时必加否则会钻进/proc、/sys和外接盘末尾的2/dev/null屏蔽权限不足的报错不然输出里一半是 “Permission denied”。-perm -ow前面那个减号是关键减号表示“至少包含这些权限位”不带减号是“权限位完全相等”。-exec ... {} \;对每条结果执行一次命令把\;换成可以批量传参几千个文件时速度快一个数量级。删除类操作一定先-print再-delete两步分开跑# 第一步只打印确认匹配范围 find /tmp/lab -name *.tmp -print # 第二步确认无误再删 find /tmp/lab -name *.tmp -delete-delete隐含了-depth会先处理子目录再处理父目录和-prune一起用会冲突这两条别放同一个表达式里。4.3 locate、which 与 tar/gzip 归档链路locate和find功能重叠但机制完全不同locate查的是一份预先建好的索引数据库速度极快代价是新建的文件查不到得先sudo updatedb刷新。找“某个包的文件装哪儿了”用locate比find合适得多。# 先刷新索引再按关键字查 sudo updatedb locate -i -n 20 wordlist # which 只看 PATHtype -a 会把别名和函数也列出来 which python3 type -a python3locate -i忽略大小写-n限制输出条数。which只回答“PATH 里第一个匹配的是哪个”如果命令被别名覆盖了which看不出来type -a能。打包这块tar的参数顺序是最容易翻车的地方。-f后面必须紧跟归档文件名所以它必须放在所有选项字母的最后# 打包压缩-f 是最后一个字母紧跟归档名再跟要打包的路径 tar -czvf lab-$(date %F).tar.gz -C /tmp lab # 先列内容再解开避免解出一堆文件盖住当前目录 tar -tzvf lab-2024-01-01 p a hrefhttps://download.csdn.net/download/m0_74249600/89656160 stylecolor:#ec7500;font-size:14px; 本文还有配套的精品资源点击获取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p
企业数字化 ERP 产品动态
相关推荐
Suborner 实战:拦截与规则引擎实现依赖模拟与测试验证 1. 拆解 Suborner 项目:它到底在解决什么问题第一次看到“Suborner”这个名字,很多人会愣一下——这词不常见,字面意思是“收买、唆使”,放在项目语境里,它指向的其实是一类非常具体的技术需求:在受控环境中… · 2026/11/2 20:01:30
H.266与神经编码正面对决:下一代视频编码的竞争与融合 1. 这场竞争,为什么现在才被摆上台面先说一个有意思的巧合。最近不少做视频处理的朋友都撞上过这样一个报错:UnicodeEncodeError: gbk codec cant encode character。你看,连 Python 处理字符串时都会因为“编码标准不统一”而翻车࿰… · 2026/11/2 20:01:30
Django认证模板美化:AllAuth UI集成与定制指南 Django 项目里集成第三方认证功能,很多人第一反应是上django-allauth——它确实是这个生态里最成熟、覆盖最全的方案,邮箱注册、第三方账号登录、邮箱验证、密码重置这些流程它全包了。但真正动手接过的人都知道,功能齐全是它的事,… · 2026/11/2 20:01:30
netboot.xyz 网络启动故障排除指南:从通电到装机的完整排障路线 netboot.xyz 网络启动故障排除指南:从通电到装机的完整排障路线 【免费下载链接】netboot.xyz Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE. 项目地址: https://gitcode.com/gh_mirrors/n… · 2026/11/3 1:39:16
无需人工标注!AndroidGen-GLM-4-9B重构安卓智能交互新范式 无需人工标注!AndroidGen-GLM-4-9B重构安卓智能交互新范式
导语
你还在为AI助手无法跨应用完成复杂任务而烦恼?智谱AI最新开源的AndroidGen-GLM-4-9B模型,首次实现大语言模型在安卓系统全场景的自主任务执行,无需人工标注交互数… · 2026/11/3 1:39:16
SenseNova-Vision-7B-MoT核心功能解析:图像理解与多模态对话的终极指南 SenseNova-Vision-7B-MoT核心功能解析:图像理解与多模态对话的终极指南
SenseNova-Vision-7B-MoT是一款强大的多模态AI模型,融合了先进的视觉理解与自然语言处理能力,为用户提供精准的图像分析和流畅的对话交互体验。该模型基于70亿参数规模… · 2026/11/3 1:39:16
vLLM加速BU-30B-A3B-Preview:提升10倍推理速度的配置与优化技巧 vLLM加速BU-30B-A3B-Preview:提升10倍推理速度的配置与优化技巧
BU-30B-A3B-Preview是一款具备SoTA Browser Use能力的轻量级模型,可在单GPU上部署运行。它基于Qwen/Qwen3-VL-30B-A3B-Instruct构建,拥有300亿总参数(其中30亿为活… · 2026/11/3 1:38:16
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18