過濾特定的行#
# 從文本中過濾帶有vpn的行
grep -v "vpn" 檔案名稱
端口#
# 查看所有服務的預設端口名稱和端口號
getent services
以 sudo 身份運行上一條命令#
sudo !!
find#
#顯示文件內容並輸出當前文件名
find . -type f -print -exec cat {} \;
#在當前目錄及其子目錄中查找文件大小為0的文件,並顯示文件的詳細信息。
find . -size 0 -type f -exec ls -lh "{}" \;
#在當前目錄下查找修改時間為最近一天的所有文件,並且文件名以.md結尾,但不包括名為"template.md"和"temp.md"的文件
find . -maxdepth 1 -type f -mtime -1 -name "*.md" -not -name "template.md" -not -name "temp.md" -exec ls -lh "{}" \;
#在當前目錄下查找查找最近兩天修改過的文件且文件名中包含“margin”的文件,並將它們移動到/tmp/img/目錄中。
find . -maxdepth 1 -type f -mtime -2 -name "*margin*" -exec mv "{}" /tmp/img/ \;
# 在當前目錄下查找以'.ibd'結尾的文件,然後過濾出包含'tpcc1000'的文件,並排除掉包含'mysql_global'的文件。最後,將找到的文件複製到/tmp/bak/目錄下。
find . -name '*.ibd' | grep tpcc1000 | grep -v mysql_global | xargs -I{} cp --path {} /tmp/bak/
xargs#
xargs 通常用來批量處理命令輸出的內容,並將輸出的內容賦給後續命令繼續處理
# ip.txt中每行一個ip,xargs處理每一個ip,並傳遞給nmap進行端口掃描,{}是佔位符,代表ip地址
cat ip.txt | xargs -I {} nmap -p80 {}
cat aqc.100.ip.alive.1 | xargs -I {} java -jar shiro_tool.jar {}
ps#
ps -Tfp <PID>
循環文本內容#
while read i ; do echo $i ; done <./prometheus.list
在以普通用戶打開的 vim 當中保存一個 root 用戶文件#
:w !sudo tee %
切換回上一個目錄#
$cd -
免密碼 ssh 登錄遠程主機#
$ ssh-copy-id remote-machine
清空或創建一個文件#
> file.txt
用 ssh 創建端口轉發通道#
# 在本地主機上建立一個SSH隧道,將本地主機的2001端口映射到遠程主機的80端口。這樣,您可以通過本地主機的2001端口訪問遠程主機的80端口。請注意,"user"是您在"some machine"上的登錄用戶名。
ssh -f -N -L2001:remotehost:80 user@somemachine
實時某個目錄下查看最新改動過的文件#
watch -d -n 1 'df; ls -FlAt /path'
用 Wget 的遞歸方式下載整個網站#
nohup wget --random-wait -nc -q -r -l 0 --reject=html -np -e robots=off -U Mozilla www.example.com &
執行一條命令但不保存到 history 中#
通過在命令行前面添加一個空格,就可以阻止這條命令被保存到 bash history (~/.bash_history) 文件中
$ command
顯示當前目錄中所有子目錄的大小#
sudo du -h -max-depth=1 -BG //單位 block-size G; or -BM MB
#按單位大小排序
du -sh * | sort -hr | head
用 python 快速開啟一個 SMTP 服務#
python -m smtpd -n -c DebuggingServer localhost:1025
用 python 快速開啟一個 HTTP 服務#
python3 -m http.server 8080
其他#
from X @javinpaul
參考: