到文件與權(quán)限管理)
簡介《Kali Linux常用命令大全》是一份面向網(wǎng)絡安全初學者、滲透測試人員及Linux入門用戶的命令速查手冊針對Kali Linux操作系統(tǒng)中使用頻率最高的基礎(chǔ)命令進行系統(tǒng)化整理可幫助讀者快速熟悉文件操作、系統(tǒng)狀態(tài)查看與文本處理等核心技能減少日常命令行摸索時間。資源包內(nèi)共包含1個docx格式文檔整體大小約1.96MB內(nèi)容按功能模塊分章節(jié)編排從最基本的ls目錄查看、cd路徑切換到whatis/help/man/info幫助命令、login登錄/exit退出、su/sudo用戶切換、shutdown/reboot電源管理、touch/mkdir/cp/mv文件管理均有詳細說明與參數(shù)示例結(jié)構(gòu)清晰便于按需查閱。文檔還覆蓋系統(tǒng)信息命令df/free/top及文本處理命令grep/sed/awk適合作為滲透測試前掌握Kali環(huán)境的入門配套材料。目前已有633人學習下載對于希望系統(tǒng)建立Kali命令框架、提升操作效率的用戶來說是一份輕量實用的隨時查閱參考。1. 拿全套Kali命令之前先想清楚它解決什么問題拿到一臺預裝了幾百個工具的Kali最先卡住你的往往不是某個工具不會用而是連基本操作都要停下來現(xiàn)查想翻隱藏文件忘了參數(shù)想切回上一個目錄不知道用cd -想確認最近誰登錄過系統(tǒng)不知道last怎么讀。這份《Kali常用命令大全》就是把這類高頻命令按用途歸好類的速查手冊覆蓋文件操作、幫助系統(tǒng)、登錄會話、電源管理幾大塊每條都帶參數(shù)說明和注意事項。它適合兩類人。一類是剛開始接觸web滲透、平時主要靠在圖形界面里點工具的新手先花半天把命令過一遍后面跑工具才不至于寸步難行另一類是已經(jīng)會一些Linux操作但總記混參數(shù)的老手把它當現(xiàn)場速查表用查一眼就接著干活。下面我按“先會查幫助、再會管文件、最后會管會話與電源”的順序拆一遍重點標出哪些參數(shù)在滲透場景里真正常用哪些坑值得提前繞開。2. 幫助命令優(yōu)先whatis、man與中文手冊的落地配置2.1 為什么先啃幫助系統(tǒng)很多人的習慣是拿到Kali先裝工具、跑腳本真到命令行里卡住了才去搜索引擎。但在滲透測試現(xiàn)場不一定有穩(wěn)定網(wǎng)絡供你慢慢查系統(tǒng)自帶的幫助文檔才是第一道救命稻草。Kali預裝的命令和工具大多是外部程序參數(shù)又多又怪光靠記憶不現(xiàn)實學會用幫助系統(tǒng)可以讓大部分問題就地解決。我的習慣是第一件事不碰工具先確認幫助體系能正常工作——whatis能查到描述、man能翻到完整手冊、內(nèi)建命令能用help兜底。這套東西通了后面每遇到一個新工具都可以在幾十秒內(nèi)拿到參數(shù)說明比到處翻筆記靠譜得多。這條對新手和老手都適用區(qū)別只在于老手查得更快。2.2 四層幫助命令的選型差異Linux幫助命令分四層信息量和使用場景差別很大。whatis只給一句話描述適合快速回憶某個命令是干嘛的help專門服務Shell內(nèi)建命令像cd、echo這類man是完整手冊頁覆蓋大部分外部命令info則是GNU項目的信息文檔內(nèi)容更詳細Kali默認沒裝。命令信息來源信息量適用場景whatisman數(shù)據(jù)庫一句話描述快速確認命令用途helpShell內(nèi)建簡要選項列表cd、echo等內(nèi)建命令man/usr/share/man手冊頁完整參數(shù)與示例外部命令標準幫助infoGNU信息文檔詳細文書深度了解GNU工具whatis nmap help cd man ncwhatis nmap會輸出一行關(guān)于nmap的簡要描述確認用途夠用。help cd給出的是zsh里cd的選項說明注意它只對內(nèi)建命令有效對nmap這類外部命令會直接報錯。man nc則是查看nc的完整手冊頁面里會寫清每個參數(shù)、退出狀態(tài)和示例遇到不確定的-e、-z這類參數(shù)時翻一下最穩(wěn)。如果whatis查詢不到結(jié)果常見原因是man數(shù)據(jù)庫沒建立執(zhí)行sudo mandb重建索引后再查即可。2.3 中文man的安裝與別名配置原資源里給了一條很實用的路子Kali上裝中文手冊頁再給zsh配一個cman別名讓man默認讀中文。Kali默認Shell是zsh這個細節(jié)后面還會提到配置時要注意別寫錯文件。sudo apt update sudo apt install -y manpages-zh echo alias cmanman -M /usr/share/man/zh_CN ~/.zshrc source ~/.zshrc第一行更新軟件源索引第二行安裝中文man包。第三行的man -M是指定手冊搜索路徑/usr/share/man/zh_CN是中文手冊頁存放目錄把這條alias寫進~/.zshrc后執(zhí)行cman就能直接看中文手冊。最后一行source讓配置立即生效。裝完后要有個心理預期不是所有man頁面都有中文翻譯核心命令大多有冷門工具還是會回退到英文頁。注意Kali默認使用Zsh別名別寫進.bashrc否則新開的終端不生效。寫完~/.zshrc記得source一下。3. 文件系統(tǒng)高頻命令目錄切換、文件復制與鏈接參數(shù)速查3.1 ls、cd、pwd在滲透場景里的正確用法文件操作是每個會話里最頻繁的動作Kali的/var/log、/etc、/tmp幾個目錄在滲透測試里翻得最多。ls最常用的組合是-a、-l、-t、-h-al看全部文件包括隱藏文件-lt按修改時間排序方便找最近變動的文件-lh讓文件大小以易讀的K、M單位呈現(xiàn)。ll在Kali的zsh里不保證默認存在我自己習慣在配置里給ls -alh起個別名后面第6章會一起給。ls -alh /etc ls -lt /var/log cd /var/log cd - pwd -P第一條羅列/etc下含隱藏文件在內(nèi)的所有條目并帶可讀大小第二條把/var/log下的文件按修改時間倒序排找“最近被改過的日志”時很好用。第三條cd /var/log切到日志目錄第四條cd -是切回上一個工作目錄在內(nèi)網(wǎng)來回翻配置文件時效率提升明顯。最后pwd -P打印的是物理路徑而非符號鏈接路徑配合軟鏈接工作時能看清你實際站在哪個目錄層級。3.2 cp、mv、rm參數(shù)速查與刪除禁忌文件復制、移動、刪除在Kali里最常見的應用場景是整理掃描結(jié)果、備份配置、清理臨時文件。三個命令參數(shù)看著多真正高頻的就那幾組我按資源內(nèi)容整理成一張速查表命令重點參數(shù)含義cp-a等價于-dpR復制時保留屬性與符號鏈接cp-p保留源文件屬性mv-i目標已存在時覆蓋前詢問mv-u源文件更新時才覆蓋rm-r/-R遞歸刪除目錄及子目錄rm-f強制刪除不詢問cp -a /etc/passwd /tmp/passwd.bak mv -i /tmp/passwd.bak /root/passwd.bak rm -rf /tmp/passwd.bak第一條保留權(quán)限和屬性做備份這在需要保持文件原始模式時很關(guān)鍵比如備份一個可執(zhí)行腳本。第二條加了-i如果目標目錄已有同名文件會先詢問防止誤覆蓋。第三條rm -rf是雙刃劍資源里特別提到對于鏈接文件rm只刪除鏈接本身原有文件不會動所以刪軟鏈接基本安全但刪硬鏈接時要意識到它和原文件共享同一個inode刪掉一個并不等于釋放數(shù)據(jù)塊。歷來翻車案例大多發(fā)生在rm -rf后才發(fā)現(xiàn)路徑寫錯我的習慣是刪目錄前先ls確認一次。3.3 touch、mkdir、ln創(chuàng)建與鏈接touch有兩個用途創(chuàng)建空文件以及把已存在文件的時間屬性更新為當前時間。滲透里常拿它測試目標目錄是否有寫權(quán)限能touch出文件說明可以寫。mkdir -p遞歸創(chuàng)建多級目錄比一層層mkdir省事。ln創(chuàng)建鏈接時軟鏈接必須寫絕對路徑這個坑值得單獨說。touch /tmp/test-write.txt mkdir -p /tmp/loot/a/b/c ln -s /etc/passwd /tmp/passwd-link ls -l /tmp/passwd-link第一條在/tmp創(chuàng)建空文件驗證當前用戶對目錄的寫權(quán)限。第二條遞歸建三層目錄適合在收集漏洞利用過程中需要組織多級文件的時候。第三條創(chuàng)建指向/etc/passwd的符號鏈接注意ln -s的參數(shù)順序是“源文件在前、鏈接名在后”很多新手第一次會寫反。第四條用ls -l檢查鏈接是否生效如果目標顯示紅色或者閃爍基本可以斷定是源路徑寫成相對路徑導致斷鏈。注意ln -s的源文件務必寫絕對路徑否則離開當前目錄后鏈接立刻失效這是軟鏈接最容易踩的坑。4. 文件查看與定位cat、less、find三個高頻場景4.1 cat、more、less、head、tail查看命令怎么選日志和配置文件是滲透測試里的情報來源查看命令選不對會浪費大量時間。cat適合小文件-n顯示行號-A能把不可見字符顯示出來——處理從Windows傳過來的腳本時行尾的^M一眼就能看到。more是按頁顯示的老牌分頁器按鍵習慣接近vi但只能向前翻實際用下來不如less順手。less支持前后翻頁、/向下搜索、?向上搜索是所有查看命令里最值得長期用的一個。cat -n /etc/hosts less /var/log/syslog tail -f /var/log/apache2/access.log第一條帶行號輸出hosts排查域名解析問題夠用。第二條用less打開系統(tǒng)日志配合/error直接定位關(guān)鍵字幾百KB的文件翻起來也不卡。第三條是tail -f實時尾隨訪問日志輸出做web滲透時盯掃描結(jié)果、盯漏洞利用后的回連記錄這個命令能一直掛著。head和tail默認只顯示10行-n指定行數(shù)-c按字符數(shù)截取后者在日常操作里用得少。4.2 find、locate、which三種定位方式定位文件有三個層次find實時遍歷文件系統(tǒng)條件最靈活locate查索引數(shù)據(jù)庫速度快但依賴updatedb定期更新which只在PATH環(huán)境變量里找可執(zhí)行文件用于確認命令的真實位置。三者場景不同不能互相替代。find /var/log -name *.log -mtime -1 locate -i nmap which nc python3第一條在/var/log下找最近一天內(nèi)修改過的.log文件-mtime -1表示一天以內(nèi)這個參數(shù)在做日志分析時非常常用。第二條-i忽略大小寫查nmap相關(guān)路徑locate輸出速度快但剛創(chuàng)建的文件它找不到因為索引還沒更新。第三條which查看nc和python3的絕對路徑內(nèi)網(wǎng)環(huán)境里可能同時存在系統(tǒng)自帶和手工上傳的多種版本用它確認你實際執(zhí)行的是哪個二進制避免“明明裝了工具卻調(diào)不對版本”的尷尬。find還可以用-size 100M找大文件、-perm按權(quán)限位篩選提權(quán)階段找特殊權(quán)限文件時再組合細化。4.3 gzip與tar壓縮打包的固定搭配gzip只能壓縮單個文件壓縮后文件名會多出.gz后綴tar負責把一堆文件和目錄打包成一個文件兩者配合才是完整的壓縮方案。資源里提到的-c建立新壓縮文件、-z調(diào)gzip算法、-x解壓、-v顯示過程、-f指定文件名下面這個組合覆蓋了最常見的使用方式。gzip -v /var/log/messages tar -czf logs.tar.gz /var/log tar -xzf logs.tar.gz -C /tmp/logs第一條把/var/log/messages壓縮成.gz-v顯示壓縮率。第二條把整個/var/log目錄打包并用gzip壓縮-c創(chuàng)建、-z壓縮、-f指定輸出文件名這組參數(shù)是打包的固定寫法。第三條解壓到/tmp/logs-x解包、-C指定解壓目標目錄。有一個常見坑直接在絕對路徑下執(zhí)行tar -czf解包后文件會帶上完整路徑層級我一般在目標目錄的上級先cd進去再打包解出來結(jié)構(gòu)才干凈。5. 登錄、會話與電源命令常見問題排查清單5.1 login、exit與last登錄審計是第一個現(xiàn)場login平時用得少但它背后承載的是Kali的多用戶登錄模型——一個系統(tǒng)可以同時接受多個用戶從不同虛擬控制臺登錄切換用AltF1到F6。exit沒有參數(shù)作用就是退出當前Shell回到登錄界面。真正高頻的是last它讀取/var/log/wtmp記錄顯示近期用戶或終端的登錄情況是應急響應里判斷“誰來過”的第一手證據(jù)。last -n 10 last -d第一條顯示最近10條登錄記錄-n指定條數(shù)看最近異常時段內(nèi)有哪些賬號登錄過。第二條把日志里的IP地址解析成主機名但資源里也提醒過在沒有配置反向解析的內(nèi)網(wǎng)環(huán)境里這個功能基本沒意義反而拖慢輸出速度。last這條命令在事件排查中被問到的頻率很高管理員靠它確認是否有未授權(quán)的登錄行為。如果懷疑系統(tǒng)被入侵第一步就是先跑last和lastb把會話記錄存成文件歸檔再繼續(xù)分析。5.2 su與sudo權(quán)限切換別踩邊界Kali的日常操作里權(quán)限切換是最高頻也最容易混淆的動作。資源里對su和sudo的區(qū)別給了一句關(guān)鍵說明su切換用戶時只切換root身份但shell環(huán)境仍保留普通用戶的設(shè)置而sudo允許普通用戶執(zhí)行管理員賬戶才能執(zhí)行的命令執(zhí)行完回到原身份。su - root sudo whoami sudo -i第一條su -帶一個減號會重新開啟登錄Shell并加載root的環(huán)境變量推薦用這個而不是裸su root。第二條sudo whoami輸出root驗證當前用戶具備臨時提權(quán)能力。第三條sudo -i則是以root身份啟動交互式Shell適合需要連續(xù)執(zhí)行多條管理命令的場景。兩者的邊界在資源里寫得很清楚我補充一個實際教訓混淆這個邊界最常見的結(jié)果是——用su切換后在腳本里調(diào)用命令發(fā)現(xiàn)環(huán)境變量不對或者用sudo執(zhí)行重定向到文件時提示權(quán)限不足因為重定向是Shell做的不在sudo提權(quán)范圍內(nèi)。命令表現(xiàn)適用場景su切換為其他用戶身份可能保留原環(huán)境變量需要長時間以其他身份工作sudo單條命令提權(quán)記錄審計日志偶爾執(zhí)行管理員操作5.3 shutdown、halt、reboot安全關(guān)機不是玄學Kali作為攻擊機很多人習慣干完活直接關(guān)虛擬機窗口這個動作相當于強制斷電。資源里特意強調(diào)Linux后臺運行著許多進程直接斷電源可能讓進程數(shù)據(jù)丟失系統(tǒng)處于不穩(wěn)定狀態(tài)甚至損壞硬件設(shè)備。shutdown會通知所有登錄用戶、凍結(jié)login禁止新用戶登錄然后逐項關(guān)閉服務最后才關(guān)機halt則不會逐項關(guān)閉服務直接執(zhí)行硬件關(guān)機reboot參數(shù)和halt基本一致用于重啟。shutdown 5 System will shutdown after 5 minutes shutdown -c第一條是在5分鐘后關(guān)機并廣播通知適合需要給其他登錄用戶留緩沖時間的場景。第二條取消已計劃的關(guān)機-c只對還沒執(zhí)行的shutdown有效。這里有一個值得記住的參數(shù)shutdown -k只是發(fā)送警示信息給所有用戶并不會真的關(guān)機適合演練時用。halt的參數(shù)里-n不進行sync同步、-d不寫記錄、-i先關(guān)閉網(wǎng)絡接口這些在正常操作里很少動但要意識到它們的存在。5.4 命令失效與環(huán)境問題五條現(xiàn)場排查記錄這一節(jié)集中列幾條在Kali現(xiàn)場復現(xiàn)率最高的故障按“現(xiàn)象→原因→解決”的方式寫方便直接對號入座?,F(xiàn)象1sudo apt install提示Unable to locate package。原因軟件源索引過期包名在本地索引里查不到。解決先執(zhí)行sudo apt update刷新索引再裝Kali默認源更新頻率低新裝的系統(tǒng)尤其常見?,F(xiàn)象2ln -s建完軟鏈接ls -l顯示目標紅色或閃爍。原因源文件寫成了相對路徑離開當前目錄后鏈接指向的位置不存在。解決刪除重建源路徑用絕對路徑例如ln -s /etc/passwd /tmp/passwd-link?,F(xiàn)象3locate找不到剛創(chuàng)建的文件。原因locate查的是索引數(shù)據(jù)庫不是實時文件系統(tǒng)新建文件尚未入庫。解決執(zhí)行sudo updatedb強制重建索引再重新locate?,F(xiàn)象4腳本加了執(zhí)行權(quán)限仍然報Permission denied。原因目標所在分區(qū)以noexec方式掛載或者當前用戶權(quán)限不夠。解決用mount -o remount,exec重新掛載所在分區(qū)或確認文件屬于當前用戶且權(quán)限位正確。Kali的/tmp在某些安全加固配置下會帶noexec這也是為什么臨時腳本放/tmp跑不起來的原因?,F(xiàn)象5改了別名新開終端還是不生效。原因配置寫到了.bashrc而Kali默認Shell是zsh也可能寫完沒source。解決確認當前Shell是echo $SHELL配置寫入~/.zshrc執(zhí)行source ~/.zshrc。五條里第一條和第五條的排查成本最低但現(xiàn)場見到最多。多數(shù)是環(huán)境初始化階段沒走完不是命令本身的問題。6. 把命令串成習慣一套別名與函數(shù)配置前面拆了那么多參數(shù)和場景最后落成一個具體動作把高頻組合做成zsh別名和函數(shù)存進~/.zshrc。命令大全的價值在于查但更高一層是讓常用組合變成肌肉記憶不用每次翻。alias llls -alh alias cmanman -M /usr/share/man/zh_CN alias logchecktail -f /var/log/syslog sysinfo() { echo last login last -n 5 echo disk df -h echo memory free -h }第一行把ls -alh綁定到ll每次列目錄直接看到隱藏文件和可讀大小這是日常使用頻率最高的別名。第二行是第2章中文man的別名查手冊時少打一串參數(shù)。第三行把實時日志檢查綁定成logcheck打開終端就能盯系統(tǒng)日志。sysinfo函數(shù)把登錄審計、磁盤、內(nèi)存三條命令串成一次健康檢查在拿到陌生機器時先跑一遍環(huán)境狀態(tài)一目了然。配置寫入~/.zshrc后執(zhí)行source ~/.zshrc生效。有一回在某個內(nèi)網(wǎng)環(huán)境里我圖省事沒先配別名就直接開干結(jié)果連翻日志都要現(xiàn)場敲一串參數(shù)效率慘不忍睹。從那以后每次拿到新的Kali環(huán)境我第一件事就是檢查help和man是否可用、last是否正常、然后把這幾個別名和函數(shù)配好再開始做事。工具裝在皮上命令熟在骨子里這份命令大全的價值也在這個習慣里。希望幫到你。本文還有配套的精品資源點擊獲取