1.檢視ascii碼表
man 7 asciiman命令的第二個引數是區域碼,用來區分索引詞的範圍,比如printf,在c標準庫裡面的printf跟bash當中的printf是不同的, 前者的查詢是man 3 printf,後者是man 1 printf。如果這個區域碼省略,就會從1開始搜尋,直到找到為止。
命令man man可以看到詳細的解釋。
manpages裡面還有一些有趣而且實用的資料,可能鮮為人知:
man 1 intro – 一篇對從未接觸過linux的使用者的簡明教程。
man 2 syscalls – 核心系統請求的列表,按核心版本注釋分類,系統程式設計必備。
man 2 select_tut – 關於select()系統請求的教程。
man 3 string – 在標頭檔案內的所有函式。
man 3 stdio – 關於標頭檔案的使用,標準輸入/輸出庫的說明。
man 3 errno – 所有errorno的取值及說明。(c語言內類似其他語言的異常告知機制)
man 4 console_codes – linux的終端控制碼及其使用解釋。
man 4 full – 介紹/dev/full這個總是處於」滿」狀態的磁碟。(對應/dev/null這個總是空的裝置)
man 5 proc – 介紹/proc下的檔案系統。
man 5 filesystems – 各種linux檔案系統。
第7區裡面的資料通常最酷:
man 7 bootparam – 詳細解釋核心啟動引數。
man 7 charsets – 解釋各種語言的編碼集。(gbk,gb2312等)
man 7 glob – 解釋glob檔名管理機制的工作過程。
man 7 hier – 解釋linux檔案系統結構各個部分的作用。
man 7 operator – c語言的運算子的列表。
man 7 regex – 介紹正規表示式。
man 7 suffixes – 常見檔案字尾名的列表跟解釋。
man 7 time – linux的時鐘機制解釋。
man 7 units – 數值單位及其數值的解釋。
man 7 utf8 – 描述utf-8編碼。
man 7 url – 解釋url、uri、urn等的標準。
2.簡易計時器
time read執行命令開始算起,到結束時按一下enter,就顯示出整個過程的時間,精確到ms級別。
time是用來計算乙個程序在執行到結束過程耗費多少時間的程式,它的輸出通常有三項:
$ time ls /optreal指整個程式對真實世界而言執行所需時間,user指程式在使用者空間執行的時間,sys指程式對系統呼叫鎖占用時間。… real 0m0.008s
user 0m0.003s
sys 0m0.007s
read本來是乙個讀取使用者輸入的命令,常見用法是read line,使用者輸入並回車後,鍵入的內容就被儲存到$line變數內,但在鍵入回車前,這個命令是一直阻塞的。
可見time read這命令靈活地利用了作業系統的阻塞。用這個命令來測試一壺水多久煮滾應該是不錯的。
3.遠端關掉一台windows機器
net rpc shutdown -i ip_address -u username%passwordwindows平台上的net命令是比較強大的,因為其後台是乙個rpc類的系統服務,大家應該看過win下用net use file:///c|/ip/ipc%24 *這樣乙個命令建立ipc空連線,入侵主機的事情。
linux下的net命令是samba元件的程式,通常包含在smbclient內,可以跟windows主機的檔案、印表機共享等服務進行通訊,但是也支援rpc命令。
上述命令就是在遠端windows主機上執行了shutdown命令。當然這不一定成功,關係到win主機上面的安全設定。net命令能夠控制到win主機就是了。
4.在乙個子shell中執行乙個命令
(cd /tmp && ls)
當然這只是演示,要檢視目錄當然可以ls /tmp。
好處就是不會改變當前shell的目錄,以及如果命令中設計環境變數,也不會對當前shell有任何修改。
在shell程式設計中還有很多使用上引號來括住乙個命令:`ls /tmp`,這也是子shell過程。可是上引號的方法無法巢狀,而使用小括號的方法可以,乙個比較糾結的例子是:
echo $(echo -e file:///c|/x%24%28printf 「%x」 65))
5.利用中間管道巢狀使用ssh
ssh -t host_a ssh host_b如果目標機器host_b處於比較複雜的網路環境,本機無法直接訪問,但另外一台host_a能夠訪問到host_b,而且也能被本機訪問到,那上述命令就解決了方便登入host_b的問題。
但理論上這個過程是可以無限巢狀的,比如:
ssh -t host1 ssh -t host2 ssh -t host3 ssh -t host4 …
嗯那神馬fbi cia的,有本事來捉我吧~
6.清空螢幕
;這個跟之前介紹的reset命令重置終端的作用有些類似,其實都只是傳送一段控制序列,讓終端的顯示復位。
還可以這樣執行:
tput cleartput是專門用來控制終端的乙個小工具,也挺強大的,詳細資訊執行man tput檢視。
7.我想知道一台伺服器什麼時候重啟完
ping -a ip系統管理員最常做的事情是重啟系統。但是伺服器的重啟過程往往得花上好幾分鐘,什麼你的伺服器4個scsi卡?16個硬碟?系統是redhat?還完全安裝所有元件?好吧,它重啟的時間都夠你吃頓飯了,所以我很想知道它什麼時候回來。
ping命令有個audible ping引數,-a,當它終於ping通你的伺服器時會讓小喇叭叫起來。
8.列出你最常用的10條命令
history | awk 'end}' | sort -rn | head
這行命令組合得很妙: history輸出使用者了命令歷史;awk統計並輸出列表;sort排序;head截出前10行。
9.檢查gmail新郵件
curl -u [email protected] --silent " " |
perl -ne \
' print "subject: $1 " if /(.+?)<\/title>/ && $title++;
print "(from $1)\n" if /(.+?)<\/email>/;
'
gmail的乙個特色是支援atom feed輸出郵件列表,所以總是見到很多gmail郵件提醒器之類的,因為開發特簡單,atom很方便。
這裡只是利用了perl的正則來解析atom(sed/awk也能做到)。
10.用telnet看《星球大戰》
telnet towel.blinkenlights.nl
史上最牛B的FLASH廣告 本田汽車
honda 廣告拍攝內幕 本廣告一共拍攝 605 次,沒有使用任何計算機繪圖輔助,花費四天四夜在巴黎乙個工作室拍攝而成。東京總部的大頭目們第一次看到 cog 這段廣告的反應是 很好啊 很聰明,現代的計算機技術真是不錯。當他們知道這全是真的的時候,他們嚇呆了。世界上共有六臺量產前的 new a c c...
想成為最牛B的程式設計師嗎?
想成為最牛程式設計師嗎?tip 2 建立屬於你自己的資源庫 我們都會有因為這樣或者那樣原因而不得不建立的 集。我從來不記得連線資料庫的準確 語句,所以我每次都不得不在 集中花10分鐘去查詢它。為了解決這個問題,我建立了乙個用於記錄 片段的word文件,以幫助我記憶和查詢。我的乙個同事建了個記錄鏈結的...
牛B的背後都是苦B
牛b的背後都是苦b 分析一下小公尺成功的邏輯 1 勤奮 小公尺初創期的工作時間是996,甚至每天加班到更晚,勤能補拙,更何況小公尺找的大多是業內比較頂尖的人才 2 天時 當時恰逢智慧型手機 式增長 風口 手機終端從功能機切換到智慧型手機,市場紅利 3 地利 social media社交 的爆發為小公...