vim/network/ssh,vimnetworkssh


一、编辑器——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 root@IPADDR --远程登录必须网络相通 # ssh -Y u1@10.1.1.7 --远程登录并允许运行远程机上的图形软件。符号 -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 user@hostname/ipaddress --远程命令行 # ssh -X/Y user@hostname/ipaddress --远程图形界面 # ssh root@192.168.1.33   2、远程传输文件 # scp /etc/passwd root@192.168.1.33:/etc/ --本地传到远程机 # scp root@192.168.1.33:/etc/passwd /etc/ --远程传到本地,加 -r 参数,可传输文件夹   3、其他 # echo something | ssh user@host.com "cat > /somewhere/file" --将本机 echo 出来的字符串,在远程机上 cat 出来,并且重定向 输入到远程机的 /tmp/file 文件中 # echo george | ssh root@192.168.1.33 "cat " --在远程机上运行 cat 命令,命令的输出结果在本地显示 # echo george | ssh root@192.168.1.33 "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 root@10.1.1.67:/root/ --讲私钥传给需要连接过来的客户端 4.2、客户端 # cat id_rsa >> .ssh/id_rsa # ssh root@10.1.1.66 --即可可直接在客户端上登录服务端。不需要密码 4.3、排错 # ssh root@192.168.133.100 --如果出现以下错误,无法使用公钥登录,服务器仍询问登录密码 Agent admitted failure to sign using the key. u11@10.1.1.3's password: 解决方法: # unset SSH_AUTH_SOCK --删除变量SSH_AUTH_SOCK # ssh-add ~/.ssh/id_rsa --用ssh-add 命令添加刚刚创建的私钥

相关内容

    暂无相关文章