windows下的命令行工具babun

来源:http://www.cnblogs.com/qaszxc/archive/2016/12/20/6204660.html
-Advertisement-
Play Games

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


什麼是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要求的。

測試安裝成功

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

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

Babun配置

預設根目錄

%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

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

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中填入

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

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

#預設使用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

vim ~/.minttyrc

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

開發環境配置

pip

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

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

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使用語法

pact: Installs and removes Cygwin packages.

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

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

常用軟體安裝

#安裝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

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用Android Studio 一、在build.gradle(Module:app)添加代碼 下載,調用插件 1 apply plugin: 'com.android.application' 2 3 android { 4 compileSdkVersion 24 5 buildToolsVe ...
  • 自從Android6.0發佈以來,在許可權上做出了很大的變動,不再是之前的只要在manifest設置就可以任意獲取許可權,而是更加的註重用戶的隱私和體驗,不會再強迫用戶因拒絕不該擁有的許可權而導致的無法安裝的事情,也不會再不征求用戶授權的情況下,就可以任意的訪問用戶隱私,而且即使在授權之後也可以及時的更改 ...
  • 1. 操作系統中的棧和堆 我們先來看看一個由C/C++/OBJC編譯的程式占用記憶體分佈的結構: 棧區(stack):由系統自動分配,一般存放函數參數值、局部變數的值等。由編譯器自動創建與釋放。其操作方式類似於數據結構中的棧,即後進先出、先進後出的原則。 例如:在函數中申明一個局部變數int b;系統 ...
  • 在平攤分析中,執行一系列數據結構操作所需要的時間是通過對執行的所有操作求平均而得出的。 平攤分析可以用來證明在一系列操作中,通過對所有操作求平均之後,即使其中單一的操作具有較大的代價,平均代價還是很小的。平攤分析與平均情況分析的不同之處在於它不牽涉到概率;平攤分析保證在最壞情況下,每個操作具有平均性 ...
  • sysfs 是一個基於ramfs的文件系統,在2.6內核開始引入,用來導出內核對象(kernel object)的數據、屬性以及到用戶空間。與同樣用於查看內核數據的proc不同,sysfs只關心具有層次結構的設備信息,比如系統中的匯流排,驅動以及已經載入的模塊等,而諸如PID等信息還是使用proc來管 ...
  • 本文由ilanniweb提供友情贊助,首發於爛泥行天下 想要獲得更多的文章,可以關註我的微信ilanniweb confluence是一個專業的企業知識管理與協同軟體,可以用於構建企業wiki。通過它可以實現團隊成員之間的協作和知識共用。 網上有關confluence的教程比較多,在此我們以conf... ...
  • NULL ...
  • 打開驅動精靈 系統診斷 找一個可修複的驅動點擊 選擇連不上網中的查看更多 有連不上網路,網路連接受限,解決無線間歇性掉網問題 進入電腦管理 設備管理 修改無線網路屬性(名稱含有wireless) 問題可以解決了! ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...