Linux命令列增強版
0. 前言
週末大早上的,沒事做,瞭解下這幾個命令了,哎~~~。
正常情況下,Linux下的命令列,介面比較醜,命令列命令有時候也不是很友好,下面就通過這幾個命令或工具,美化一下命令列。
1. oh-my-zsh
這個就沒有什麼可以講的了,直接從github上clone下來,安裝github上的readme文件進行安裝。https://github.com/robbyrussell/oh-my-zsh
2. cat 命令
可以使用bat命令,代替預設的cat命令,列印文字內容,可以進行高亮顯示,比較好用。github地址:https://github.com/sharkdp/bat
我是在debian系統,直接在 https://github.com/sharkdp/bat/releases 下載,然後dpkg -i *.deb 即可
在 ~/.zshrc 加上 alias cat = 'bat'
3. ping 命令
可以使用prettyping 命令來代替ping命令。這個prettyping命令,看名字就知道,比預設的ping 命令會好看很多。哈哈。
1 curl -O https://raw.githubusercontent.com/denilsonsa/prettyping/master/prettyping 2 chmod +x prettyping 3 mv prettyping /usr/local/bin/
在 ~/.zshrc alias ping = 'prettyping'
4. autojump 命令
用於快速切換歷史進入過的目錄
apt-get install autojump
然後在 ~/.zshrc 中的 plugins 增加 autojump, 以後就可以通過 j 命令 tab tab 快速切換目錄,不過這個好像沒有下面要介紹的這個好用。
5. ctrl+r命令
在終端裡,使用fzf命令代替ctrl+r命令反向搜尋。具體安裝參考 https://github.com/junegunn/fzf
1 git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf2 ~/.fzf/install 3 source ~/.zshrc
使用方法
COMMAND [DIR]/**<TAB>
kill -9 <TAB>
擴充套件一個預覽的功能,在 ~/.zshrc 中增加
alias preview="fzf --preview 'bat --color \"always\" {}"
6. top命令
這個就是美化top命令,通過 apt-get install htop
7. diff 命令
可以通過 diff-so-fancy 命令來代替預設的diff命令,來對比兩個檔案。 參考 https://github.com/so-fancy/diff-so-fancy
8. find 命令
使用fd命令來代替find命令,預設的find命令效能比較差,沒有建立資料庫及快取,每次都是讀取磁碟檔案。https://github.com/sharkdp/fd/ 直接在 https://github.com/sharkdp/fd/releases 下載 deb包安裝
fd -e zip -x unzip
fd [模糊檔名] [-e 字尾] [-x 找到後執行命令]
9. du 命令
有時候我們需要用du檢視當前檔案的磁碟佔用。並以友好介面展現。
apt-get install ncdu
alias du="ncdu --color dark -rr -x --exclude .git --exclude node_modules"
10. man 命令
平時我們遇到不會的命令,都會用到man查一下文件(其實是百度一下啦),而往往我們只是忘記了這個命令需要加什麼引數。不需要了解太多的文件的內容和技術細節,這個時候就有一個工具 tldr工具。 TL;DR Too Long; Didn't Read
有很多種安裝方式,應該比較符合大眾的就是 pip 或 npm 方式了。
1 pip install tldr 2 pip install tldr.py 3 npm install -g tldr 4 alias help='tldr'
11. grep 命令
經常用grep進行文字內容過濾,平時的命令組合 netstat -anop | grep 8080 之類的,就沒有太大關係,但是如果是多檔案目錄,需要查詢目錄下,哪個檔案包含了某些內容,只用grep就有點麻煩了,這個時候可以使用 ack 命令。
1 apt-get install ack-grep 2 ack foo --js -A 2 -B 2 #在當前目錄下,查詢js檔案中包含foo文字,並列印與其相關的上下2行