babun:A Windows shell you will love!


轉載自:http://www.hi-linux.com/2016/05/05/%E8%AE%A9Windows%E7%94%A8%E4%B8%8AOMZ%E7%9A%84%E7%A5%9E%E5%99%A8Babun/

 

什么是babun

babun是windows上的一個第三方shell,在這個shell上面你可以使用幾乎所有linux,unix上面的命令,他幾乎可以取代windows的shell。用官方的題目說就是A Windows shell you will love!

babun的幾個特點

使用babun無需管理員權限
先進的安裝包管理器(類似於linux上面的apt-get或yum)
預先配置了Cygwin和很多插件
擁有256色的兼容控制台
HTTP(S)的代理支持
面向插件的體系結構
可以使用它來配置你的git
集成了oh-my-zsh
自動升級
支持shell編程,內置VIM等

Cygwin

babun的核心包括一個預配置的Cygwin。cygwin是一個非常好的工具,但有很多使用技巧,使你能夠節省大量的時間。babun解決了很多問題,它里面包含了很多重要的軟件包,是你能夠第一時間能夠使用它們。

包的管理:
babun的包管理在shell輸入:pact,這類似於:apt-get或yum,來非常方便的管理軟件包,安裝、升級、搜索和刪除,讓你省區很多麻煩,shell輸入pact –help能夠獲得幫助信息。

shell

babun的shell通過調整,已達到最佳的用戶體驗,babun有兩個配置之后馬上使用的shell(默認使用zsh),babun的shell具有以下的特點

語法高亮
具有unix的工具
軟件開發工具
git-語義提示
自定義腳本和別名
等等………

Console

babun支持HTTP代理,只需添加地址和HTTP代理服務器的憑據。babunrc文件所在文件夾執行源babunrc啟用HTTP代理。目前還不支持SOCKS代理。

開發者工具

babun提供多種方便的工具和腳本,是你的開發工作更輕松,具有的功能如下

編程語言(python,Perl, etc等)
git(各種各樣的別名調整)
UNIX工具((grep, wget, curl, etc)
vcs (svn, git)
oh-my-zsh
自定義腳本(pbcopy, pbpaste, babun, etc)

babun官網鏈接:http://babun.github.io/

什么是cmder

cmder是window下的多標簽命令行工具,可以方便的新建cmd、cmd admin、powershell、powershell admin多種命令行,設置很多,功能強大。

安裝

cmder安裝

下載:http://cmder.net/

cmder是開箱即用的軟件就不在詳述了,具體使用可參考官網說明。

babun安裝

下載:http://babun.github.io/

默認安裝

下載完成之后解壓babun,直接雙擊目錄中install.bat腳本(需管理員權限)進行安裝。幾分鍾之后自動安裝完成,默認會被安裝在%userprofile%\.babun目錄下。

自定義安裝位置

通過cmd命令行在執行install.bat時指定參數/t或/target指定安裝的目錄。

執行:babun.bat /t c:\babun

安裝好之后會在c:\babun目錄下生成一個.babun的目錄,babun所有文件都在這個目錄中。注意安裝目錄最好不要有空格,這是cygwin要求的。

測試安裝成功

安裝完畢后,一般需要以下兩個命令檢查

1
2
babun check(用於判斷環境是否正確)
babun update(用於判斷是否有新的更新包)

Babun配置

默認根目錄

1
%userprofile%\.babun\cygwin\home\Mike

windows cmd內置命令顯示中文

babun默認編碼是UTF-8的,而windows的cmd命令輸出是GBK編碼的,所以在Babun里面運行ipconfig等windows命令時,中文會是一大堆亂碼。

解決:在babun自帶的shell(mintty)右上角右鍵options-text,在character set選擇default或者GBK,之后執行ipconfig等cmd內置的命令時就正常顯示中文了。

如果把Babun的編碼改成GBK的話,命令的中文輸出倒是正常了,PS1卻會出現一個亂碼字符,如圖

去掉命令提示符亂碼

babun內置兩個shell,默認是zsh,另一個是bash,設置成中文后命令提示符最后會有一個亂碼字符,看着很不爽,要修改PS1變量去掉。把亂碼字符替換為:>>

bash

1
2
vi /usr/local/etc/babun.bash
PS1="\[\033[00;34m\]{ \[\033[01;34m\]\W \[\033[00;34m\]}\[\033[01;32m\] \$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" ) \[\033[01;31m\]>>\[\033[00m\]"

zsh

1
2
3
4
5
vi ~/.oh-my-zsh/custom/babun.zsh-theme

PROMPT='%{$fg[blue]%}{ %c } \
%{$fg[green]%}$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" )%{$reset_color%} \
%{$fg[red]%}%(!.#.>>)%{$reset_color%} '

這樣改好后命令提示符就變成: { ~ } >>

注:將編碼修改成GBK后,ls命令中文文件名的會出現亂碼。最好在Babun環境中使用UTF-8編碼,ipconfig等windows指令用cmder或默認cmd執行就行了。

將Babun整合到ConEmu/cmder

在cmder窗口右上角右鍵Settings>Startup>Tasks,點+號添加一個新task,命名為babun。

在Task parameters中填入

1
/icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"

在Commands中填入以下任意一種都可以

1
2
3
4
5
#默認使用ZSH
%userprofile%\.babun\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe

#使用自定義mintty配置
%userprofile%\.babun\cygwin\bin\mintty.exe -t "%userprofile%\.babun\cygwin\etc\minttyrc"

保存后,建立一個新終端時選Babun就可用了。

配置個性化的mintty

1
2
3
4
5
6
vim ~/.minttyrc

CursorType=block
Term=xterm-256color
Font=Source Code Pro Semibold
FontHeight=10

開發環境配置

pip

Babun內置了Python、Perl等解釋器。cygwin自帶的python沒有pip,需手動安裝。

直接執行下面這個命令就好了。

1
wget https://bootstrap.pypa.io/get-pip.py -O - | python

有了pip就可以自由的安裝諸如ipython之類的東西,還有包羅萬象的類庫。

常用插件

Babun默認是安裝了Oh My ZSH的,這里可以根據自身情況安裝一些插件。具體可參考利用Oh-My-Zsh打造你的超級終端一文

包管理器使用

babun提供一個叫pact包管理工具,類似於linux上面的apt-get或yum的包管理工具。

pact使用語法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pact: Installs and removes Cygwin packages.

Usage:
"pact install <package names>" to install given packages
"pact remove <package names>" to remove given packages
"pact update <package names>" to update given packages
"pact show" to show installed packages
"pact find <patterns>" to find packages matching patterns
"pact describe <patterns>" to describe packages matching patterns
"pact packageof <commands or files>" to locate parent packages
"pact invalidate" to invalidate pact caches (setup.ini, etc.)
Options:
--mirror, -m <url> : set mirror
--invalidate, -i : invalidates pact caches (setup.ini, etc.)
--force, -f : force the execution
--help
--version

pact使用比較簡單,不在詳述了!

常用軟件安裝

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
#安裝tmux
pact install tmux

#安裝screen
pact install screen

#安裝zip
pact install zip

#安裝svn
pact install subversion

#安裝lftp命令
pact install lftp

#安裝p7zip命令
pact install p7zip

#基於openssh的socks https代理
pact install connect-proxy

#安裝linux基礎命令行工具more/col/whereis等命令
pact install util-linux

#安裝dig命令
pact install bind-utils

#安裝Telnet等常用網絡命令
pact install inetutils

#安裝python環境
pact install python
pact install python-crypto

這個包管理很方便,用法也簡單,按照自己需要安裝吧!

總結

Babun雖然沒有多少技術創新,但是它博采眾長,追求極致的體驗,把其他同類軟件狠狠的甩在了后面。Babun是近年來最好的在Windows下使用Linux Shell的一站式解決方案。

無論是被迫使用Windows的Linuxer,還是離不開Windows卻又羡慕Linux下強大的命令行工具的PC用戶,Babun都是一個不容錯過的好東西,相信你們會愛上它的。

參考文檔

http://www.google.com
http://babun.github.io/
http://www.cnblogs.com/Leekin/p/4830868.html
http://0x0d.im/archives/windows-build-linux-like-environment.html

Mike wechat
更多精彩內容,請關注微信公眾號Hi-Linux,第一時間推送給您!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM