# awk #
awk是一个文本分析工具,awk默认的分隔符为空格。
命令:awk+ 选项+ '{print($ 数字 )}'
举例:cat file | awk '{print($3)}' (输出file文档的第二个字段)
举例:cat file |awk -F ":" '{print($4)}' (以: 为分隔符输出第四个字段)
举例:cat passwd | awk -F ":" '{print($1,"+++"$3)}' (打印第一和第三个字段,并在中间加+++)
举例: cat passwd | awk -F ":" '{print $NF }' (打印文本每行的最后一个字段)
举例: cat passwd | awk -F ":" '{print $(NF-1) }' (打印文本每行的倒数第二个字段)
# sed #
sed命令可以对数据进行替换、删除、新增、提取特定行等功能。
s 代表搜索 d 代表删除 g 代表全文 如果不加g则是替换每行第一个出现的内容
举例:cat passwd | sed 's/:/+/g' (将passwd中的所有:改为+)
举例:cat passwd | sed 's/:/+/3g' (将passwd中第三个开始的:改为+)
举例:sed -i 's/:/+/g' file (将file文件中所有的:改为+ ,不打印出来)
命令中的 / 叫定界符,定界符可以选择任意符号,只要不和命令内容冲突即可
^表示一行的开头 $表示一行的结尾
举例: cat passwd | sed 's#^# 用户是:#g' (在每行开头前加上 用户是: )
举例:cat passwd | sed '/^root/' d (删除文件中root开头的行)
cat passwd | sed '/^$/' d (删除文件中空白行)
# grep #
grep命令是在文本中查找指定的正则表达式,并把匹配的行输出。
命令:grep + 选项 + 指定字符 + 文件
举例:cat passwd | grep root (只显示带root的行)
举例: cat passwd | grep -v home (忽略有home的行)
举例: cat passwd | grep - E '^r' (显示以r开头的行)
举例:cat passwd | grep - E 'i$' (显示以i结尾的行)
举例: grep " passwd" /etc -rn (显示etc目录里所有有passwd的文件,并且显示行数)
# find #
find命令用来查找文件。
-m 代表修改过 -a 代表访问过 -c 代表状态被改变 min 代表分钟 time 代表天
min 10 第10分钟前(时刻) time -10 十天前 time +10 从十天前到最早的时间
举例:find / -size 1000k (在根下查找大小为1000k的文件)
find / -name '1*'(在根目录下查找1开头的文件名)
find / -user或-group root -type f(在根下查找属主或者属组是root的文件)
find / amin -10 (过去十分钟内访问过的文件)
find / cmin -10 (过去10分钟状态被改变的文件)
find / -perm 777 (搜索根下权限为777的文件)
# ag #
ag命令的功能相当于grep+find。
举例:ag -g 文件名
ag -i paRt (忽略大小写搜索包含part的文本)
ag -a5 或者 -b5 或者 -c5 part(搜索包含part的文本,显示匹配内容的前5行 或者 后五行 或者 前后各5行)
ag -w part (全匹配搜索,只搜索与内容完全匹配的文本)
ag --java part (在java文件中搜索含有part的文本)
# stat #
用于显示文件信息。
举例:stat file (file 文件的信息)
# split #
用于分割将大文件分割为小文件。
举例: split -b file(按照大小分割)
split -l file(按照行数分割)
xaa xab xac 是分割完后的文件
# sort #
这个命令用来对文件排序。
举例:cat passwd | sort (按照默认的顺序排序)
cat passwd | sort -d (按照字母排序)
cat passwd | sort -n (按照数字排序)
# uniq #
可以用来去除重复的行。(先排序,在去重,uniq只能检测相邻行是否重复)
举例: cat file | sort -d | uniq
# nl #
用来显示内容的行号。和文本编辑器中的 :set nu 功能类似
举例: cat passwd | nl
# curl #
一款文件传输工具。
-i 显示头部信息 -v显示请求全过程 -o下载
命令: curl + 选项 + url
举例: url www.baidu.com
# wget#
也是下载命令,但是支持断点续传。
-b 后台下载 (使用 tail -f wget-log 查看进度
) -c 继续上次任务
# geoip #
查询ip是国内还是国外。