windows下的命令行工具babun

2023-11-09

什么是babun

babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell。用官方的题目说就是A Windows shell you will love!

官方:http://babun.github.io/

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

这个包管理很方便,用法也简单,按照自己需要安装吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows下的命令行工具babun 的相关文章

  • LeetCode题目笔记——2428. 沙漏的最大总和

    文章目录 题目描述 截图 题目描述 题目难度 中等 方法一 遍历 代码 Python 方法一优化 代码 Python 代码 C 总结 题目描述 截图 这个题是上周的周赛里的第二题 当时做的时候只用了最简单的遍历方法 虽然通过了 但是也挺慢的
  • 【模拟集成电路】电荷泵(CP)设计

    电荷泵 CP 设计 前言 一 电荷泵 CP 原理 1 电流失配问题 2 开关管的时钟馈通问题 3 电荷注入问题 二 电荷泵 CP 电路 三 电荷泵性能测试 测试原理图 充电测试 放电测试 参考文献 各部分链接链接 前言 本文主要内容是对电荷
  • 2021-07-25

    神经网络 M P神经元 感知机 感知机 神经网络 M P神经元 1 M P神经元 模拟生物行为的数学模型 接手n个输入 来自其他的神经元 并给各个输入赋予权重计算加权和 再跟自己特有的阀值 比较 通常用减法 最后经过激活函数 模拟 抑制 和
  • matlab中的掩膜抠图

    改进版 矩阵中的循环操作非常耗时 so 用矩阵逻辑与操作替代for循环 one ones s img 1 s img 2 segM segM uint8 one for i 1 s img 1 for j 1 s img 2 if segM
  • 【学习笔记】模糊控制算法

    本文目录 0 前言 1 概述 2 模糊集合 2 1 集合和论域 2 2 模糊集合的概念 2 3 模糊集合的表示方式 2 4 模糊集合的运算 3 模糊关系与模糊关系合成 3 1 笛卡尔积 3 2 关系与模糊关系 3 3 模糊关系的运算 3 4
  • ZYNQ 库函数学习之SPI

    SPI是串行外设接口 Serial Peripheral Interface 的缩写 是一种高速的 全双工 同步的通信总线 并且在芯片的管脚上只占用四根线 节约了芯片的管脚 同时为PCB的布局上节省空间 提供方便 正是出于这种简单易用的特性
  • Flex布局实战详解

    Flex布局详解 1 父项属性 flex direction 设置主轴的方向 justify content 设置主轴上的子元素排列方式 flex wrap 设置子元素是否换行 align content 设置侧轴上的子元素排列方式 多行
  • 布隆过滤器(Bloom Filter)

    1 引言 通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景 一般想到的是将集合中所有元素保存起来 然后通过比较确定 链表 树 散列表 又叫哈希表 Hash table 等等数据结构都是这种思路 但是随着集合中元素的增加 我们需要的
  • 大神之路-起始篇

    欢迎关注 WeiyiGeek 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 全栈实践 再到 放弃学习 涉及 网络安全运维 应用开发 物联网IOT 学习路径 个人感悟 等知识 花开堪折直须折 莫待无花空折枝 本章目
  • Linux 搭建 JumpServer 堡垒机

    跳板机概述 跳板机就是一台服务器 开发或运维人员在维护过程中首先要统一登录到这台服务器 然后再登录到目标设备进行维护和操作 跳板机缺点 没有实现对运维人员操作行为的控制和审计 使用跳板机的过程中还是会出现误操作 违规操作导致的事故 一旦出现
  • java I/O流的一些常用操作

    java i o 的一些操作 文件流 FileInputStream FileOutputStream FileReader FileWriter 这四个类是专门操作文件流的 用法高度相似 区别在于前面两个是操作字节流 后面两个是操作字符流
  • CentOS 7 挂载本地光盘作为镜像源

    1 上传iso文件到 usr local src 一定要确保这个ISO文件上传完毕后再进行下面的操作 2 创建挂载目录 mkdir media CentOS7 3 挂载iso文件 mount t iso9660 o loop usr loc
  • 【尚硅谷】SSM框架之SSM学习笔记

    MyBatis MyBatis简介 MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis 2010年6月这个项目由Apache Software Foundation迁移到了Google Code 随着开发团队转投
  • 《Web应用安全权威指南》学习笔记

    第1章 什么是Web应用的安全隐患 第2章 搭建试验环境 邮件发送服务器Postfix POP3服务器Dovecot SSH服务器OpenSSH Web应用调试工具Fiddler 第3章 Web安全基础 HTTP回话管理 同源策略 Cook
  • 2022全国职业技能大赛-网络安全赛题解析总结④(超详细)

    2022全国职业技能大赛 网络安全赛题解析总结 自己得思路 模块A 基础设施设置与安全加固 20分 模块B 网络安全事件响应 数字取证调查和应用安全 40分 模块C CTF夺旗 攻击 20分 模块D CTF夺旗 防御 20分 有什么不懂得可
  • 【9.19】正则表达式——sed、awk

    9 19 正则表达式 sed awk 9 4 9 5 sed 1 sed 匹配 2 sed打印具体行数 3 sed 替换功能 9 6 9 7 awk 1 awk 匹配 2 awk 数学运算表达式 3 两个字段比较大小 4 内置变量 OFS
  • 教你5步学会用Llama2:我见过最简单的大模型教学

    在这篇博客中 Meta 探讨了使用 Llama 2 的五个步骤 以便使用者在自己的项目中充分利用 Llama 2 的优势 同时详细介绍 Llama 2 的关键概念 设置方法 可用资源 并提供一步步设置和运行 Llama 2 的流程 Meta
  • Linux shell编程学习笔记32:declare 命令

    0 前言 在 Linux shell编程学习笔记16 bash中的关联数组 https blog csdn net Purpleendurer article details 134053506 spm 1001 2014 3001 550
  • C 库函数 - gmtime()

    描述 C 库函数 struct tm gmtime const time t timer 使用 timer 的值来填充 tm 结构 并用协调世界时 UTC 也被称为格林尼治标准时间 GMT 表示 声明 下面是 gmtime 函数的声明 st
  • C 库函数 - mktime()

    描述 C 库函数 time t mktime struct tm timeptr 把 timeptr 所指向的结构转换为自 1970 年 1 月 1 日以来持续时间的秒数 发生错误时返回 1 声明 下面是 mktime 函数的声明 time

随机推荐