主要内容:
-
vim命令的故障及解决方法
-
alias命令的内容补充
-
三剑客之 grep命令
-
tr命令
-
文件属性的简单讲解
一、vim故障及解决方法
1.vim执行过程;如下图
vim执行过程.png
2.故障产生原因
(1)两个xshell窗口同时打开一个文件
(2)编辑文件时突然断开,导致文件没有正常退出
3.解决方法
(1)删除这个临时文件(.xxx.txt.swp)
错误提示中有文件的名字,找到并删除即可
E325: ATTENTION
Found a swap file by the name".1.txt.swp"
[root@oldedu59 ~]# ls -a
.bash_logout .cshrc
.. 1.txt anaconda-ks.cfg .bash_profile
... .1.txt.swp .bash_history .bashrc lod.txt .tcshrc
[root@oldedu59 ~]# rm -f .1.txt.swp
[root@oldedu59 ~]# ls -a
. 1 anaconda-ks.cfg .bash_profile file2.txt old
.. 1.txt .bash_history .bashrc lod.txt .tcshrc
... all.txt .bash_logout .cshrc meinv.txt .viminfo
[root@oldedu59 ~]#
(2)把临时文件的内容恢复(不推荐)
[root@oldedu59 ~]# vim 1.txt
oldboy
oldboy
oldboy
oldboy
oldboy
oldboy
E325: ATTENTION
Found a swap file by the name ".1.txt.swp"
[root@oldedu59 ~]# vim -r 1.txt
oldboy
oldboy
oldboy
oldboy
oldboy
oldboy
[root@oldedu59 ~]# rm -f .1.txt.swp
[root@oldedu59 ~]# vim 1.txt
oldboy
oldboy
oldboy
oldboy
oldboy
oldboy
二、alias 别名:给命令起小名
1.作用
(1)危险命令 加上保护措施
(2)省事 方便 长命令变为短命令
2.配置格式:alias 小名='命令'
(1)临时
[root@oldedu59 tmp]# alias net='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@oldedu59 tmp]# net
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ec2ab149-8316-495e-8883-bbded3f1e53e
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.201
PREFIX=24
GATEWAY=10.0.0.254
DNS1=10.0.0.254
DNS2=223.5.5.5
IPV6_PRIVACY=no
(2) 永久
/etc/profile
[root@oldedu59 ~]# tail -2 /etc/profile
alias net='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
(3)检查
[root@oldedu59 ~]# source /etc/profile
[root@oldedu59 ~]# alias net
alias net='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@oldedu59 ~]#
三、三剑客之 grep:过滤;在文件中查找
1.-n 显示行号
[root@oldedu59 ~]# grep -n '22' /tmp/vim.log
46:ssh 22/tcp # The Secure Shell (SSH) Protocol
47:ssh 22/udp # The Secure Shell (SSH) Protocol
170:imap3 220/tcp # Interactive Mail Access
171:imap3 220/udp # Protocol v3
411:dict 2628/tcp # RFC 2229
412:dict 2628/udp # RFC 2229
465:bpjava-msvc 13722/tcp # BP Java MSVC Protocol
466:bpjava-msvc 13722/udp
2.-w 按单词进行过滤
[root@oldedu59 ~]# grep -w '2222' /tmp/vim.log
EtherNet/IP-1 2222/tcp EtherNet-IP-1 # EtherNet/IP I/O
EtherNet/IP-1 2222/udp EtherNet-IP-1 # EtherNet/IP I/O
EtherNet/IP-1 2222/tcp EtherNet-IP-1 # EtherNet/IP I/O
EtherNet/IP-1 2222/udp EtherNet-IP-1 # EtherNet/IP I/O
EtherNet/IP-1 2222/tcp EtherNet-IP-1 # EtherNet/IP I/O
EtherNet/IP-1 2222/udp EtherNet-IP-1 # EtherNet/IP I/O
3.-i 过滤时不区分大小写
[root@oldedu59 ~]# grep -i 'ipaddr' /tmp/vim.log
IPADDR=10.0.0.201
4.-v 排除/取反
[root@oldedu59 ~]# grep -v '#' /tmp/vim.log
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
四、tr :简单一对一替换
< 输入重定向符号
1.把o(小写O)全部替换为数字0
[root@oldedu59 tmp]# tr 'o' '0' < /tmp/oldboy.txt
0ldb0y
alex
0ldb0y0ldb0y
alex0ldb0y
Oldb0y 0Ldb0y
OLDBOY
2.把小写全部替换为大写
[root@oldedu59 ~]# tr 'a-z' 'A-Z'
五、文件属性
[root@oldedu59 ~]# ls -lhi
total 20K
iNode号码;索引节点 | 文件类型 | 权限 | 硬链接数量 | 1.所有者 ;2.所属家庭 | 文件大小 | 文件的修改时间 | 文件名;不是文件属性 |
---|---|---|---|---|---|---|---|
33575762 | - | rw-r--r-- | 1 | root root | 123 | Apr 8 09:48 | 1 |
33575770 | - | rw-r--r-- | 1 | root root | 396 | Apr 8 08:35 | 1.txt |
33575015 | - | rw-r--r-- | 1 | root root | 16 | Apr 4 16:45 | all.txt |
33574978 | - | rw-------. | 1 | root root | 1.5K | Mar 26 11:47 | anaconda-ks.cfg |
33575760 | - | rw-r--r-- | 1 | root root | 0 | Apr 1 09:42 | file2.txt |
33575019 | - | rw-r--r-- | 1 | root root | 8 | Apr 4 16:14 | lod.txt |
33575018 | - | rw-r--r-- | 1 | root root | 0 | Apr 1 20:18 | meinv.txt |
33575761 | - | rw-r--r-- | 1 | root root | 0 | Apr 1 10:27 | old |