Windows终端之选:Git Bash美化
首先根据网传资料梳理:
- cmder 本质上为Cmd增强版。
- babun 集成了cygwin和其它一些东西,体积较大。
- PowerShell 启动慢,非系统管理员用不上那些管理指令。
- Git Bash 很轻巧,一般够用,本质上是mingw64,功能少。
- WSL (Ubuntu on Windows)速度快,对linux的东西支持好,可以装上zsh和tmux,但是对windows的支持却不好.
- cygwin 启动比git bash稍慢,不过基本开了就不关,所以可以接受,运行速度可以,能安装zsh和tmux等等.
根据需求,我选择了Git Bash,基本满足了我的需求,也简单方便。
Git-Bash, 是 Git 官网 上提供的一个 Git 开发工具包里的一个命令行组件. Git-Bash 源自 MinGW, 是一个用于开发原生 Window 应用的开发环境, 提供了针对 WIn32 应用的 GCC、GNU binutils 等工具.
Git-Bash 美化窗口和字体
个性化分析后,选择了OS X 系统默认的Monaco 字体。
但是 Monaco 没有加入对中文的支持,而且大多数编辑器没有双字体设置功能,所以将字体设置成 Monaco 后,中文会以宋体显示,不美观。
那么有什么方法能同时兼顾中英文,让字体都显示得好看呢?
使用字体映射(Fontlink)。
Fontlink 是 Windows 采用的一种类似虚拟字体的技术。使用 Fontlink 时,某个字体可以和多个其它的字体建立连接关系。连接后,该字体通常被称作主字体,而其它那些与之连接的字体称作连接字体。例如我们将主字体 Monaco 映射一个连接字体方正兰亭黑,在输出英文时会以主字体 Monaco 显示;而在输出中文时,Windows 在主字体 Monaco 中没有找到支持中文的字体信息,那么会在连接字体方正兰亭黑中继续搜索,显然方正兰亭黑是支持中文的,所以输出中文时会以方正兰亭黑显示,美观多了。
怎么使用字体映射(Fontlink)呢?
通过修改注册表的方式。
按快捷键 Win+R 打开“运行”窗口,输入“regedit”后回车打开“注册表编辑器”,进入路径[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
,在右侧空白处右击–>新建–>字符串值,重命名为“Monaco”,打开后进行编辑,格式是xxx.ttf,xxx,128,96
,这里写为分别Monaco.ttf,Monaco,128,96``是“字体文件名,字体名,缩放因子高,缩放因子宽”,“缩放因子”可以为空。
这个“缩放因子”是个重点,因为将 Monaco 映射方正兰亭黑后,默认情况下中文显示是扁的。在网上找了半天也找不出详细的资料,只知道是调节字体缩放(可以理解成高宽比)的,当值为“128,96”时,字体不会被缩放,也就是默认值。
在 Git-Bash 中我们输入以下代码: vi ~/.minttyrc
,并添加下列内容。
1 | Locale=zh_CN |
然后重启 Git-Bash, 即可看到新的主题配色。
Git-Bash 修改前缀 (隐藏用户@主机)
有时候经常嫌一层一层目录实在太长太占地方, 而且截屏时也不方便把全路径显示出来. 所以需要隐藏起来会比较方便, 需要看全路径的话一句 pwd
就显示了.
在 Git-Bash 中我们输入以下代码: vi ~/.bash_profile
, 然后把以下内容添加到配置文件里面
1 | Shows Git branch name in prompt. |
Git-Bash 小技巧
常见命令
操作 | 命令 |
---|---|
进入目录 | cd |
显示当前目录 | pwd |
创建目录 | mkdir 目录名 |
创建目录 | mkdir -p 目录路径 |
我是谁 | whoami |
查看路径 | ls 路径 |
查看路径 | ls -a 路径(显示隐藏文件) |
查看路径 | ls -l 路径(显示更多信息(drwx:d 是否是目录, rw 是否可以读写, x 是否可以执行)) |
查看路径 | ls -al 路径 (显示隐藏信息和详细信息) |
创建文件 | echo ‘1’ > 文件路径 (并且把内容”1”写入文件) |
强制创建文件 | echo ‘1’ >! 文件路径(只能用在 linux, windows 出错)强制重定向, 覆盖原来有的内容 |
追加文件内容 | echo ‘1’ » 文件路径(只能用在 linux, windows 出错) |
创建文件 | touch 文件名 |
改变文件更新时间 | touch 文件名 |
复制文件 | cp 源路径 目标路径(可以覆盖原来有的文件) |
复制目录 | cp -r 源路径 目标路径 |
移动节点 | mv 源路径 目标路径(修改文件名) |
删除文件 | rm 文件路径 |
强制删除文件 | rm -f 文件路径 |
删除目录 | rm -r 目录路径 |
强制删除目录 | rm -rf 目录路径 |
查看目录结构 | tree(windows 不支持) |
建立软链接 | ln -s 真实文件 链接 |
下载文件 | curl -L https://www.google.com >google.html |
拷贝网页 | wget -p -H -e robots=off https://www.google.com (整个网页所有文件) |
磁盘占用 | df -kh |
当前目录大小 | du -sh . |
各文件大小 | du -h |
查看文件内容 | cat |
需要注意的点
各种符号代表的含义
~
: 用户目录: 我的电脑上就是/c/Users/ASUS
/
: 根目录, 一个/
就是根目录, 不管你有多少个硬盘, 他会把所有硬盘联合起来当作一块.
: 一个点表示当前目录,../
: 两个点表示父目录- TAB 键可以补全文件名或者目录
- 绝对路径与相对路径
- 如果一个路径是用
/
开始的, Windows 就从根目录开始找起(绝对路径), 否则就从当前目录开始找(相对路径).
参考
Windows终端之选:Git Bash美化