日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux如何自动调jiaob,最牛B的 Linux Shell 命令 系列连载(四)

發布時間:2023/12/19 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux如何自动调jiaob,最牛B的 Linux Shell 命令 系列连载(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文編譯自commandlinefu.com的系列文章Top Ten One-Liners from CommandLineFu Explained。作為一個由用戶推薦最有用shell命令的網站,其記錄了數以萬計的各色shell命令,其中不乏相當實用和有趣的,本文就要細數當中獲投票最高的一些命令,從其中取材并加以細釋,希望讀者能從中受益。

1.查看ascii碼表

man 7 ascii

很多人初學編程都會接觸到ascii碼的概念,有時候為了查某個符號的ascii值,可能還得翻箱倒柜找出當年的課本?Linux Manpage里面其實包含了很多類似的實用資料,上述命令就能很詳細的方式解釋ascii編碼,當然這里還有在線版。

man命令的第二個參數是區域碼,用來區分索引詞的范圍,比如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下的文件系統。

第7區里面的資料通常最酷:

man 7 charsets– 解釋各種語言的編碼集。(gbk,gb2312等)

man 7 glob– 解釋glob文件名管理機制的工作過程。

man 7 hier– 解釋Linux文件系統結構各個部分的作用。

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 /opt

...

real 0m0.008s

user 0m0.003s

sys 0m0.007s

real指整個程序對真實世界而言運行所需時間,user指程序在用戶空間運行的時間,sys指程序對系統調用鎖占用時間。

read本來是一個讀取用戶輸入的命令,常見用法是read LINE,用戶輸入并回車后,鍵入的內容就被保存到$LINE變量內,但在鍵入回車前,這個命令是一直阻塞的。

可見time read這命令靈活地利用了操作系統的阻塞。用這個命令來測試一壺水多久煮滾應該是不錯的。

3.遠程關掉一臺Windows機器

net rpc shutdown -I IP_ADDRESS -U username%password

Windows平臺上的net命令是比較強大的,因為其后臺是一個RPC類的系統服務,大家應該看過win下用net use \\ip\ipc$ *這樣一個命令建立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過程??墒巧弦柕姆椒o法嵌套,而使用小括號的方法可以,一個比較糾結的例子是:

echo $(echo -e \\x$(printf "%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 clear

tput是專門用來控制終端的一個小工具,也挺強大的,詳細信息運行man tput查看。

7.我想知道一臺服務器什么時候重啟完

ping -a IP

系統管理員最常做的事情是重啟系統。但是服務器的重啟過程往往得花上好幾分鐘,什么你的服務器4個scsi卡?16個硬盤?系統是RedHat?還完全安裝所有組件?好吧,它重啟的時間都夠你吃頓飯了,所以我很想知道它什么時候回來。

ping命令有個audible ping參數,-a,當它終于ping通你的服務器時會讓小喇叭叫起來。

8.列出你最常用的10條命令

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

這行命令組合得很妙:

history輸出用戶了命令歷史;awk統計并輸出列表;sort排序;head截出前10行。

9.檢查Gmail新郵件

curl -u you@gmail.com --silent "https://mail.google.com/mail/feed/atom" |

perl -ne \

'

print "Subject: $1 " if /

(.+?)/ && $title++;

print "(from $1)\n" if /(.+?)/;

'

Gmail的一個特色是支持Atom feed輸出郵件列表,所以總是見到很多Gmail郵件提醒器之類的,因為開發特簡單,atom很方便。

這里只是利用了perl的正則來解析atom(sed/awk也能做到)。

10.用Telnet看《星球大戰》

telnet towel.blinkenlights.nl

沒什么好解釋的,就是ASCII藝術之一。如果你有ipv6連接,還能看到彩色版的。牛吧?

總結

以上是生活随笔為你收集整理的linux如何自动调jiaob,最牛B的 Linux Shell 命令 系列连载(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。