vim/network/ssh

一、编辑器——vim

vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

Vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。

1、vim三种模式

一般模式: 不能直接编辑文档内容,但可以接受指令处理文档内容或者实现某个功能。

编辑模式:可以编辑文档内容

命令模式: 可以接受可见指令去实现某个功能

2、一般模式

vim编辑器刚打开一个文件时,就是进入一般模式。一些常用的操作如下:

h,j,k,l 左下上右;命令执行前加数字,实现多次执行

Ctrl+f 向后翻页;

Ctrl+b 向前翻页;

0 回到行首

$ 去到行尾

gg 到文件首行;命令执行前加数字,实现多次执行

G 到文件尾行;命令执行前加数字,实现多次执行

w 按单词向后移动光标(跳动于词首);命令执行前加数字,实现多次执行

e 按单词向后移动光标(跳动于词尾);命令执行前加数字,实现多次执行

b 按单词向前移动光标(跳动于词首);命令执行前加数字,实现多次执行

H 跳到文件头部

M 跳到文件中部

L 跳到文件尾部

zt 使当前行处于屏幕顶;(top)

zz 使当前行处于屏幕中;

zb 使当前行处于屏幕底;(bottom)

dd 删除一行,再加一个 p ,就粘贴 ;命令执行前加数字,实现多次执行

dG 删除光标当前行到最后一行的所有数据

dgg 删除光标当前行到第一行的所有数据

d$ 删除光标所在字符到 该行行末

d0 删除光标所在字符到 该行行首

cw 删除光标所在向后的一个单词并且进入编辑状态

dw,de 删除光标处向后的一个单词

yy 复制行;命令执行前加数字,实现多次执行

p/P 粘贴行到当前行之后/之前

ayy 将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer

ap 将放在buffer a的数据粘贴。

b3yy 将三行数据存入buffer b。

b3p 将存在buffer b的资料粘贴

yw, ye, yb, y$, y0 行内复制

r 修改光标所在的那个字符

R 取代字符直到按 Esc 为止

u 撤销上一次操作

U 撤销整行的操作

ctrl + r 重做

v 可视状态,可以通过光标选择指定区域的内容,进行处理(整行)

ctrl + v 功能同上,(整块)

3、编辑模式

从一般模式到编辑模式的命令字符有:i,I,a,A,s,S,o,O

从编辑模式到一般模式。按 Esc

4、命令模式

4.1、进入命令模式,按 ‘:‘

:set nu 显示行号

:set nonu 取消显示行号

:set autoindent 自动对齐,取消方式如第一例

:set all 打印所有选项

:set 显示与系统默认值不同的设置参数

:set noic 查找是忽略大小写

:set list 显示制表符(^I)和行尾符号

:set ts=8 Tab建相当于8个空格

:set hlsearch 设置高亮查找,取消方式如第一例

:syntax on 打开依据程序相关语法显示不同颜色,关闭方法自行

4.2、替换功能

:1,$s/aa/bb 把第一行到最后一行的第一个aa替换成bb, ‘1,$‘ 也可使用 ‘%‘替代,也可以直接使用数字指定行

:1,$s/aa/bb/g 把第一行到最后一行的所有aa替换成bb

:1,$s/aa/bb/gc 替换之前进行确认;a确认所有;l确认当前并退出

:1,$s/aa\ /cc/g 空格记得使用 ‘\‘ 转义

4.3、查找功能

:g/text1/s/text2/text3 查找包含text1的行,用text3替换text2

:g/text/command 在所有包含text的行运行command所表示的命令

:v/text/command 在所有不包含text的行运行command所表示的命令

:240 == 240gg == 240G 快速把光标定位在240行

/admin 搜索admin关键字

4.4、分屏功能

:split /etc/passwd 多分出一个横屏打开文件 /etc/passwd

:vsplit /etc/passwd 多分出一个竖屏打开文件 /etc/passwd

ctrl + ww 可切换窗口

4.5、退出编辑

q 退出

q! 强行退出

w 保存

wq 先保存后推出 等价于 x

wq! 强行保存并退出

4.6、更多功能

在(, [, { 上面输入 % 即可跳到相对应的另外一个括号上

. 代表一个任意字符

^ 以什么开头

$ 以什么结尾

:%s/./U/ 实现: 文档中的每行的第一个字母都替换成U

#vim /etc/vimrc

set tabstop=4 --tab键退四格

set shiftwidth=4 -- shift + > 也为退四格

4.7、配置vim

# vim /etc/vimrc

set nobackup --保存之前不备份

set tabstop=4 --用于按Tab 键时

set softtabstop=4 --用于删除

set expandtab --把Tab 键转换成n个空格键,数量n=abstop

set autoindent --自动缩进

set shiftwidth=4 --用户缩进对齐时

set fileencoding=utf8 --用于写文档时确定编码

set fileencodings=utf8,gbk,gb18030,big5,gb2312 --用于读文档时做编码识别

set hidden --多文档编辑时,不需要保存,直接在文档之间切换

set confirm --提示保存

二、简单的网络配置

1、NetworkManager服务

NetworkManager简介:NetworkManager由一个管理系统网络连接、并且将其状态通过D-BUS进行报告的后台服务,以及一个允许用户管理网络连接的客户端程序。优点:简化网络连接的工作,让桌面本身和其他应用程序能感知网络。但对于我们来说没必要,而且很没必要;我们作为专业人员,要自己管理自己的网络。该服务反而给我们添加一定的麻烦。所以

# service NetworkManager stop --关闭服务

# chkconfig --level 35 NetworkManager off --开机不自启动

2、网络入门

linux操作系统,网卡默认命名是eth?

# ifconfig -a --找到自己计算机上所有网卡

# lspci | grep -i eth --查看当前系统所连接的所有网卡

# mii-tool eth0 --查看网卡 eth0 是否连接网络

# ifconfig --输出所有当前正在使用的网卡

# ifconfig eth0 --查看指定网卡的信息

# ifconfig eth0 172.16.1.144 netmask 255.255.255.0 --临时设定IP和掩码

# service network restart --重启网络后,我们临时设置的网络就会失效

上互联网的三要素:IP,Gateway,DNS

3、通过配置文件永久设置网卡

# vim /etc/sysconfig/network-scripts/ifcfg-eth0 --该配置不会马上生效

DEVICE=eth0 --设备名

ONBOOT=yes --网络服务启动的时候,yes代表激活状态 , no 代表禁用

HWADDR=14:da:e9:eb:a9:61 --强烈建议不要删除,而且保证MAC地址正确

BOOTPROTO=static --dhcp动态获取IP, none 根据其他选项决定动态还是静态,static是指手工指定IP

NM_CONTROLLED=no --如果NetworkManager服务启用,该网卡配置文件也不使用NetworkManager管理

IPADDR=172.16.2.10 --自己手动设置的IP地址

NETMASK=255.255.0.0 --子网掩码

GATEWAY=172.16.2.1 --如果该网卡激活,那么就系统添加一个网关,可选。一般不建议在这里写

# service network restart --这是一种让上面配置马上生效的方法,还有一中是重启系统

4、网关设定

作用:允许不同网络直接通信。网关往往是路由器上某个接口

# route -n --查看路由表。决定数据包应该如何发送出去的表格

# route add default gw 10.172.16.1 --临时的添加网关

# route del default gw 10.172.16.1 --删除默认网关

# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth1 --删除普通的路由表数据

# vim /etc/sysconfig/network --永久添加默认网关。

NETWORKING=yes --是否启用网络功能(no: service network start 没有任何回应)

HOSTNAME=www.upl.com --设定主机名

GATEWAY=172.16.1.1 --设定默认网关

5、设定主机名

操作系统在运作过程中,可以给它起个名字,通过名字进行通信。在上个配置中就是永久配置

FQDN(完全规范的主机名),一般是 用 . 作为分割符号。入下

www.baidu.com --主机头.域.域

# hostname

# uname -n --查看主机名

# hostname node7.upl.com --命令临时设定或更改主机名

# vim /etc/hosts --前面的默认两行千万别修改,别删除。强烈建议大家把自己的主机名和自己的主IP进行绑定

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.2.7 node7.upl.com

# ping node7.upl.com --通过自己的主机名 ping 自己

6、指定 DNS 域名

作用:把域名解析成IP。

# vim /etc/resolv.conf --指定DNS域名服务器

nameserver 114.114.114.114

注意:一定记得关闭 NetworkManager 服务。否则重启网络时,该配置会被清除

7、一张网卡配置多个IP

# ifconfig eth0:1 10.1.1.244 netmask 255.255.255.0 --临时配置

# vim /etc/sysconfig/network-scripts/ifcfg-eth0:1 --永久配置子接口

DEVICE=eth0:1

ONBOOT=yes

BOOTPROTO=static

IPADDR=10.1.1.7

NETMASK=255.255.0.0

8、网卡开关控制

# ifconfig eth0 down --临时关闭网卡

# ifconfig eth0 up --开启时,不会读取配置文件

# ifdown eth0 --彻底关闭网卡

# ifup eth0 --开启式,会读取各网络配置文件

9、网络故障排错

# mii-tool --有可能明明连接了有效的网线,但是还是看不到link ok,可以先确定网卡配置文件是正确的,并且ONBOOT=yes ,然后重启network服务(service network restart)

# ping 127.0.0.1 --通,代表系统能够支持tcp/ip通信。不通,原因: 相关驱动损坏或者没有。防火墙iptables拦截了。

# ping 网关

不通;原因: 网关有问题,或者IP冲突

解决方法:ping 同一个网段中其他IP;其他计算机 ping 网关

# ping 外网(IP或域名)

ping 外网IP。通,只能说明通信没问题,网关是设定正确;不通,很可能就是网关无法联网

ping 域名。如果连域名对应的IP都无法返回,说明域名解析失败,原因:DNS设定有问题。

# ping 的错误

network unreachable (网络不可达): --一般没有设定正确的网关

unknow host xxxx : --设定DNS无效

10、了解DNS

# nslookup www.baidu.com

# dig www.baidu.com

# host www.baidu.com

11、远程登录

# ssh [email protected] --远程登录必须网络相通

# ssh -Y [email protected] --远程登录并允许运行远程机上的图形软件。符号 -Y/-X

12、netstat

用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

# netstat -tupn -- t,可显示tcp; u,可显示udp; p,显示pid; n,以端口数显示

# netstat -tupna -- -a 参数,列出所有网络相关信息;默认只显示 stat 为 ESTABLISHED

# netstat -tupnl -- -l 参数, 不列出stat 为 ESTABLISHED

三、网络拓展

1、一次虚拟多个IP地址

# vim /etc/sysconfig/network-scripts/ifcfg-eth1-range0

IPADDR_START=192.168.133.110 --虚拟的IP起始值

IPADDR_END=192.168.133.120 --虚拟的IP结束值

NETMASK=255.255.255.0 --子网掩码

CLONENUM_START=110 --指eth1: 后的数字起始值

# service network restart

# ifconfig

2、路由的管理

# route add default gw 172.16.1.1 --添加一条默认路由其实就是增加一个网关

# route add -net 10.1.3.0/24 dev eth0 --添加直连路由(到设备)

# route add -net 10.1.2.0/24 gw 10.1.1.2 --添加到达指定网络的路由

# route add -host 10.1.3.1 gw 10.1.1.3 --添加到达指定主机的路由

要删除以上路由,格式基本不变。只需将 ‘add‘ 改为 ‘del‘ 即可

3、IP地址的分类参考(不必记住):

A 以0开头(二进制码)

0.0.0.1 - 127.255.255.255

默认子网掩码: 255.0.0.0

B 以10开头(二进制码)

128.0.0.0 - 191.255.255.255

默认子网掩码: 255.255.0.0

C 以110开头(二进制码)

192.0.0.0 - 223.255.255.255

默认子网掩码:255.255.255.0

D 以1110开头(二进制码) 组播

224.0.0.0 - 239.255.255.255

E 以1111开头(二进制码)

240.0.0.0 - 247.255.255.255

4、记住三个私网IP段

A类: 10.0.0.0 - 10.255.255.255

B类: 172.16.0.0 - 172.31.255.255

C类: 192.168.0.0 - 192.168.255.255

5、特殊的网络地址

0.0.0.0 --代表全世界所有的地址

127.0.0.1 - 127.255.255.255 --本地环回地址,测试本机tcp/ip是否正常。某些集群软件也会使用环回地址(lvs集群的DR(direct routing)架构会使用环回地址)

6、查看网卡工具

# ethtool eth0

7、常用的网络管理命令及常见的客户端工具

  arp -- 管理网卡物理地址和IP地址的对应关系

  ping -- 测试网络的连通性

  nmap -- 端口扫描工具

  traceroute -- 路由追踪工具

  lftp -- ftp 客户端

  elinks -- 命令行的网页浏览器

  wget -- 命令行的下载工具 (-c, 继续未完成的任务)

  nslookup -- 查询域名

  dig -- 查询域名

三、ssh

安全的链接方式,可用于远程登录,传输文件,创建加密隧道等;

1、远程登录:

# ssh [email protected]/ipaddress --远程命令行

# ssh -X/Y [email protected]/ipaddress --远程图形界面

# ssh [email protected]

2、远程传输文件

# scp /etc/passwd [email protected]:/etc/ --本地传到远程机

# scp [email protected]:/etc/passwd /etc/ --远程传到本地,加 -r 参数,可传输文件夹

3、其他

# echo something | ssh [email protected] "cat > /somewhere/file" --将本机 echo 出来的字符串,在远程机上 cat 出来,并且重定向 输入到远程机的 /tmp/file 文件中

# echo george | ssh [email protected] "cat " --在远程机上运行 cat 命令,命令的输出结果在本地显示

# echo george | ssh [email protected] "passwd --stdin guo" ----在本地机上将 远程机的账户 guo 的密码改为 george.

4、配置ssh证书登录方式

4.1、服务器

# cd /root/.ssh

# rm -rf *

# ssh-keygen -t rsa -b 4096 --创建一组秘钥,可一路回车,有特殊要求可自行琢磨

# ls --生成一个私钥,一个公钥

id_rsa id_rsa.pub

# cat id_rsa.pub > authorized_keys --将公钥内容导入文件authorized_keys

# scp id_rsa [email protected]:/root/ --讲私钥传给需要连接过来的客户端

4.2、客户端

# cat id_rsa >> .ssh/id_rsa

# ssh [email protected] --即可可直接在客户端上登录服务端。不需要密码

4.3、排错

# ssh [email protected] --如果出现以下错误,无法使用公钥登录,服务器仍询问登录密码

Agent admitted failure to sign using the key.

[email protected]‘s password:

解决方法:

# unset SSH_AUTH_SOCK --删除变量SSH_AUTH_SOCK

# ssh-add ~/.ssh/id_rsa --用ssh-add 命令添加刚刚创建的私钥

时间: 2024-08-02 01:45:57

vim/network/ssh的相关文章

OSX + iTerm2 + vim + ssh + CentOS/本机颜色配置原理小分析

前一段时间需要从本地SSH到某台云服务器查看配置文件,BOSS在我边上跟我一起找文件.找毕,BOSS说:“你这颜色看着不难受么?辨识度太低了”当时我的屏幕是这样的: 其实我也是这么认为的,这颜色太惨了.漆黑的背景,深深蓝色的标识符,实在是看不清楚.说搞就搞,网上找各种配色方案,先来一打iTerm2的配色方案,再把其中的背景图片也设置一下,先不说远端服务器的效果(因为有坑,后说),本机已经是这样的了: 一不做而不休,把本机的oh-my-zsh也在自己CentOS的腾讯云主机里搞一套,当然vim的配

让ubuntu开启ssh服务以及让vi/vim正常使用方向键与退格键

VIM 修复方法: 安装vim full版本,在full版本下键盘正常,安装好后同样使用vi命令.ubuntu预装的是vim tiny版本,而需要的是vim full版本.执行下面的语句安装vim full版本: $sudo apt-get remove vim-common $sudo apt-get install vim 开启ssh服务: $sudo apt-get install openssh-server 然后确认sshserver是否启动了: ps -e |grep ssh 如果看

SSH远程登录、.sh文件后缀运行、l l命令结果说明、VIM模式切换

目录 SSH远程登录..sh文件后缀运行.l l命令结果说明.VIM模式切换 SSH远程安全登录 .sh文件后缀运行 l l命令结果说明 VIM模式切换 SSH远程登录..sh文件后缀运行.l l命令结果说明.VIM模式切换 SSH远程安全登录 SSH为网络协议,专门为远程登录会话和其他网络服务提供安全性的协议,用于在计算机之间的加密登录,对数据进行加密. SSH主要用于远程登录,主要有口令登录和公钥登录,现简单说下口令登录基本用法: #使用root账户登录远程主机 默认端口是22 可以修改端口

某企业Linux下ssh远程登录服务器延迟高问题排查及解决

一.问题现象描述 某台Dell服务器RHEL 6.8系统安装成功后用户反映通过ssh登录该服务器时出现延迟高的情况,严重时时延可达6-7s,甚至直接报错. Connecting to 10.0.0.10:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. 连接时显示的信息 Last login: Thu Jul  7 16:24:56 2017 from 10.0.0.10 等待很长时间后才显示连

ssh远程报错ssh_exchange_identification: read: Connection reset by peer

ssh远程登录报错: [[email protected] ~]$ ssh     198.44.241.34 ssh_exchange_identification: read: Connection reset by peer 初步原因锁定: 1-服务器防火墙限定, 2-是否达到ssh的最大连接数,超过之后会服务器端会拒绝新的连接,直到有新的连接释放出来 3-/etc/hosts.allow和/etc/hosts.deny配置文件限定ip登录 解决方案: 1 firewall-cmd --l

远程 sshd提示:Server unexpectedly closed network connection

远程sshd提示: Server unexpectedly closed network connection 重启后服务器效果也一样,经过一段时间连接后,终于连上远程了.之后新建一个远程连接,发现还是提示: Server unexpectedly closed network connection 百度和谷歌搜了一会,修改后sshd_config,效果也一样. 之后看下 [[email protected] log]# tail -F /var/log/secure  //查看登录日志文件 发

搭建IPA服务器与SSH服务器

一.NTP服务器的架设 1.1 先关闭工作站的DHCP服务 systemctl stop dhcpd systemctl disable dhcpd 1.2 在所有机器上安装NTP程序 yum install ntp -y 1.3 修改服务器的配置文件 vim /etc/ntp.conf 注释.添加 server asia.pool.ntp.org iburst 1.4 修改客户端的配置文件. vim /etc/ntp.conf 注释.添加 server 192.168.203.100 ibur

搭建IPA用户管理服务器&安装ssh远程访问服务

1.搭建IPA用户管理服务器 搭建准备前工作 workstation: #先停掉dhcp服务 systemctl stop dhcpd;systemctl disable dhcpd #分别在workstation,server1,server2,database上安装ntp服务 yum -y install ntp #打开ntp配置文件,做如下修改 workstation: vim /etc/ntp.conf 17 restrict 192.168.40.0 mask 255.255.255.

NTP+FreeIPA+ssh

环境:物理环境  windows7 虚拟环境  centos 7.0 设备:workstation(workstation.example.com) server1(server1.example.com) server2(server2.example.com) database(database.example.com) 一.NTP   网络时间协议   (保证相同时间戳) 1.workstation跟互联网的时间同步 2.database,server1,server2跟workstati