grep 命令
grep -i 不区分大小写
grep -v 不包含当前字符串的结果
grep -n 显示行号
grep -c 统计次数
grep -r 递归查找
grep -F 将特殊字符转为字符串
grep -i 不区分大小写
grep -v 不包含当前字符串的结果
grep -n 显示行号
grep -c 统计次数
grep -r 递归查找
grep -F 将特殊字符转为字符串
wc、awk、split、diff、grep、sed
wc 计算字数,在默认的情况下,wc将计算指定文件的行数、字数,以及字节数
参数:
split 分割文件,在默认情况下将按照每1000行切割成一个小文件
参数说明:
diff 比较文件,diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
参数:
-<行数> 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。
-a或--text diff预设只会逐行比较文本文件。
-b或--ignore-space-change 不检查空格字符的不同。
-B或--ignore-blank-lines 不检查空白行。
-c 显示全部内文,并标出不同之处。
-C<行数>或--context<行数> 与执行"-c-<行数>"指令相同。
-d或--minimal 使用不同的演算法,以较小的单位来做比较。
-D<巨集名称>或ifdef<巨集名称> 此参数的输出格式可用于前置处理器巨集。
-e或--ed 此参数的输出格式可用于ed的script文件。
-f或-forward-ed 输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
-H或--speed-large-files 比较大文件时,可加快速度。
-l<字符或字符串>或--ignore-matching-lines<字符或字符串> 若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
-i或--ignore-case 不检查大小写的不同。
-l或--paginate 将结果交由pr程序来分页。
-n或--rcs 将比较结果以RCS的格式来显示。
-N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:
Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
-p 若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。
-P或--unidirectional-new-file 与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
-q或--brief 仅显示有无差异,不显示详细的信息。
-r或--recursive 比较子目录中的文件。
-s或--report-identical-files 若没有发现任何差异,仍然显示信息。
-S<文件>或--starting-file<文件> 在比较目录时,从指定的文件开始比较。
-t或--expand-tabs 在输出时,将tab字符展开。
-T或--initial-tab 在每行前面加上tab字符以便对齐。
-u,-U<列数>或--unified=<列数> 以合并的方式来显示文件内容的不同。
-v或--version 显示版本信息。
-w或--ignore-all-space 忽略全部的空格字符。
-W<宽度>或--width<宽度> 在使用-y参数时,指定栏宽。
-x<文件名或目录>或--exclude<文件名或目录> 不比较选项中所指定的文件或目录。
-X<文件>或--exclude-from<文件> 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。
-y或--side-by-side 以并列的方式显示文件的异同之处。
--help 显示帮助。
--left-column 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
--suppress-common-lines 在使用-y参数时,仅显示不同之处。
sed sed 可依照脚本的指令来处理、编辑文本文件。主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。linux sed
总结了下常用的语法
正常打印
awk '{print $1}'
表达式
awk '$1 == 2 {print $1}'
表达式中包含字符 用双引号
awk '$1 == "s" {print $3}'
打印整行 $0
awk '{print $0}'
打印最后一列 NF 大写
awk '{print $NF}'
NF 字段数量 大写
awk '{print NF}' //打印字段数量
-F 指定分隔符
awk -F ":" '{print $1, $3}' #以“:”为分隔符分割列,然后打印第一列和第三列
-v 变量赋值
awk -v OFS="" #指定输出分隔符
// 访问最多的ip前十个
cat 'file' | awk '{print $x}' | sort | uniq -c | sort -nr | head -n 10
输出去重后的内容
// 去重并显示重复次数
uniq -c
vim多行操作利用 vim的 VISUAL 模式
具体操作步骤:
① 在命令模式下 按 v ,进入visual模式
② 按ctrl+v,利用↑、↓操作符选中多行
③ 一 输入的话 输入大写I,进入插入模式。二 删除的话 按d
④ 编辑好后按两下ESC,完成
Tips: 最终的下标位置由在进visual模式之前的位置决定,所以可以自行选择位置。
:se nonu
linux 性能监控的指标包括:
CPU、内存、IO、网络等等。
这些子系统之间关系是相互彼此依赖的,任何一个高负载都会导致其他子系统出现问题.比如:
大量的页调入请求导致内存队列的拥塞
网卡的大吞吐量可能导致更多的 CPU 开销
大量的CPU 开销又会尝试更多的内存使用请求
大量来自内存的磁盘写请求可能导致更多的 CPU 以及 IO 问题
所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有可能
是别的子系统导致的.