一、vim排错
1、vim执行过程
![16955089-0f9de2d24576ee46.png](https://i-blog.csdnimg.cn/blog_migrate/829b43376fbacfc27cec8cafc5dfea1c.png)
vim执行过程.png
2、故障产生原因
1>同时打开一个文件
2>之前的文件没有正常保存退出
3、解决方法
方法一:
删除这个临时文件(推荐)
注:要删除的临时文件在提示中有,如:
E325: ATTENTION
Found a swap file by the name ".vim.log.swp"
owned by: root dated: Tue Apr 9 09:51:18 2019
file name: /tmp/vim.log
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
[root@linux-yunwei01 tmp]# rm -rf .vim.log.swp
方法二:
把临时文件的内容恢复(不推荐)
[root@oldboyedu59 ~]# vim -r /tmp/oldboy.txt
oldboyedu.com
guoav.com
guoav.com
guoav.com
guoav.com
guoav.com
~
~
"/tmp/oldboy.txt" 6L, 64C written
[root@oldboyedu59 ~]#
[root@oldboyedu59 ~]# cat /tmp/oldboy.txt
oldboyedu.com
guoav.com
guoav.com
guoav.com
guoav.com
guoav.com
[root@oldboyedu59 ~]# rm -f /tmp/.oldboy.txt.swp
[root@oldboyedu59 ~]# vim /tmp/oldboy.txt
oldboyedu.com
guoav.com
guoav.com
guoav.com
guoav.com
guoav.com
~
[root@oldboyedu59 ~]#
二、alias:别名,给命令起小名(补充)
作用:给危险命令加上保护;省事、方便
设置格式:alias 小名=‘命令’
cp mv rm -i
cp === cp -i 覆盖之前提示
rm === rm -i 删除之前提示
例子:
输入net显示网卡的配置文件
1>临时---(重新登录之后生效)
[root@oldboyedu59 ~]# alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@oldboyedu59 ~]# net
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
UUID=fa77146b-1e0c-4544-8ecb-5a98a6ebfc41
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.201
PREFIX=24
GATEWAY=10.0.0.254
DNS1=10.0.0.254
DNS2=223.5.5.5
2>永久
vim打开这个/etc/profile文件,在最后面添加alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0',保存退出后,让配置生效用命令:source /etc/profile
[root@oldboyedu59 ~]# tail -1 /etc/profile
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
##让配置生效
[root@oldboyedu59 ~]# source /etc/profile
3>检查
[root@oldboyedu59 ~]# alias net
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
三、三剑客老三-grep:在文件中进行查找(过滤)
[root@oldboyedu59 ~]# alias grep
alias grep='grep --color=auto' #centos 7下面 默认就有 CentOS6 5需要手动配置
参数:
-n:显示行号和内容
[root@linux-yunwei01 ~]# grep -n 'ssh' /tmp/vim.log
41:ssh 22/tcp # The Secure Shell (SSH) Protocol
42:ssh 22/udp # The Secure Shell (SSH) Protocol
547:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
587:ssh 22/sctp # SSH
1369:sshell 614/tcp # SSLshell
1370:sshell 614/udp # SSLshell
1623:netconf-ssh 830/tcp # NETCONF over SSH
1624:netconf-ssh 830/udp # NETCONF over SSH
7208:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
7209:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
8460:snmpssh 5161/tcp # SNMP over SSH Transport Model
8461:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
9082:tl1-ssh 6252/tcp # TL1 over SSH
9083:tl1-ssh 6252/udp # TL1 over SSH
10656:ssh-mgmt 17235/tcp # SSH Tectia Manager
10657:ssh-mgmt 17235/udp # SSH Tectia Manager
[root@linux-yunwei01 ~]#
-w:按照单词进行过滤
[root@linux-yunwei01 ~]# grep -w 'ssh' /tmp/vim.log
ssh 22/tcp # The Secure Shell (SSH) Protocol
ssh 22/udp # The Secure Shell (SSH) Protocol
x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
ssh 22/sctp # SSH
netconf-ssh 830/tcp # NETCONF over SSH
netconf-ssh 830/udp # NETCONF over SSH
sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
sdo-ssh 3897/udp # Simple Distributed Objects over SSH
tl1-ssh 6252/tcp # TL1 over SSH
tl1-ssh 6252/udp # TL1 over SSH
ssh-mgmt 17235/tcp # SSH Tectia Manager
ssh-mgmt 17235/udp # SSH Tectia Manager
-i(ignore-case):过滤的时候忽略大小写
[root@linux-yunwei01 ~]# grep -i 'ipaddr' /tmp/vim.log
IPADDR=10.0.0.200
[root@linux-yunwei01 ~]#
-v:找出不包含xxx的行(排除、取反)
[root@linux-yunwei01 ~]# grep -v '#' /tmp/vim.log
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
systat 11/udp users
grep命令练习题:
过滤出文件中包含oldboy的行及行号:
过滤出文件中包含oldboy(不区分大小写)的行及行号
过滤出不包含oldboy(不区分大小写)的行
按单词过滤出oldboy(不区分大小写)
#准备环境:
cat >/tmp/oldboy.txt<<EOF
oldboy
alex
oldboyoldboy
alexoldboy
Oldboy oLdboy
OLDBOY
EOF
#1.过滤出文件中包含oldboy的行及行号
[root@oldboyedu59 ~]#
[root@oldboyedu59 ~]# grep -n 'oldboy' /tmp/oldboy.txt
1:oldboy
3:oldboyoldboy
4:alexoldboy
#2.过滤出文件中包含oldboy(不区分大小写)的行及行号
[root@oldboyedu59 ~]# grep -in 'oldboy' /tmp/oldboy.txt
1:oldboy
3:oldboyoldboy
4:alexoldboy
5:Oldboy oLdboy
6:OLDBOY
#3.过滤出不包含oldboy(不区分大小写)的行
[root@oldboyedu59 ~]# grep -iv 'oldboy' /tmp/oldboy.txt
alex
[root@oldboyedu59 ~]# cat /tmp/oldboy.txt
oldboy
alex
oldboyoldboy
alexoldboy
Oldboy oLdboy
OLDBOY
#4.按单词过滤出oldboy(不区分大小写)
[root@oldboyedu59 ~]# grep -i 'oldboy' /tmp/oldboy.txt
oldboy
oldboyoldboy
alexoldboy
Oldboy oLdboy
OLDBOY
[root@oldboyedu59 ~]# grep -iw 'oldboy' /tmp/oldboy.txt
oldboy
Oldboy oLdboy
OLDBOY
四、tr:替换(1对1替换)
注:< 输入重定向符号
tr与<连用
[root@linux-yunwei01 ~]# tr 'a-z' 'A-Z'< /tmp/oldboy.txt
OLDBOY
ALEX
OLDBOYOLDBOY
ALEXOLDBOY
OLDBOY OLDBOY
OLDBOY
[root@linux-yunwei01 ~]#
五、Linux文件属性
![16955089-66d193944e007b90.png](https://i-blog.csdnimg.cn/blog_migrate/d1215edb530205af6ee273dc4c1b1b16.png)
Linux文件属性.png