linux工具小结

ssh会话保持长链接

# 参考:
https://blog.csdn.net/abld99/article/details/69388858

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功能应用

  1. 使用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:将反白的地方删除
  1. 多文件编辑
:n  编辑下一个文件
:N  编辑上一个文件
:files 列出目前这个vim打开的所有文件

## 应用场景,将一个文件a的内容复制到另一个文件b的内容
1。打开两个文件vim a.txt b.txt
2。进入命令行模式,输入:files来列出所有的文件信息
3。将a文件内容进行复制,输入nyy,然后进入命令行模式,输入:n进入文件b
4。复制数据到b文件然后保存离开
  1. 多窗口功能
: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
https://blog.csdn.net/u010454729/article/details/49496381
  1. vim编辑目录
vim dir/
    files
    ...
    dirs/
## 进入文件,选择对应文件 -- Enter进入
## 回退出原来的文件目录结构  -- ctrl + ^ (^ = Shift + 6)
  1. 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
发布了63 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wind_602/article/details/89879377