文件过滤命令

|:将管道符左边命令的标准输出,交给管道符右边命令的标准输入来处理

grep:过滤输出内容

|:管道符

作用:将管道符左边命令的标准输出,交给管道符右边命令的标准输入来处理
grep:过滤输出内容
^:以...开头
[root@C /]# grep '^疾' yjc
疾风剑豪?亚suo
疾风剑豪?亚suo
[root@C /]# grep 'd' /yjc
df$二连迅速击杀敌人,然后死在团战

$:以...结尾
[root@C /]# grep '色$' /yjc
是MOBA竞技网游《英雄联盟》中第117位登场的英雄角色
是MOBA竞技网游《英雄联盟》中第117位登场的英雄角色

*:匹配*前面的内容至少0次或多次
[root@C /]# grep '风.*' /yjc
疾风剑豪·亚suo
疾风剑豪·亚suo

.:匹配任意字符
[root@C /]# grep 'a.' /yjc
a122

-n:在显示符合范本样式的那一列之前,标示出该列的行号
[root@C /]# grep -n 'a' /yjc
8:a122
-A:加上想查看行数数字,显示查看字符的后面行数内容
-B:与-A相反
-C:前后加行数数目,显示前后行数所有内容
-v:匹配不包含指定关键字的行
-E: 过滤内容.也可以过滤多个内容,需要加|使用
[root@C /]#grep -E '疾|use|a‘ /yjc
-o:只输出文件中匹配到的部分
[root@C /]# grep -o '风' /yjc


-i:忽略字符大小写的差别
[root@C /]# grep -i 'a' /yjc
是MOBA竞技网游《英雄联盟》中第117位登场的英雄角色
是MOBA竞技网游《英雄联盟》中第117位登场的英雄角色
a122
# [a-zA-Z][]取值范围
如果前面a是大写则对应AICLL码表显示,Z可以用大写,输入a-Z,则匹配所有大小写字母,A-Z则匹配显示内容所有大写字母
[root@C /]# grep '[a-zA-Z]' /yjc
疾风剑豪·亚suo
是MOBA竞技网游《英雄联盟》中第117位登场的英雄角色
疾风剑豪·亚suo
是MOBA竞技网游《英雄联盟》中第117位登场的英雄角色
英雄定位为战士、刺客。亚索是一位近战爆发AD刺客
a122
df$二连迅速击杀敌人,然后死在团战



*正则表达式就是一种计算机描述语言,通过正则表达式可以直接告诉计算机所需要的是字母A并精确匹配定位,也可以告诉计算机需要的是26个字母中的任意一个字母进行匹配等等

文件的上传和命令下载

rz如何把windows的文件上传到虚拟机里(文件从本地上传到服务器)

*上传的时候,如果上传到的linux目录有同名的文件,是无法上传的,需要先删掉linux上的同名文件

sz如何把虚拟机的文件下载到windows里(从服务器发送文件到本地,或是说本地从服务器上下载文件)

需要安装lrzsz
[root@localhost <sub>]# yum install -y lrzsz
注意:只能虚拟机和物理机之间上传下载
安装wget命令
[root@localhost </sub>]# yum install -y wget
wget 下载地址
-O:指定下载的位置和文件的名字

文件查找命令

type -a 只针对系统内置命令
查找命令位置的命令 which
which 只能查找命令
## 举例
[root@localhost <sub>]# which grep
alias grep='grep --color=auto'
/usr/bin/grep
[root@localhost </sub>]# which mkdir
/usr/bin/mkdir
[root@localhost <sub>]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@localhost </sub>]# which mv
alias mv='mv -i'
/usr/bin/mv
[root@localhost ~]# which rm
alias rm='rm -i'
/usr/bin/rm

字符处理命令-排序

sort
## 语法
sort [选项]... File...
## 选项
-t:指定分隔符
-k:指定按照某一列,进行排序
-n:按照阿拉伯数字排序
-r:reverse 倒叙排序
## 举例
cat >> sort.txt <<EOF
b:3
c:2
a:4
e:5
d:1
f:11
EOF
[root@localhost <sub>]# cat paixu.txt
b:3
c:2
a:4
e:5
d:1
f:11
[root@localhost </sub>]# sort paixu.txt
a:4
b:3
c:2
d:1
e:5
f:11
## 注意:默认按照每一行的第一个字符进行排序,如果字符相同就往后推,字母按照a-z的顺序排序,排序不修改源
文件内容
# -t -k
[root@localhost <sub>]# sort -t ':' paixu.txt
a:4
b:3
c:2
d:1
e:5
f:11
[root@localhost </sub>]# sort -t ':' -k 2 paixu.txt
d:1
f:11
c:2
b:3
a:4
e:5
# -n
[root@localhost <sub>]# sort -t ':' -k 2 -n paixu.txt
d:1
c:2
b:3
a:4
e:5
f:11
# -r
[root@localhost </sub>]# sort -rnt ':' -k 2 paixu.txt
f:11
e:5
a:4
b:3
c:2
d:1
## 练习题
cat >> paixuti.txt <<EOF
192.168.3.1 00:0F:AF:81:19:1F
192.168.3.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.1.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1
192.168.1.1 00:0F:AF:81:19:1F
192.168.2.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.2.20 00:0F:AF:85:55:DE
192.168.1.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.0.151 00:0F:AF:85:6C:F6
192.168.1.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.3.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.3.12 00:30:15:A2:3A:A1
EOF
[root@localhost ~]# sort -t '.' -k 4 -n paixuti.txt
192.168.1.1 00:0F:AF:81:19:1F
192.168.3.1 00:0F:AF:81:19:1F
192.168.2.2 00:0F:AF:85:6C:25
192.168.3.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.3.3 00:0F:AF:85:70:42
192.168.1.10 00:30:15:A2:3B:B6
192.168.3.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1
192.168.3.12 00:30:15:A2:3A:A1
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.20 00:0F:AF:85:55:DE
192.168.1.21 00:0F:AF:85:6C:09
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.2.22 00:0F:AF:85:5C:41
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.1.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.0.153 00:0F:AF:85:70:03