您現在的位置是:電腦技術吧?>? 組裝維修 ??>??一波又一波,一波還來不及??>??正文詳情

一波又一波,一波還來不及

仆靈安2019-12-20 14:22:13 人圍觀
簡介一波接一波本文主要介紹了一種實用的bash shell排序方法,它適用于Ubuntu和其他Debian-Linux系統。您可以將以下內容作為朋友的命令行資源管理器。你可能來一波是什么意思

這篇文章主要介紹了一波實用的Bash Shell整理,適用于Ubuntu等Debian系的Linux系統,需要的朋友可以參考下  作為一個命令行探索者,你或許發現你自己一遍又一遍重復同樣的命令。

如果你總是用ssh進入到同一臺電腦,如果你總是將一連串命令連接起來,如果你總是用同樣的參數運行一個程序,你也許希望在這種不斷的重復中為你的生命節約下幾秒鐘。

  解決方案是使用一個別名(alias)。

正如你可能知道的,別名用一種讓你的shell記住一個特定的命令并且給它一個新的名字的方式。

不管怎么樣,別名有一些限制,它只是shell命令的快捷方式,不能傳遞或者控制其中的參數。

所以作為補充,bash 也允許你創建你自己的函數,這可能更長一些和復雜一點,它允許任意數量的參數。

  當然,當你有美食時,比如某種湯,你要分享它給大家。

我這里有一個列表,列出了一些最有用bash別名和函數的。

注意最有用的只是個說法,別名的是否有用要看你是否每天都需要在 shell 里面用它。

  在你開始你的別名體驗之旅前,這里有一個便于使用的小技巧:如果你的別名和原本的命令名字相同,你可以用如下技巧來訪問原本的命令(LCTT 譯注:你也可以直接原本命令的完整路徑來訪問它。

)  ? 1 command   例如,如果有一個替換了ls命令的別名 ls。

如果你想使用原本的ls命令而不是別名,通過調用它:  ? 1 ls   提升生產力  這些別名真的很簡單并且真的很短,但他們大多數是為了給你的生命節省幾秒鐘,最終也許為你這一輩子節省出來幾年,也許呢。

  ? 1 alias ls=ls --color=auto   簡單但非常重要。

使ls命令帶著彩色輸出。

  ? 1 alias ll=ls --color -al   以彩色的列表方式列出目錄里面的全部文件。

  ? 1 alias grep='grep --color=auto'   類似,只是在grep里輸出帶上顏色。

  ? 1 mcd() { mkdir -p $1; cd $1;}   我的最愛之一。

創建一個目錄并進入該目錄里: mcd [目錄名]。

  ? 1 cls() { cd $1; ls;}   類似上一個函數,進入一個目錄并列出它的的內容:cls[目錄名]。

  ? 1 backup() { cp $1{,.bak};}   簡單的給文件創建一個備份: backup [文件] 將會在同一個目錄下創建 [文件].bak。

  ? 1 md5check() { md5sum $1 | grep $2;}   因為我討厭通過手工比較文件的md5校驗值,這個函數會計算它并進行比較:md5check[文件][校驗值]。

  ? 1 alias makescript=fc -rnl | head -1   很容易用你上一個運行的命令創建一個腳本:makescript [腳本名字.sh]  ? 1 alias genpasswd=strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo   只是瞬間產生一個強壯的密碼。

  ? 1 alias c=clear   清除你終端屏幕不能更簡單了吧?  ? 1 alias histg=history | grep   快速搜索你的命令輸入歷史:histg [關鍵字]  ? 1 alias ..='cd ..'   回到上層目錄還需要輸入 cd 嗎?  ? 1 alias ...='cd ../..'   自然,去到上兩層目錄。

  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 extract() { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar e $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo '$1' cannot be extracted via extract() ;; esac else echo '$1' is not a valid file fi }   很長,但是也是最有用的。

解壓任何的文檔類型:extract: [壓縮文件]  系統信息  想盡快地知道關于你的系統一切信息?  ? 1 alias cmount=mount | column -t   按列格式化輸出mount信息。

  ? 1 alias tree=ls -R | grep :$ | sed -e 's/:$//' -e 's/[^-][^/]*//--/g' -e 's/^/ /' -e 's/-/|/'   以樹形結構遞歸地顯示目錄結構。

  ? 1 sbs() { du -b --max-depth 1 | sort -nr | perl -pe 's{([0-9] )}{sprintf %.1f%s, $1=2**30? ($1/2**30, G): $1=2**20? ($1/2**20, M): $1=2**10? ($1/2**10, K): ($1, )}e';}   安裝文件在磁盤存儲的大小排序,顯示當前目錄的文件列表。

  ? 1 alias intercept=sudo strace -ff -e trace=write -e write=1,2 -p   接管某個進程的標準輸出和標準錯誤。

注意你需要安裝了 strace。

  ? 1 alias meminfo='free -m -l -t'   查看你還有剩下多少內存。

  ? 1 alias ps? = ps aux | grep   可以很容易地找到某個進程的PID:ps? [名字]。

  ? 1 alias volume=amixer get Master | sed '1,4 d' | cut -d [ -f 2 | cut -d ] -f 1   顯示當前音量設置。

  網絡  對于所有用在互聯網和本地網絡的命令,也有一些神奇的別名給它們。

  ? 1 alias websiteget=wget --random-wait -r -p -e robots=off -U mozilla   下載整個網站:websiteget [URL]。

  ? 1 alias listen=lsof -P -i -n   顯示出哪個應用程序連接到網絡。

  ? 1 alias port='netstat -tulanp'   顯示出活動的端口。

  ? 1 gmail() { curl -u $1 --silent https://mail.google.com/mail/feed/atom | sed -e 's//fullcount.*/n/' | sed -e 's/.*fullcount//'}   大概的顯示你的谷歌郵件里未讀郵件的數量:gmail [用戶名]  ? 1 alias ipinfo=curl ifconfig.me curl ifconfig.me/host   獲得你的公網IP地址和主機名。

  ? 1 getlocation() { lynx -dump http://www.ip-adress.com/ip_tracer/?QRY=$1|grep address|egrep 'city|state|country'|awk '{print $3,$4,$5,$6,$7,$8}'|sed 'sip address flag '|sed 'sMy';}   返回你的當前IP地址的地理位置。

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

  ? 1 kernelgraph() { lsmod | perl -e 'print digraph lsmod {;;while(){@_=split/s /; print $_[0] - $_n for split/,/,$_[3]}print }' | dot -Tpng | display -;}   繪制內核模塊依賴曲線圖。

需要可以查看圖片。

  ? 1 alias busy=cat /dev/urandom | hexdump -C | grep 'ca fe'   在那些非技術人員的眼里你看起來是總是那么忙和神秘。

  做為獎勵,這里有我提到的全部別名和函數的純文本版本,隨時可以復制粘貼到你的.bashrc。

(如果你已經一行一行的復制到這里了,哈哈,你發現你又浪費了生命的幾秒鐘~)  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #Productivity alias ls=ls --color=auto alias ll=ls --color -al alias grep='grep --color=auto' mcd() { mkdir -p $1; cd $1;} cls() { cd $1; ls;} backup() { cp $1{,.bak};} md5check() { md5sum $1 | grep $2;} 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() { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar e $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo '$1' cannot be extracted via extract() ;; esac else echo '$1' is not a valid file fi } #System info alias cmount=mount | column -t alias tree=ls -R | grep :$ | sed -e 's/:$//' -e 's/[^-][^/]*//--/g' -e 's/^/ /' -e 's/-/|/' sbs(){ du -b --max-depth 1 | sort -nr | perl -pe 's{([0-9] )}{sprintf %.1f%s, $1=2**30? ($1/2**30, G): $1=2**20? ($1/2**20, M): $1=2**10? ($1/2**10, K): ($1, )}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() { curl -u $1 --silent https://mail.google.com/mail/feed/atom | sed -e 's//fullcount.*/n/' | sed -e 's/.*fullcount//'} alias ipinfo=curl ifconfig.me curl ifconfig.me/host getlocation() { lynx -dump http://www.ip-adress.com/ip_tracer/?QRY=$1|grep address|egrep 'city|state|country'|awk '{print $3,$4,$5,$6,$7,$8}'|sed 'sip address flag '|sed 'sMy';} #Funny kernelgraph() { lsmod | perl -e 'print digraph lsmod {;;while(){@_=split/s /; print $_[0] - $_n for split/,/,$_[3]}print }' | dot -Tpng | display -;} alias busy=cat /dev/urandom | hexdump -C | grep ca fe

版權聲明:本文由 仆靈安 整理編輯。

原標題:一波是多少,最后一波

轉載注明出處:http://www.dn9ww09s.icu/assemble/15590.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 證書異常怎么解決方法,模塊異常4怎么解決

    證書異常怎么解決方法,模塊異常4怎么解決 相關圖片如何能解除模塊異常1在IIS6中同時啟用了asp.net 2.0和asp.net 4.0之后,網站程序可能會發生以下錯誤:system.web.httpexception:pathqq綁卡異常怎么解決...

  • ios是誰開發的,ios用什么開發

    ios是誰開發的,ios用什么開發 相關圖片ios開發難嗎Fmdb是面向對象的。它以OC的形式封裝SQLite的C語言API。它使用方便,不需要太多的數據庫操作知識。但也存在一些問題,比如跨平臺。因為它是用OC語言封裝ios 開發教程...

  • g04編程實例,g03編程實例

    g04編程實例,g03編程實例 相關圖片數控車編程實例注解Java服務器頁面(JSP)作為一種構建動態web頁面的技術,正變得越來越流行。JSP不同于ASP、PHP和工作機制。通常,JSP頁面是在執行時編譯而不是解釋的數控車g03編程實...

  • ADO.NET,NET是什么

    ADO.NET,NET是什么 相關圖片futurenet在使用ASP時,我們經常使用第三方控件來實現一些圖像功能。現在,隨著asp.net的引入,我們不再需要使用第三方控件來實現它,因為asp.net具有強大的功能來net開源框架...

  • 如何設置服務器ip地址,服務器ip地址大全

    如何設置服務器ip地址,服務器ip地址大全 相關圖片查詢app服務器ip地址本文給出了一個用PHP獲取服務器IP地址的實例。與您分享以供參考。具體分析如下:在PHP中,我們通常使用$_server['http_host']在URL中獲取時間同步服務器ip地址...

  • 本年累計余額怎么算,養老保險累計賬戶余額

    本年累計余額怎么算,養老保險累計賬戶余額 相關圖片銀行日記賬的本年累計怎么算財務人員手工記賬時,會有借貸后的余額,即累計余額,即每個科目后記錄余額。如果使用計算機記賬,可以查詢完成累計余額的計算。首先,創建一個表...

  • excel人民幣大寫函數,人民幣大寫公式

    excel人民幣大寫函數,人民幣大寫公式 相關圖片excel數字轉人民幣大寫SQL server函數將人民幣數字轉換為大寫形式的創建函數[dbo]。[f﹣num﹣(@num numeric(14,5))返回帶加密的varchar(100電子表格人民幣大寫函數...

  • 無法解決的問題下還有八種解決方案,下淋最快的解決方案

    無法解決的問題下還有八種解決方案,下淋最快的解決方案 相關圖片技術方案和解決方案目前,大多數使用MySQL的網站同時使用Memcache作為密鑰值緩存。盡管這種架構非常流行,并且有很多成功的案例,但它過于依賴Memcache,這實際上使Me問題解決方案格式...

  • const extern,extern static

    const extern,extern static 相關圖片extern說明本文主要介紹如何在開發中使用常量、靜態和外部關鍵字。如果你喜歡我的文章,你可以關注我的微博:你可以到曉瑤閣來了解我們的iOS培訓課程。稍后將更新更多內容。。。...

  • 怎樣獲取select的值,獲取select2選中的值

    怎樣獲取select的值,獲取select2選中的值 相關圖片jsp獲取select選中的值本文的示例描述了JavaScript獲取select值的方法。與您分享以供參考。具體分析如下:1。顯示的漢字編碼如下:document.getelementbyselect下拉框提交值...

熱評文章

  • kotlin android開發,安卓開發框架

    kotlin android開發,安卓開發框架 相關圖片android開發語言本文主要介紹Android開發的IDE、ADT、SDK、JDK、NDK等術語的定義。對這些概念感到困惑是件痛苦的事。本文簡要說明了這些術語的含義。讓我們共同努力android系統...

  • excel的工作簿是,excel多個工作簿匯總

    excel的工作簿是,excel多個工作簿匯總 相關圖片excel批量合并工作簿學校希望以Excel文件的形式提交校友記錄中收集到的校友電子郵件地址,方便校友團體向全體校友發出參加校慶80周年的邀請。校友記錄數據庫是access mdb格式一個工作...

  • php將html轉化為word,phpword中文手冊

    php將html轉化為word,phpword中文手冊 相關圖片html5 word文件本文的例子描述了在PHP中將上傳的word文件轉換成HTML的方法。與您分享以供參考。具體實現方法如下:上傳頁面:?12345678910121314!DOCTphpword轉html閱讀...

  • 如何防范漏洞,怎樣防范漏洞

    如何防范漏洞,怎樣防范漏洞 相關圖片xss漏洞防范1。數據庫下載漏洞攻擊原理:當使用access作為后臺數據庫時,如果有人通過各種方法知道或猜測服務器的access數據庫路徑和數據庫名,也可以下載access數漏洞是怎么產生的...

  • 迭代算法的例子,迭代重建算法

    迭代算法的例子,迭代重建算法 相關圖片迭代計算什么意思在網頁上實現樹結構有點麻煩。在一個新的MIS系統的開發中,我們的項目組廣泛使用了樹形結構,如人員的選擇和單元的選擇。該MIS系統的數據庫是Oracle 9i,o斐波那契...

  • js 數組對象排序,js對象數組進行快去排序

    js 數組對象排序,js對象數組進行快去排序 相關圖片json對象數組asp.net中的ArrayList對象是包含單個數據值的數據項的集合。如何創建ArrayList對象以及如何對ArrayList中數據項的內容進行排序?下面是數組對象去重...

  • 在數組中查找指定元素,數組添加元素

    在數組中查找指定元素,數組添加元素 相關圖片怎么刪除數組中的某個元素本文的示例描述了JavaScript判斷數組是否包含指定元素的方法。與您分享以供參考。具體如下:該代碼通過prototype定義數組方法,以便調用contain如何刪除數組中...

  • fplot用法示例,vbarray的用法

    fplot用法示例,vbarray的用法 相關圖片groupbyhiving用法本文主要介紹Oracle merge into的使用。您可以參考以下情況。如果表中已經存在一段數據,請更新它。如果不存在,插入新數據。如果不使用Oracle提供說的用法...

  • 什么是數據庫,數據庫有什么用

    什么是數據庫,數據庫有什么用 相關圖片數據庫類型對于SQL新手來說,空值的概念常常會引起混淆。他們經常認為null與空字符串“”是同一回事。事實并非如此。例如,以下語句完全不同:MySQL insert in數據庫有哪些類型...

  • 刪除分區會刪除數據嗎,數據庫分區

    刪除分區會刪除數據嗎,數據庫分區 相關圖片分區損壞恢復數據創建分區表后,可以直接將數據插入分區表,而不管數據放在哪個物理數據表中。在上一篇文章的后面,我們將幾個數據插入到創建的分區表中:50行=15名稱=code類=c移...

關注微信

变脸官网查询