iterm2使用技巧

  1. 同时打开多个终端窗口,来回切换太麻烦!
  2. 能不能像IDEA一样,能够查看历史粘贴记录?
  3. 有没有办法一键登陆服务器?

工欲善其事,必先利其器!无论工作还是学习,选择好用的工具真的太重要了。今天就给大家介绍一下笔者感觉相见恨晚的工具iTerm2,如果让我说日常开发中好用的工具有哪些,iTerm2必须拥有姓名。

作为经常和Terminal打交道的工程师来说,对于自带的Terminal来说,Windows的命令行最难用,笔者一般使用XShell。入坑Mac后发现大家都在用iTerm2,半年下来感受只有两个字:真香!

01 窗口管理

窗口,当然是想怎么分就怎么分!和Mac原生的Terminal一个关键的区别就是iTerm2支持任意分割和创建窗口。

热键Window#

首先,你可以设置一个打开iTerm窗口的快捷键,iTerm2->Perferences->Kes->Hotkey,这样就可以在打开时快人一步!

如果已经打开了iTem2应用,就可以通过快捷键一键打开和隐藏。默认的Hotkey Window最大的特点就是透明和悬浮,它能够悬浮在任意窗口上面。

https://source.mycookies.cn/354bed0e0f48d9e923a014349657b668.png

普通Window#

https://source.mycookies.cn/35ee24bda11b4265badfcab6e153879f.png

新建Window:Command + N关闭Window:Command + W全屏:Command + Enter, 再按一次还原展示所有窗口:Command + Option + e关闭窗口:Command + w

选项卡Tab#

https://source.mycookies.cn/43f1e257083f1243e18f8ccbe7650593.png

新建标签:Command + t关闭标签:Command + w切换标签:Command + 数字 或者 Command + 左/右方向

窗格Panes#

https://source.mycookies.cn/b71b5653846859b81ec06d0469c25654.png

垂直分屏:Command + d水平分屏:Command + shift + d切换窗格:Command + Option + 方向键 或者 Command + 左右中括号

02 即时回放

除了窗口划分,Term2的另一杀手锏就是回放。不仅可以查看剪切板的历史记录,还能像视频一样回放窗口内的历史记录!

历史剪切板#

对于普通文本编辑器来说,每次复制后都会覆盖之前的剪切板,非常不好用。而iTerm2提供了和IDEA一样查看历史剪切板功能,对于笔者这种CV工程师来说是相当友好了!

快捷键**:Command + Shift + h**

https://source.mycookies.cn/544dc58c1a145f16da3aabea89391cef.png

历史命令提示#

命令提示,能够提示最近输入的内容,以及常用的命令;需要注意的是,这里仅仅会输入过的内容,当然iTerm也有命令补全插件,后面会进行介绍。

快捷键:Command + ;

https://source.mycookies.cn/794725b72527d959e36b970520e6ac05.png

当然除了历史命令提示之外,也可以使用系统支持的方式来搜索和查看历史命令。

上一条命令:Ctrl + p(previous) 或 向上方向键下一条命令: Ctrl + n(next) 或 向下方向键搜索历史命令:ctrl + r

https://source.mycookies.cn/d08c79619675c82107dcd023233537db.gif

即时回放#

非常有意思的功能,像录屏一样,记录过去一段时间内窗口显示的内容。

快捷键:Command + Option + b

前进/后退:左右箭头/鼠标拖动进度条****退出回放**:esc

https://source.mycookies.cn/66ce672e31173e656734dab98343f4b0.gif

03 快捷功能

智能复制#

在item中选中即复制,被选择的文本会自动保存在剪切板中。双击选中,三击选中整行,四击智能选择,可以智能的选中你想要的数据,如网址,邮箱,括号或引号中的数据等。

同样也支持快速粘贴,鼠标选中复制后,可以通过鼠标中键或者Command+v进行粘贴。同时,选中后也可以通过拖拽实现快速的复制和粘贴。

https://source.mycookies.cn/9609061c7ca9f1486347c2ebc0db70e1.gif

使用Command+f即可完成搜索,搜索后,通过Tab 或者 Tab + Shift可向右或向左扩大选中范围,完成复制。

https://source.mycookies.cn/4b8158d203aac6742d9952dd014e049d.gif

妙用Command#

Command既可以和其他按键组合成快捷键,也可以搭配鼠标实现一些快捷功能。只需要按下Command在搭配一下操作即可。

  • 点击url,调用默认浏览器访问该网址
  • 点击文件,调用默认程序打开文件。如果选中的是 文件名:数字,且默认文本编辑器是Mac vim 将会直接打开到这一行。
  • 点击文件夹,在Finder中打开该文件夹
  • 配合Optional键,使用鼠标可以选择矩形区域内容

https://source.mycookies.cn/8beacd6202e4c5d4c150b7210a83a046.gif

常用快捷键#

这些快捷键并非iTem2特有,也是非常基础的快捷键。当然最重要的是它们非常实用,几乎每天都会用到。

清屏:Command + r 或者 ctrl + l清除当前行:Ctrl + u删除当前光标的字符:ctrl + d删除光标之前的字符:ctrl + h删除光标之前的单词:ctrl + w删除到文本末尾:ctrl + k交换光标处文本:ctrl + t光标移动导行首:Ctrl + a光标移动到行位:Ctrl + e

04 一键登陆

对于快捷登陆这种基本操作,iTerm2当然也能很好支持。只需要在将脚本配置到iTerm2->Preferences->Profiles->General中的Command输入框中,既可以是单行命令,也可以是Shell脚本文件。

ssh + sshpass#

ssh命令一般用来远程登陆Linux主机,不过需要两段式登陆,先输ssh连接命令,当服务器响应后再输入密码。

要把两段式登陆合并成一步到位,只需要安装sshpass工具即可,sshpass用于非交互的ssh密码验证,允许你指定明文密码,然后配置ssh命令直接登录远程服务器。

它支持密码从命令行,文件,环境变量中读取。三种用法如下:

Copy
# 1. 密码
sshpass -p {密码} ssh -p ${端口} {用户名}@{主机IP} 
# 2. 密码文本文件
sshpass -f {密码文本文件} ssh -p ${端口} {用户名}@{主机IP} 
# 3. 环境变量
# 配置环境变量
export SSHPASS='my_pass_here'
echo $SSHPASS
# 登陆
sshpass -e ssh username@192.168.0.1

https://source.mycookies.cn/f96004ebed87728ecbb02e04cec13307.jpg

需要注意的是,为了防止密码先是在屏幕上,一般使用密码文件和环境变量的方式登陆。

expect脚本#

工作中通常不能直接连线上服务器或数据库,而是需要先登陆跳板机,再通过跳板机连接线上服务器/数据库。这些就可以通过expect脚本来解决。

expect 是用来进行自动化控制和测试的工具,主要是用来和ssh/talnet/ftp等这些交互式软件进行自动交互,比如远程自动输入密码,执行脚本等。

expect的大致原理就是,首先spawn我们要执行的命令A,然后设置一个或多个预期命令A会输出的结果,根据设置匹配的结果选择接下来执行的分支,然后通过send命令执行后续命令,模拟键盘输入。

假如我们要实现自动登录线上数据库,并查看所有数据表。具体步骤可以分为以下几步:

登陆跳板机通过跳板机登陆线上数据库选择database,然后执行 show tables 命令

以下是笔者提供一个简单的脚本程序模版:

Copy
#!/usr/bin/expect -f
# 脚本的参数,mysql服务器的登陆地址,密码,以及 选择数据库指令
set loginCommand [lrange $argv 0 1]
set passwd [lrange $argv 2 2]
set script [lrange $argv 3 4]
# 等待命令执行的超时时间,10s
set timeout 10

# 1. 登陆跳板机
spawn ssh 用户名@跳板机的host
expect {
    # 输入跳板机登陆密码(第1步指令执行完后,会输出xxx@xxx's password: 提示输入跳板机密码)
    "用户名@跳板机的host's password:" {send "跳板机密码\\r"; exp_continue}
    
    # 2. 通过跳板机登陆数据库(笔者公司的跳板机登陆完成后,会提示输入INPUT:,提示输入要登陆的服务器ip)
    "*INPUT:" {send "$loginCommand\\r"; exp_continue}
    # 输入要登陆数据库的密码
    "Enter password:" {send "$passwd\\r" ; exp_continue}
    
    # 密码输入错误,退出(如果密码输入错误,提示文案中会出现ERROR字样)
    "*ERROR*" interact;
    # 3. 输入数据库指令
    "Welcome to the MySQL monitor*" {send "$script\\r"; exp_continue}
    # 执行show tables指令
    "Reading table information*" {send "show tables;\\r"}
}
interact

Command中配置脚本文件和执行参数

Copy
/Users/xxx/ssh_login.exp mysql yaccount_relay@xxaccount.db.xxx.com:3456  数据库密码 use dbzz_zzpayaccount

https://source.mycookies.cn/1.png

执行配置文件,效果图:

https://source.mycookies.cn/2a221eef6c6d8e46db95c8850b27a80b.jpg

05 等你探索

iTerm2支持很多自定义的个性化配置,还有有趣且实用的功能等着你去探索。如果你想让你的iTerm2外观变得炫酷的,更加极客。不妨看看这里 https://www.jianshu.com/p/7de00c73a2bb,以下是笔者修改后的效果图:

https://source.mycookies.cn/e5824e2aee3b16ae81cc607d03a50a26.jpg

篇幅有限,像密码管理器输入(命令)广播等实用的功能还有很多,这里就不一一列举。据说每个程序员都有自己的一套葵花宝典,欢迎各位同学在留言区把你最顺手的工具分享给大家!

看后有收获记得点推荐哦!

作者: Java填坑笔记

出处:https://www.cnblogs.com/liqiangchn/p/14280203.html

版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。

### iTerm2 使用教程和基本操作指南 #### 一、安装 iTerm2 对于 macOS 用户来说,iTerm2 是一款强大的替代默认终端的应用程序。可以通过 Homebrew 或者直接从官方网站下载安装包来完成安装。 如果选择通过 Homebrew 进行安装,则可以运行如下命令: ```bash brew install --cask iterm2 ``` #### 二、初次启动与界面概览 首次打开 iTerm2 后会看到简洁明了的操作界面[^1]。顶部菜单栏提供了丰富的功能选项;左侧边栏可自定义标签页分组以便快速切换不同工作环境;底部状态栏显示当前连接信息和其他实用数据。 #### 三、配置偏好设置 进入`Preferences...`(可通过快捷键 `Cmd+,`) 来调整各种个性化参数: - **General**: 设置通用行为如自动更新检查等; - **Profiles**: 创建多个配置文件用于区分不同的应用场景(比如开发、服务器管理),还可以在此处修改字体大小颜色方案等外观属性; - **Keys**: 自定义键盘映射规则以提高效率; - **Appearance & Advanced**: 更改窗口样式以及高级特性启用情况。 #### 四、增强生产力的小技巧 利用好这些内置工具可以让日常任务变得更加轻松愉快: - **Split Panes**(分割窗格): 支持水平(`Shift+Cmd+d`) 和垂直 (`Cmd+d`) 方向拆分现有视图空间,在同一屏幕内同时处理多项事务; - **Hotkey Window**(热键窗口): 组合特定按键唤起浮动式的迷你控制台,方便随时调用而无需离开正在使用的应用程序; - **Triggers**(触发器): 根据指定模式匹配输入流中的字符串并执行相应动作,例如当检测到提示符时自动滚动到底部[^3]。 #### 五、集成其他插件扩展能力 为了进一步提升用户体验,推荐尝试以下几个流行附加组件: - ZModem 协议支持允许直接上传下载文件至远程主机之间,只需简单几步就能完成配置; - ClusterSSH 插件使得批量管理和监控多台设备成为可能,仅需合理设定命令行参数就足以满足需求[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泰瑞_

知识源于创作热情,感谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值