整理這兩年寫的shell指令碼,歸納一些常用的命令或工具,其中有些項展開不是一篇兩篇能說清楚的,在此粗粒度一筆帶過不做深入介紹,只是從之前寫的指令碼中和平時工作中總結常用命令
像什麼cd 啊 ls 啊太基礎的直接忽視
split -b
100k filename
split -l
100 filename
split -b
100k -d-a5
split -b
100k -d
-a5 prefix
csplit filename /[regex]/ -n 10 -s -f prefix -b "%05d.log"
/[regex]/:描述文字模式,從第一行一直複製到匹配行,但不包括匹配行
:匹配重複執行的操作,直到檔案末尾
-s命令進入靜默模式,不列印其他資訊
-n指定字尾數字的個數
-f指定字首
-b指定字尾格式
comm filea fileb
第一列:filea獨有的行
第二列:fileb獨有的行
第三列:filea和fileb共有的行
技巧:刪除顯式的列 -1不顯示第一列 -2不顯示第二列 -3不顯示第三列
比如:刪除filea和fileb共有列並合併
comm filea fileb -3| tr -d '\t'
求filea差集
comm filea fileb -2 -3
for filename in .txt
do touch $filename
done
wget--
user
user--
password
pass
url若不指定密碼可以將--
password換成--
ask-
password
斷點續傳
wget-c
url複製整個網路
,類似爬蟲
wget--
mirror--
convert
-links
url
斷點續傳
curl url/file -c offset
偏移量以位元組為單位,如果只希望斷點續傳不需要指定offset,會自動計算
設定cookies
curl url
--cookie "key=val……"
將cookie轉儲為檔案
curl url
--cookie-jar cookiefile
認證curl -u user:pass url
只顯示頭,這個做業務的連通性驗證比較有用
curl -i url
#!/bin/bash
for host in
10.255.254.[1..255]
do (
ping $host -c 2 &> /dev/null;
if [ $? -eq
0 ] then
echo
$host is alive
fi)&
done
wait
watch cmd
工作中我常用的工具
介面呼叫和測試,可以方便設定環境變數和同一業務介面集合等,並且能夠匯出和匯入環境和介面設定。主要用於後端介面併發效能測試工具,可以匯入測試介面引數指令碼和設定併發模式執行緒數和呼叫時間間隔等。spring kafka mybatis等框架或則中間官網和文件翻譯。注 瀏覽github必備的5款神器級別...
談談我從工作中理解的CDN
一 cdn定義 cdn的全稱是content delivery network,即內容分發網路。其基本思路是盡可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快 更穩定。通過在網路各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智慧型虛擬網路,cdn系統能夠實時地...
工作中遇到的
今天,在工作中,發現乙個問題,簡要描述 用perl寫的cgi程式獲取表單元素的值,用獲得的值拼接sql語句,假如有個表單元素這樣寫 其中 type id 由perl寫成的同乙個cgi程式執行時寫入。另設乙個表單元素,供使用者輸入值使用 在cgi中獲得表單元素的值 my type id cgi par...