ssh会话保持长链接
vim /etc/ssh/sshd_config
TCPKeepAlive yes
ClientAliveCountMax 360
ClientAliveInterval 60
# 保存之后重新加载
service sshd reload
shell终端编辑命令行快捷键——行首,行尾
ctrl+a //移到行首
ctrl+e //移到行尾
===========linux系统用============
alt+a //移到光标所在单词首部
alt+e //移到光标所在单词尾部
alt+d //删除光标处到单词尾部
===============================
ctrl+y // 插入最近删除的单词或语句
ctrl+k //删除光标处到行尾部分
ctrl+u //删除光标处到行首部分
ctrl+w //删除光标处到当前单词开头部分或语句
数据流
# 标准输入,代码为0,使用 < 或 <<
# 标准输出,代码为1,使用 > 或 >>(进行数据累加)
# 标准错误输出,代码为2,使用2> 或 2>> (进行数据累加)
# 1> :以覆盖的方法将正确的数据输出到指定的文件或者设备上
# 1>> :以累加的方法将正确的数据输出到指定的文件或者设备上
# 2> :以覆盖的方法将错误的数据输出到指定的文件或者设备上
# 2>> :以累加的方法将错误的数据输出到指定的文件或者设备上
# /dev/null:丢弃错误信息,不显示或者存储在设备上
# 将正确和错误的数据输出到同一个文件
find . -name .bashrc > list 2>&1
vim 快捷键
1. 一般模式
## 键盘方向,数字+方向 ==》方向对应数字左移,下移,上移或右移n个
h(left) j(down) k(up) l(right)
## 0/home键,移动到这一行的最前面字符处
## $/End键,移动到这一行的最后面字符处
## G:移动到这个文件最后一行
## nG:n为数字,移动到这个文件的第n行
## gg:移动到这个文件的一行,相当于1G
## /word:向下搜索
## ?word:向上搜索
## :n1,n2s/source/dist/g,即在n1-n2之间查找source并替换为dist
## :n1,n2s/source/dist/gc,即在n1-n2之间查找source并替换为dist时进行确认提示
## x,X:在一行字中,x为向后删除一个字符,X为向前删除一个字符
## dd:删除一整行
## ndd:删除向下n行
## yy:复制光标所在的那一行
## nyy:复制光标向下的n行
## p,P:p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行
## u,复原前一个操作
## ctrl+r,重做上一个操作
## . :小数点,意思是重复前一个操作的意思,比如你想要重复删除,重复复制等等,按下小数点即可
2. 由一般模式切换到编辑模式
i,I:进入插入模式,i为从目前光标处所在处插入,I为目前所在行的第一个非空格符处开始插入
o,O:进入插入模式,o为目前光标所在的一行的下一行插入,O为上一行插入
a,A:进入插入模式,a为目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
r,R:进入插入模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下Esc键为止
3. 命令行模式
## !:在vim中经常有强制的意思
:w,将编辑的数据写入硬盘文件中(即保存文件修改的内容)
:q,离开vim
:q!,强制离开且不保存修改的内容
:wq, 保存后离开,
:wq!, 强制保存后离开
ZZ:若文件没有更改,则不保存离开,若有更改,则保存后离开
:w[filename]:将编辑的数据保存成另一个文件
:r[filename]:在编辑的数据中,读入另一个文件的数据,即将filename的数据追加到光标所在行后面
:n1,n2 w [filename]:将n1-n2的内容保存成filename文件
:!command:暂时离开vim到命令行模式下执行linux相关的命令显示的结果
vim功能应用
- 使用vim的块快速复制,类似于复制xls中每一列的数据(块的选择)
192.168.1.1 host1.class.net host1
192.168.1.2 host2.class.net host2
192.168.1.3 host3.class.net host3
192.168.1.4 host4.class.net host4
192.168.1.5 host5.class.net host5
192.168.1.6 host6.class.net host6
192.168.1.7 host7.class.net host7
192.168.1.8 host8.class.net host8
192.168.1.9 host9.class.net host9
## 复制上述的host1-host9,
1。首先进入编辑模式,将光标移动到h
2。其次进入命令行模式,ctrl+v,看到光标反白,
3。光标移动到最后一行的host9处的字符9,按下y
4。进入命令行模式 > 编辑模式,向右空两个空格,退出编辑模式,按p,此时就会将host1-host9中的所有数据进行复制
vim块的快捷键
V:字符选择/行选择,会将光标经过的地方/行反白选择
ctrl+v:块选择,可以用长方形的方式选择数据
y:将反白的地方复制
d:将反白的地方删除
- 多文件编辑
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim打开的所有文件
## 应用场景,将一个文件a的内容复制到另一个文件b的内容
1。打开两个文件vim a.txt b.txt
2。进入命令行模式,输入:files来列出所有的文件信息
3。将a文件内容进行复制,输入nyy,然后进入命令行模式,输入:n进入文件b
4。复制数据到b文件然后保存离开
- 多窗口功能
:sp filename,打开一个新窗口,如果有加filename则表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容,垂直分屏
# 切换窗口
ctrl+w+j(down键):先按住ctrl键,再按下w键后放开所有按键再按下j或是down键 -- 向下切换
ctrl+w+k(up键):先按住ctrl键,再按下w键后放开所有按键再按下k或是up键 -- 向上切换
:vsp filename,打开一个新窗口,如果有加filename则表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容,水平分屏
# 切换窗口
ctrl+w+h:先按住ctrl键,再按下w键后放开所有按键再按下h -- 向左切换
ctrl+w+l:先按住ctrl键,再按下w键后放开所有按键再按下l -- 向右切换
ctrl+w+q:在所在的窗口中,先按住ctrl键,再按下w键后放开所有按键再按下q离开当前窗口
## vim终端输入
vim -On file1 file2 ...使用大写的O参数来垂直分屏。
vim -on file1 file2 ...使用小写的o参数来水平分屏。
注释: n是数字,表示分成几个屏。
## 使用终端分屏工具tmux
- vim编辑目录
vim dir/
files
...
dirs/
## 进入文件,选择对应文件 -- Enter进入
## 回退出原来的文件目录结构 -- ctrl + ^ (^ = Shift + 6)
- ssh连接多个服务器
- 批量操作命令使用工具pssh,基于python安装
- 同步文件操作:rsync
- 系统监视:Nagios
## pssh工具
## 参考:https://parallel-ssh.readthedocs.io/en/latest/quickstart.html#run-a-command-on-hosts-in-parallel
apt-get install pssh
# 每行采用 host[:port] [user] 或者是[user@]host[:port] 形式
采用的命令:
parallel-ssh --help
parallel-ssh -hiA servers.txt "command"
附加工具
pscp 传输文件到多个hosts,类似scp
pscp -h hosts.txt -l irb2 foo.txt /home/irb2/foo.txt
pslurp 从多台远程机器拷贝文件到本地
pnuke 并行在远程主机杀进程
pnuke -h hosts.txt -l irb2 java
prsync 使用rsync协议从本地计算机同步到远程主机
prsync -r -h hosts.txt -l irb2 foo /home/irb2/foo
# 其他工具:polysh
使用xshell配置(文件 -- 属性 -- SSH -- 使用密码处理的Xagent(SSH代理,Xagent自动启动))
连接到一台开发机器,安装polysh并保证会话ssh的主机已经加入当前用户下的 ~/.ssh/known_hosts
然后使用poly ip1 ip2 ip3 (前提是连接到这些ip的密码是一致的)
将大文件进行分割
# 将一个文件分割为5000行的小文件,每个小文件以sp_开头,并以8位数字结尾进行命名
split -l 5000 filename -d -a 8 sp_
鼠标控制键盘
# 移动光标快捷键
ctrl + f: 向前移动一个字符
ctrl + b: 向后移动一个字符
ctrl + a: 移动到行首
ctrl + e: 移动到行尾
ctrl + l: 清屏
# 编辑命令行输入
ctrl + d: 删除当前的字符
backspace: 删除前一位
ctrl + t: 交换当前字符和前一个字符的位置
Alt + u: 转换为大写字符(有些情况下按键冲突没反应)
Alt + l: 转换为小写字符
# 命令行中剪切和粘贴的快捷方式
Ctrl + k: 剪切文本至行的末尾
Ctrl + u: 剪切文本至行的起始
Ctrl + y: 粘贴最近剪切的文本
Alt + y: 回退到先前剪切的文本并粘贴它
Ctrl + c: 删除整行
window xshell|securecrt 相关命令
sudo apt-get install lrzsz
window 上传文件到linux使用rz
linux 下载文件到window使用sz
查看超大日志文件的工具
# glogg:日志管理器 -- 图形化界面
sudo apt-get install glogg
glogg file