Linux 第13天
时间: 20180730
文本操作命令学习
/dev/urandom 一个生成随机字符的设备
cat /dev/urandom |tr -dc '[:alnum:][:print:]' |head -c10 输出一个随机字符串
做密码使用
paste 将两个文档的内容依照行号对位输出至标准输出
-d 指定两个文档的对位输出时中间的分隔符,默认为tab
-s 将每个文档合并成一行,然后再将两个文档合并在一起,变成两行内容
wc 统计文档的行号字符等
-l 输出文档的行号
-w 输出文档的字数
-c 输出文档的字节数
-m 输出文档的字符数
netstat 输出网络连接,路由表,接口状态信息等
sort 排序文档的行
-t 指定要排序的字段分割符
-k 指定要排序的第几字段
-n 以数字大小方式排序
-r reverse 反转排序
-u 去重复,去除重复的行
-R 随机排序
uniq 输出或忽略重复的行
-c 输出重复行的数量
-u 只输出不重复的行
-d 只输出重复的行
diff 输出两个文件的不同之处
diff -u file1 file2
-u 输出两个内容之差,并显示怎样修改其每一个文件后会和另外一个相同
patch 可以通过diff所比对的不同来通过其中一个文件来还原另外一个文件
patch -b orifile diffFile
-b 备份文件
grep
-v 反转所匹配到的行
-i 匹配时忽略字符大小写
-n 显示所匹配到的行的行号
-c 显示所匹配到的行的次数
-o only 只显示匹配到的文本
-q 静默模式,表示只查找是否匹配到,使用echo $?可以查询是否匹配到,用来做检测使用
-A 输出匹配到的行加上后N行的内容
-B 输出匹配到的行加上前N行的内容
-C 输出所匹配的行前后多几行内容
-e 实现匹配多个pattern,之间是或关系
-w 表示匹配一个单词,即中间是以非下划线,和数字组成的一个单词
-E 使用扩展的正则表达式
-F 使用fgrep即不使用正则表达式,直接匹配其字符串,速度快
基本正则表达式
字符匹配
. 匹配任意单个字符
[] 匹配中括号中指定的任意单个字符
[^] 匹配除中括号中指定的任意单个字符
[:alnum:] [:digit:] [:upper:] [:lower:]
[:punct:] [:alpha:] [:space:] [:blank:]空格和制表符
[:print:] 可打印字符 [:cntrl:]
匹配次数
\? 匹配前方字符0次或1次
* 匹配前方字符任意次,包含0次
.* 表示任意字符任意次
\{n\} 匹配前方字符n次
\{n,\} 匹配前方字符至少n次
\{n,m\} 匹配前方字符至少n次,最多m次
\{,m\} 匹配前方字符m次以内,包含0次
\+ 匹配前方字符至少一次
位置锚定
\< 或 \b 匹配词首,即该单词词首是以非下划线,或数字,字母隔开的单词
\> 或 \b 匹配词尾
\ 匹配整个单词
^ 匹配行首
$ 匹配行尾
^$ 匹配空行
^[[:space:]]*$ 匹配带空格的空行
分组
将一个模式或多项匹配合起来成一个整体,供后向引用
后向引用是引用前方括号中的模式所匹配的字符,而非模式本身
\(pattern\)
扩展正则表达式
字符匹配(与基本正则匹配是有的将反斜线去除)
. 任意单个字符
[] 指定范围内任意单个字符
[^] 指定范围外任意单个字符
匹配次数
* 前方字符任意次数
? 前方字符0次或1次
{n} 精确匹配前方字符n次
{n,} 匹配前方字符至少n次
{n,m} 匹配前方字符至少n次,至多m次
{,m} 匹配前方字符最多m次
位置锚定
^ 行首
$ 行尾
< 词首
> 词尾
分组
()
后向引用 \1,\2...
nmap 网络探测和端口检测工具
nl 输出文档的行号(只输出有文本的行的行号)
last 输出最近登录此机器的用户
lastb 输出最近登录此机器未成功的用户