本篇文章給大家?guī)?lái)了linux操作系統(tǒng)下替代工具的相關(guān)知識(shí),其中包括linux中安裝和使用bat命令,希望對(duì)大家有幫助。
在 Linux 操作系統(tǒng)下,我們經(jīng)常使用 cat 命令去連接多個(gè)文件并打印到標(biāo)準(zhǔn)輸出,合成幾個(gè)文件為一個(gè)目標(biāo)文件,追加幾個(gè)文件到目標(biāo)文件中。
最近我在 GitHub 上發(fā)現(xiàn)了一個(gè)具有相似作用的命令叫做 “Bat”,它是 cat 命令的替代品,具有一些例如語(yǔ)法高亮、 Git 集成和自動(dòng)分頁(yè)等非??岬奶匦?。
在這篇文章中,就來(lái)給大家介紹下如何在 Linux 中安裝和使用 bat 命令。
1、bat
安裝 bat
Arch Linux
bat 可以在 Arch Linux 操作系統(tǒng)的默認(rèn)軟件源中進(jìn)行獲取,可直接使用 pacman 命令在任何基于 Arch 的系統(tǒng)上來(lái)安裝它。
pacman -S bat
Fedora
dnf install bat
macOS
brew install bat
Ubuntu 21.10
我是通過(guò) Ubuntu 環(huán)境下安裝的 bat,從 bat 的發(fā)布頁(yè)面下載.deb文件,可執(zhí)行如下命令進(jìn)行下載和安裝。
sudo apt-get install wget wget https://github.com/sharkdp/bat/releases/tag/v0.18.3/bat_0.18.3_amd64.deb sudo dpkg -i bat_0.18.3_amd64.deb
對(duì)于其他系統(tǒng),也許需要從軟件源編譯并安裝,或參考 GitHub 上 bat 的其他操作系統(tǒng)安裝方式。
bat 命令的使用
bat 命令的使用與 cat 命令的使用非常相似。
使用 bat 命令創(chuàng)建一個(gè)新文件:
bat > jiaoben1.sh
使用 bat 命令查看文件內(nèi)容:
bat jiaoben1.sh
使用 bat 命令同時(shí)查看多個(gè)文件:
bat jiaoben1.sh jiaoben2.sh
使用 bat 命令將多個(gè)文件的內(nèi)容合并到一個(gè)單獨(dú)的文件中:
bat jiaoben1.sh jiaoben2.sh > test.txt
上述介紹了 bat 創(chuàng)建新文件、查看文件內(nèi)容、將多個(gè)文件的內(nèi)容合并到一個(gè)單獨(dú)的文件中的方式。
接下來(lái),我們就來(lái)看一下 bat 命令一些非??岬奶匦浴?/p>
bat 命令支持大多數(shù)編程和標(biāo)記語(yǔ)言的語(yǔ)法高亮,那么我們就來(lái)使用 cat 和 bat 命令展示下 jiaoben1.sh 里面的內(nèi)容做個(gè)鮮明的對(duì)比。
可以看出,cat 命令以純文本格式顯示文件的內(nèi)容,而 bat 命令顯示了語(yǔ)法高亮和整齊的文本對(duì)齊格式。
從上面 bat 命令的輸出,可以看出是有表格線的,如果你只想顯示行號(hào)(而沒(méi)有表格)可以使用-n參數(shù)來(lái)實(shí)現(xiàn),雖然 cat 執(zhí)行也會(huì)顯示行號(hào),但還是沒(méi)有 bat 執(zhí)行輸出后的效果美觀。
bat -n jiaoben2.sh
bat 命令支持 Git 集成,可以輕松查看和編輯 Git 存儲(chǔ)庫(kù)中的文件,bat 與 Git 連接可顯示關(guān)于索引的修改。
bat 支持自動(dòng)分頁(yè),這點(diǎn)特性也是需要值得注意的。
支持分頁(yè)意思也就是說(shuō),當(dāng)文件的輸出內(nèi)容超出屏幕顯示的時(shí)候,bat 命令會(huì)自動(dòng)將自己輸出的內(nèi)容傳到 less 命令中,你將可以使用回車(chē)鍵一頁(yè)一頁(yè)的查看輸出內(nèi)容,使用空格鍵可直接跳轉(zhuǎn)至文末最后一行。
當(dāng)你使用 bat 命令時(shí)這些都是不必要的,bat 命令將自動(dòng)傳輸跨越多個(gè)頁(yè)面的文件的輸出。
bat jiaoben3.sh
對(duì)比下 cat 命令,查看 jiaoben3.sh 跨多個(gè)頁(yè)面文件內(nèi)容時(shí),提示符會(huì)直接跳到文件的最后一頁(yè),將無(wú)法看到跨多個(gè)頁(yè)面文件開(kāi)頭及中間部分的內(nèi)容。
cat jiaoben3.sh
如果你想要通過(guò) cat 來(lái)實(shí)現(xiàn) bat 命令的效果,則需要去使用 cat 的輸出傳輸?shù)?less 命令中去,這樣就可以從開(kāi)頭部分一頁(yè)一頁(yè)的查看內(nèi)容了。
cat jiaoben3.sh | less
同樣,這種方式也是可以使用回車(chē)鍵一頁(yè)一頁(yè)的查看輸出內(nèi)容以及使用空格鍵可直接跳轉(zhuǎn)至文末最后一行。
bat 定制主題
目前 bat 定制主題有 24 種,包括:Coldark-Cold、GitHub、Monokai Extended Light、OneHalfDark、Solarized (light)、TwoDark、Visual Studio Dark+、base16、zenburn 等;
如果你不喜歡默認(rèn)主題,也是可以根據(jù)自己的風(fēng)格進(jìn)行修改,只需執(zhí)行:bat –list-themes命令,即可顯示可用的主題。
# bat --list-themes Theme: 1337 // Output the square of a number. fn print_square(num: f64) { let result = f64::powf(num, 2.0); println!("The square of {:.2} is {:.2}.", num, result); } ......
例如你要選擇Dracula主題,可直接執(zhí)行:bat –theme=Dracula 文件名
如果你想永久改變某一個(gè)主題,可使用export BAT_THEME="Dracula"在你的 shell 啟動(dòng)文件,以使更改為永久。
您可以使用–style參數(shù)選項(xiàng)來(lái)控制bat輸出的外觀,配置元素包括:行號(hào)、文件頭、網(wǎng)格邊框、Git修改來(lái)顯示除文件內(nèi)容之外的東西,參數(shù)是一個(gè)逗號(hào)分隔的列表。
–style=numbers,changes可以使用僅顯示 Git修改和行號(hào),而不顯示網(wǎng)格和文件標(biāo)題,設(shè)置BAT_STYLE環(huán)境變量以使這些更改為永久。
關(guān)于