PuTTY?Bash?Out了!!!终端应该这么玩~
由于语言的障碍,国内一直存在一个问题,就是新技术引入太慢。比如PuTTY,其实已停止维护N久了,但大部分人却仍然在用(包括之前的我)。比如Bash,明知有那么多的问题,却一直没有什么想法,似乎Linux终端就应该如此。
现在,是时候改变一下了!
一、首先呢,把bash shell换成zsh:
Step1、安装zsh。
sudo yum install zsh
Step2、切换当前用户的shell到zsh。
chsh -s /bin/zsh
接着会要求输入用户密码。
Step3、重启终端。
reboot
然后需要做几个选择题。。。
二、然后,直接用zsh虽然功能强大,但会有些复杂,安装oh my zsh:
[Step0、安装git。
sudo yum install git
]
step1、安装oh my zsh。
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
step2、复制配置文件到用户主目录下,使之生效。
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
step3、编辑配置文件,添加些常用的选项。
sudo vim ~/.zshrc
我添加了如下内容:
alias cls='clear' # 为命令指定一个缩写别名,下同
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias javac="javac -J-Dfile.encoding=utf8" # 每次输encoding=utf8很麻烦对吧
alias grep="grep --color=auto"
alias -s py=vi # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
alias -s js=vi
alias -s c=vi
alias -s java=vi
alias -s txt=vi
alias -s log=vi
alias -s ini=vi
alias -s conf=vi
alias -s gz='tar -xzvf' #解压缩原来可以这么容易
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'
好了,体验你的新shell吧。好处多多,我最喜欢的莫过于tab键补全了,比如路径输到一半记不清,一个tab键搞定。
然而,远程ssh登录的童鞋可能会遇到个不能忍的问题:Home键失效,End键变成~。百度Google都解决不了。其实,这不是oh my zsh的问题,而是你该换远程登录的终端了。所以,
三、抛弃out已久的、停更已久的PuTTY:
Step1、卸载PuTTY,其实就是删除那个几百kb的exe。其实这点真心方便,几百kb,想放那儿放那儿。但也注定了功能不会强到哪儿去,现在居然影响了我换oh my zsh提升逼格,唉~不会再爱了。
Step2、清除PuTTY的记录。身为一个严格的程序猿(伦家才不是强迫症呢),怎么能让不再使用的软件继续留在注册表呢?so,打开regedit,删除这个文件夹HKEY_CURRENT_USER/Software/SimonTatham。最后向它缅怀致敬吧,PuTTY,你带我入门,从菜鸟一路走到现在,谢谢你陪伴我许久。
四、Xshell,迎接你的新生:
先赞美一下Xshell,分免费版商业版,但免费版功能已足够强大,秒杀PuTTY,堪比secureCRT。(其实我也没用过secureCRT,不想掏钱又不喜盗版)
Step1、下载Xshell。简单的方法就是随便找个下载源下,但这样并不安全。对于正版免费的软件(尤其本身就支持中文),我们当然得去官网下载咯(真的不是强迫症哦)。也就多花点时间注册一下,然后下载链接就会飞到你的邮箱里,为了安全,为了支持正版,值~
Step2、安装,完成。然后打开,你会看到弹出一个“会话”窗口,那么我们点新建,看到一个熟悉又陌生的添加远程会话的属性窗口。既是中文,相信大家都能自己看懂。填名称,填主机域名。顺带如果需要的话,可以点击左边“用户身份验证”,填上登录的用户与密码。新建完成,可以看到对话框里多了个远程连接。工具栏里除了新建连接外还有些别的,你们自己琢磨。其中有个新建文件夹,可以方便你用文件夹来管理会话。然后,左下角,“启动时显示此对话框”,取消它的勾勾,咱不用这种low的对话框。相信我,你会喜欢上用键盘输命令来登录远端的feel的。
Step3、一些建议的配置。
1、工具->配色方案,也可以在上面的快速按钮中找到它,默认的是XTerm,但我推荐改成New Black,更柔和。
2、工具->选项,然后点到 键盘和鼠标,在鼠标那块把中间按钮设置为Paste粘贴,右键设置为打开菜单;在选择那块把“将选定的文本自动复制到剪贴板”勾上。
3、还是在工具->选项,点到 查看,使窗口透明勾上,不透明度30%,鼠标悬停在窗口时不透明显示勾上,透明时前端显示勾上。
4、在快速按钮栏里有个很显眼的A,当然就是字体咯。按照你自己的习惯调整字体字号吧。默认的字体还行,我就把字号调大了点(12)
5、查看->工具栏,全部取消勾选。配置已经设置好了,那么那些占地方的工具栏也就可以关掉了。需要的时候点左上角的图标可以找到。
Step4、一些建议。
1、之前把 会话窗口 的 启动时显示 关了对吧,那么我们怎么打开一个远程连接呢?很简单,打开Xshell后你会发现它默认打开了一个本地Shell。在里面输入open [建立的远程连接名]就Ok。
2、把快捷方式神马的忘了吧。我们可以直接Windows+R,然后在 运行 里输入xshell来打开它。就跟你打开cmd、powershell的方法类似。其实对于其它软件这个方法都通用的哦。
3、看到终端标签右边的+号了吧,点击可以打开一个空白的本地Shell,你可以同时打开N多个远程会话,方便吧。什么?打开多个PuTTy也能实现?那么把你的眼睛看向Shell的下面,有一个输入条。点击它左边的终端图标,你可以看到"到当前会话、当前标签组,全部会话,全部Xshell"几个选项。你只需在输入条里输入命令,就可以按照以上规则同时发到多个shell里,方便不?
总结:Xshell+oh my zsh,好处多多。更多功能,让我们一起挖掘吧~
PuTTY?Bash?Out了!!!终端应该这么玩~的更多相关文章
- VSCode添加git bash作为默认终端
VSC添加git bash作为默认终端的settings.json添加 { "terminal.integrated.shell.windows": "D:\\Progr ...
- 几个linux终端的有趣玩法
1.sl 还可以给别人搞恶作剧: alias ls=sl 这样别人使用 ls 列出目录和文件的时候,却出现一个小火车,那滋味一定很酸爽哈哈哈哈! 2. fortune 这个命令会随机输出有趣的话,比如 ...
- git 入门教程之 git bash 竟然不支持 tree 命令
开门见山 git bash 是 Windows 用户安装 git 时默认安装的命令行工具,不仅界面漂亮功能也不错,大多数情况下可以替代 Windows 原生的 cmd 命令行. 然而,git bash ...
- 4 个独特的 Linux 终端模拟器(转)
4 个独特的 Linux 终端模拟器 译自:https://www.linux.com/blog/learn/2018/12/4-unique-terminals-linux作者: Jack Wall ...
- linux 终端下敲ctrl-c时,到底发生了什么?(转)
通过telnet登录到单板,然后按ctrl-c会发生什么情况,流程是怎么样的? 在分析之前,先介绍tty的相关知识.我们可以认为,所有跟输入输出相关的操作,最终都由tty来接管.举例来说,当我们敲 l ...
- 常用bash命令
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- bash内置命令的特殊性,后台任务的"本质"
本文解释bash内置命令的特殊性.前台.后台任务的"本质",以及前.后台任务和bash进程.终端的关系.网上没类似的资料,所以都是自己的感悟和总结,如有错误,120分的期待盼请指正 ...
- 安卓终端-Termux
Termux是一个 Android 终端模拟器以及提供 Linux 环境的应用程序.跟许多其他应用程序不同,无需 root 设备也无需进行设置.它是开箱即用的!它会自动安装好一个最基本的 Linux ...
- Linux系统中玩到让你停不下来的命令行游戏!
大家好,我是良许. 在使用 Linux 系统时,命令行不仅可以让我们在工作中提高效率,它还可以在生活上给我们提供各种娱乐活动,因为你可以使用它玩许多非常有意思的游戏,这些游戏可都不需要使用专用显卡. ...
随机推荐
- MySql数据库3【优化4】连接设置的优化
1.wait_timeout / interactive_timeout 连接超时 服务器关闭连接之前等待活动的秒数.MySQL所支持的最大连接数是有限的,因为每个连接的建立都会消耗内存,因此我们希 ...
- python之加密
import hashlib obj = hashlib.md5(bytes('adfasfasdfsfasf',encoding = 'utf-8')) obj.update(bytes('123' ...
- 如何执行一个mysql的sql脚本文件
sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件.基本步骤如下:一.创建包含sql命 ...
- 小A项目为什么加班
1.负责架构搭建的人搭建完成架构后,没有进行落地性验证:导致真正要用到的时候才发现spring没有配置:需要对架构人员的进度和内容进行跟踪,在跟踪进度的时候需要强调落地性: 2.负责架构搭建的人没有提 ...
- 关于asp.net core部署到iis中出现 HTTP Error 502.5 - Process Failure的问题
环境是windows Server2008R2 出现这个问题搞了一下午都没解决,最后又加班才算搞定,由于英文不太好,官方的文档看了好几遍,也按照文档做的,但还是出现这个问题,百度google搜了很多解 ...
- go-nsq使用简述
一 环境依赖: golang 开发环境(version >= 1.2) 下源码,配置环境变量,执行安装脚本 gpm 依赖包管理器 ...
- 转:Google技术开发指南:给大学生自学的建议
原文来自于:http://blog.jobbole.com/80621/ 技术开发指南 想要成为成功的软件工程师,必须拥有坚实的计算机科学的基础.本指南针对大学生,给出一条自学途径,让学生以科班和非科 ...
- cf C Milking cows
题意:输入n,然后输入n个数,在n个数中0或1,0代表这头牛向左看,1代表这头牛向右看,问最后最少损失多少牛奶. 思路:贪心,连着的0可以不损失,一旦插入1就会损失牛奶. #include <c ...
- qml学习:对象和属性
qml学习:对象和属性 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档<<Qt及Qt Quick开发实战精解.pdf>> ...
- C# Linq-Aggregate
The easiest to understand definition of Aggregate is that it performs an operation on each element o ...