收藏一些實用的 bash 別名和函式

2021-07-24 10:35:27 字數 4337 閱讀 1797

作為乙個命令列探索者,你或許發現你自己一遍又一遍重複同樣的命令。如果你總是用ssh進入到同一臺電腦,如果你總是將一連串命令連線起來,如果你總是用同樣的引數執行乙個程式,你也許希望在這種不斷的重複中為你的生命節約下幾秒鐘。

解決方案是使用乙個別名(alias)。正如你可能知道的,別名用一種讓你的shell記住乙個特定的命令並且給它乙個新的名字的方式。不管怎麼樣,別名有一些限制,它只是shell命令的快捷方式,不能傳遞或者控制其中的引數。所以作為補充,bash 也允許你建立你自己的函式,這可能更長一些和複雜一點,它允許任意數量的引數。

當然,當你有美食時,比如某種湯,你要分享它給大家。我這裡有乙個列表,列出了一些最有用bash別名和函式的。注意「最有用的」只是個說法,別名的是否有用要看你是否每天都需要在 shell 裡面用它。

這些別名真的很簡單並且真的很短,但他們大多數是為了給你的生命節省幾秒鐘,最終也許為你這一輩子節省出來幾年,也許呢。

alias ls=」ls –color=auto」

簡單但非常重要。使ls命令帶著彩色輸出。

alias ll=」ls –color -al」

以彩色的列表方式列出目錄裡面的全部檔案。

alias grep=』grep –color=auto』

類似,只是在grep裡輸出帶上顏色。

mcd()

我的最愛之一。建立乙個目錄並進入該目錄裡: mcd [目錄名]。

cls()

backup() ;}

alias c=」clear」

清除你終端螢幕不能更簡單了吧?

alias histg=」history | grep」

快速搜尋你的命令輸入歷史:histg [關鍵字]

alias ..=』cd ..』

回到上層目錄還需要輸入 cd 嗎?

alias …=』cd ../..』

自然,去到上兩層目錄。

extract()

很長,但是也是最有用的。解壓任何的文件型別:extract: [壓縮檔案]

alias cmount=」mount | column -t」

按列格式化輸出mount資訊。

alias tree=」ls -r | grep 「:"|

sed−

e′s/

: //』 -e 『s/[^-][^/]*//–/g』 >-e 『s/^/ /』 -e 『s/-/|/』」

以樹形結構遞迴地顯示目錄結構。

sbs() >>e』;}

安裝檔案在磁碟儲存的大小排序,顯示當前目錄的檔案列表。

alias intercept=」sudo strace -ff -e trace=write -e write=1,2 >-p」

接管某個程序的標準輸出和標準錯誤。注意你需要安裝了 strace。

alias meminfo=』free -m -l -t』

檢視你還有剩下多少記憶體。

alias ps? = 「ps aux | grep」

可以很容易地找到某個程序的pid:ps? [名字]。

alias volume=」amixer get master | sed 『1,4 d』 | cut -d [ -f 2 | cut -d ] -f 1」

顯示當前音量設定。

對於所有用在網際網路和本地網路的命令,也有一些神奇的別名給它們。

alias websiteget=」wget –random-wait -r -p -e robots=off -u mozilla」

alias listen=」lsof -p -i -n」

顯示出哪個應用程式連線到網路。

alias port=』netstat -tulanp』

顯示出活動的埠。

gmail()

大概的顯示你的谷歌郵件裡未讀郵件的數量:gmail [使用者名稱]

alias ipinfo=」curl ifconfig.me && curl ifconfig.me/host」

獲得你的公網ip位址和主機名。

getlocation() 』|sed 『sip address flag 『|sed 『smy』;}

返回你的當前ip位址的地理位置。

也許無用

所以呢,如果一些別名並不是全都具有使用價值?它們可能仍然有趣。

kernelgraph() print 「}」』 | dot -tpng | display -;}

繪製核心模組依賴曲線圖。需要可以檢視。

alias busy=」cat /dev/urandom | hexdump -c | grep 『ca fe』」

在那些非技術人員的眼裡你看起來是總是那麼忙和神秘。

#productivity

alias ls=」ls –color=auto」

alias ll=」ls –color -al」

alias grep=』grep –color=auto』

mcd()

cls()   

backup() ;}

md5check()

alias makescript=」fc -rnl | head -1 >」

alias genpasswd=」strings /dev/urandom | grep -o 『[[:alnum:]]』 | head -n 30 | tr -d 『n』; echo」

alias c=」clear」

alias histg=」history | grep」

alias ..=』cd ..』

alias …=』cd ../..』

extract()

#system info

alias cmount=」mount | column -t」

alias tree=」ls -r | grep 「:"|

sed−

e′s/

: //』 -e 『s/[^-][^/]*//–/g』 -e 『s/^/ /』 -e 『s/-/|/』」

sbs()e』;}

alias intercept=」sudo strace -ff -e trace=write -e write=1,2 -p」

alias meminfo=』free -m -l -t』

alias ps?=」ps aux | grep」

alias volume=」amixer get master | sed 『1,4 d』 | cut -d [ -f 2 | cut -d ] -f 1」

#network

alias websiteget=」wget –random-wait -r -p -e robots=off -u mozilla」

alias listen=」lsof -p -i -n」

alias port=』netstat -tulanp』

gmail()

alias ipinfo=」curl ifconfig.me && curl ifconfig.me/host」

getlocation() 』|sed 『sip address flag 『|sed 『smy』;}

#funny

kernelgraph() print 「}」』 | dot -tpng | display -;}

alias busy=」cat /dev/urandom | hexdump -c | grep 「ca fe」

參考文獻

JS指令碼收藏(一些實用的函式)

一 共享onload事件 這個函式的名字是addloadevent,它是由simon willison 編寫的。它只有乙個引數 打算在頁面載入完畢時執行的函式的名字。下面是addloadevent函式將要完成的操作。把現有的window.onload事件處理函式的值存入變數oldonload。如果在...

Bash和vim的一些配置

使用者根目錄下面有乙個稱作 bashrc 的隱藏檔案。bash缺省會執行這個檔案裡的內容。裡面比較有用的內容包括 讓提示符看起來好看一點 ps1 033 38 5 70m u h 033 00m 033 38 5 105m w 033 00m 在有顏色的 terminal 裡面,增加顏色 if te...

一些參考和實用的工具

通過外網配置linux時間參考 缺點 伺服器如果有問題,則不能同步時間 知識參考 1.晶元製造流程 2.超級記憶術 c 用法參考 git使用下面鏈結是命令型的,github desktop檢視操作的。source insight4 vs3.5 4本來是可以直接顯示中文的,無亂碼,但是我用的時候還是出...