• babun安装,整合到cmder


    babun

    Babun的特性:
            预装了Cygwin以及许多的插件
            默认的命令行安装工具,没有管理员权限要求。
            预装了 pact工具,一个高级的包管理器,类似 apt-get或yum
            xTerm-256兼容的控制台
            支持Http(s)的代理
            面向插件的架构
            配置了 git 和 shell
            集成 oh-my-zsh
            自动更新机制 
            集成右键菜单,在此打开Babun
    
    Cygwin
            Babun的核心就是Cygwin,不过它经过了配置。Cygwin是一个不错的工具,但是有很多问题需要花一些时间来配置它,让它易于应用。Babun做了一些配置,并且包含了很多重要的工具包,使得它非常易用。
    Package manager
            Babun提供了一个包管理器,pact。类似于apt-get 或
    yum。pact使得安装,搜索,更新和删除cygwin的工具包非常容易。pact
    --help快去看一下它怎么使用吧。
    Shell
            Babun的shell经过了微调,这样可以提供更好的用户体验。有两个预配置的shell - bash 和 zsh,可以马上使用。zsh是默认的shell。Babun的shell具有如下的特征:
            语法高亮
            UNIX工具
            软件开发工具
            git改进
            自定义的脚本和别名
            还有一些其他功能
    Console
            Mintty是在babun中用的控制台,它具有xterm-256模式的特征,良好字体简洁画面。
    Proxying
            Babun支持HTTP代理。只需要在Home目录下的.babunrc文件中配置可信的HTTP代理服务器,执行source .babunrc 开启HTTP代理即可。现在还不支持Socks代理
    Developer tools
            Babun提供了许多软件包,方便的工具和脚本,使得我们的工作更容易完成。包括如下的工具:
            编程语言 Python,Perl等等
            git 进行少许修改,添加了很多别名
            UNIX工具,比如grep,wget,curl等
            vcs 包括svn,git
            oh-my-zsh
            自定义的脚本,例如pbcopy,pbpaste,babun等
    
    插件结构
            Babun有一个非常小的微内核,cygwin,一些bash脚本,以及一个插件结构。它的意思是几乎所有的工具都可以以插件形式放入babun的世界。当前babun的插件有如下的几个:
            cacert,core,git,oh-my-zsh,pact,cygdriver,dist,shell
    Auto-update
            自更新时一个非常暖心的功能。许多Cygwin工具只是简单的bash脚本,一旦安装了,就无法很好地获取新的版本。或者删除旧版本或者使用更新的版本覆盖它,这样就丢掉了之前的设置。
            Babun包含了一个自动更新的功能,它可以更新微内核,插件甚至是所基于的cygwin。你的本地设置或自定义保存在home目录,在更新中home目录下的文件不会被删除或覆盖。
    
    Installer
            Babun添加了一个静默命令行安装脚本,安装时不需要Windows的管理员权限
    默认安装

    下载完成之后解压babun,直接双击目录中install.bat脚本(需管理员权限)进行安装。几分钟之后自动安装完成,默认会被安装在%userprofile%.babun目录下。

    自定义安装位置

    通过cmd命令行在执行install.bat时指定参数/t或/target指定安装的目录。

    执行:babun.bat /t c:abun

    例如安装到D:Program Filesabun里面,就直接命令

    install.bat /t "D:Program Filesabun"

    会自动在babun文件夹内生产.babun文件夹

    如果按照这种方式安装,那么最好配置环境变量,下面整合到cmder里面的时候用

    默认的安装好之后会在c:abun目录下生成一个.babun的目录,babun所有文件都在这个目录中。注意安装目录最好不要有空格,这是cygwin要求的。

    虽然.babun在%babun%中,但是还有很多要安装的插件并不在%babun%,如果想设置成可迁移的,在环境变量中添加

    效果:

    按照这种方式安装的话,git可能会出现问题,如果你win里面已安装git,可以将%userprofile%内的.gitconfig替换%babun%内的.gitconfig,主要是别名,用户名

    这样的话,虽然git都可以使用,不管是本身git bash,还是babun内的git,使用感觉上是一致的,但是其实是两套git,可以删除掉babun中的git,babun命令里面自动就会使用window中安装的。

    其实设置HOME环境变量不太好,可能很多软件会有问题,目前仅发现git,网上还有Emacs,可能还会有其他的。

    测试安装成功

    安装完毕后,一般需要以下两个命令检查

    babun check(用于判断环境是否正确)
    babun update(用于判断是否有新的更新包)

    默认根目录

    %userprofile%.babuncygwinhomeqhong

    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="[33[00;34m]{ [33[01;34m]W [33[00;34m]}[33[01;32m] $( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "" ) [33[01;31m]>>[33[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这样改好后命令提示符就变成: { ~ } >>

    添加国内镜像:(C:Usersqhong.babuncygwinhomeqhong.pact),发现默认的也挺快的,不一定要添加

    PACT_REPO=http://mirrors.sohu.com/cygwin/

    整个文件为:

    PACT_REPO=http://mirrors.sohu.com/cygwin/
    PACT_REPO=http://mirrors.kernel.org/sourceware/cygwin/
    PACT_REPO=http://mirrors.neusoft.edu.cn/cygwin/
    
    # POPULAR HTTP REPOSITORIES
    # http://mirror.switch.ch/ftp/mirror/cygwin/
    
    # POPULAR FTP REPOSITORIES
    # ftp://mirror.switch.ch/mirror/cygwin/
    # ftp://ftp.inf.tu-dresden.de/software/windows/cygwin32/
    # ftp://mirrors.kernel.org/sourceware/cygwin/
    # ftp://gd.tuwien.ac.at/gnu/cygwin/
    # ftp://ftp.iij.ad.jp/pub/cygwin/
    # ftp://mirror.cpsc.ucalgary.ca/cygwin.com/
    
    # FULL LIST
    # http://cygwin.com/mirrors.html
    View Code

    整合cmder:

    在cmder窗口右上角右键Settings>Startup>Tasks,点+号添加一个新task,命名为babun。

    在Task parameters中填入

    /icon "%userprofile%.babuncygwininmintty.exe" /dir "%userprofile%"

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

    #默认使用ZSH
    %userprofile%.babuncygwininmintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe
    #使用自定义mintty配置
    %userprofile%.babuncygwininmintty.exe -t "%userprofile%.babuncygwinetcminttyrc"

    如果不是采用默认方式安装的,且配置了babun环境变量,那么将userprofile替换成babun即可!

    效果:

    常用软件安装:

    #安装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启动速度,关闭开启检查:

    .babunrc文件中取消下面的注释:

    export DISABLE_CHECK_ON_STARTUP="true"

    babun内zsh使用:

    查看当前环境内的shell:

    { ~ }  » echo $SHELL                                                                            ~
    /bin/zsh

    查看系统自带哪些shell:

    { ~ }  » cat /etc/shells                                                                        ~
    /bin/sh
    /bin/ash
    /bin/bash
    /bin/dash
    /bin/mksh
    /bin/pdksh
    /bin/posh
    /bin/tcsh
    /bin/zsh
    /usr/bin/sh
    /usr/bin/ash
    /usr/bin/bash
    /usr/bin/dash
    /usr/bin/mksh
    /usr/bin/pdksh
    /usr/bin/posh
    /usr/bin/tcsh
    /usr/bin/zsh

    https://github.com/babun/babun

    https://blog.jamespan.me/2015/04/09/babun-the-shell/

    https://www.hi-linux.com/posts/57246.html

  • 相关阅读:
    08 组件组合使用
    07 React 组件三大属性-----refs
    06 组件三大属性 ----- props
    05 组件三大属性----state
    04 定义组件的两种方式
    03 动态展示列表数据
    02 创建虚拟DOM的两种方式
    C++动多态和静多态
    django1.7+nginx1.4.4的static配置
    redis client API-----------python
  • 原文地址:https://www.cnblogs.com/hongdada/p/7989236.html
Copyright © 2020-2023  润新知