外部命令

cut-paste-cat-tee-grep-info-top-pidof-setterm

网络工具类
ss-netstat-ping-dig-traceroute-nc-ip-tcpdump
进程类
lsof-fuser-ps-top
文件系统类
fsck-dumpe2fs-tune2fs-resize2fs-lsattr-chattr
硬盘检测类
hdparm-badblocks-smartctl
性能分析类
iostat(i/o)-vmstat(内存)-free-uptime-sar-mpstat(cpu)
性能调优类
sysctl-ulimit
流量监视类
iptraf-nload-iftop

以下内容是通过阅读info文档而来的,收获是阅读英文文档,可以清楚明白很多细节。

[root@250-shiyan frag]# info coreutils "cut"

cut 

-b|-c     可以认为是一样的

-f    字段

-d    分隔符

Bytes, characters, and fields are numbered starting at 1.

[root@250-shiyan frag]# cat eth.sh

#!/bin/bash

while [ 1 -gt 0 ]

 do

 eth=`ifconfig eth0|grep "TX bytes"|gawk '{print $6}'|cut -d ":" -f2`

 echo $eth >> /root/sh/jj

 sleep 2

 done

[root@250-shiyan frag]# cut -c5-8 eth.sh

in/b

e [



=`if

o $e

ep 2

e

[root@250-shiyan frag]# cut -c5,8 eth.sh

ib

e



=f

oe

e2

e

[root@250-shiyan frag]# cut -c5,8 eth.sh --output-delimiter=" "

i b

e



= f

o e

e 2

e

[root@250-shiyan frag]# cut -c-8 eth.sh

#!/bin/b

while [

 do

 eth=`if

 echo $e

 sleep 2

 done

[root@250-shiyan frag]# cut -c8- eth.sh

bash

 1 -gt 0 ]



fconfig eth0|grep "TX bytes"|gawk '{print $6}'|cut -d ":" -f2`

eth >> /root/sh/jj

2



默认以tab为分隔符,如果没有默认也没有指定分隔符,则打印整行。如果需要其它,则用-d指定。

Fields are separated by a TAB character by default.  Also print any line that contains no delimiter character, unless the `--only-delimited' (`-s') option is specified

[root@250-shiyan frag]# cat >aa

wo      iej     iiii

 jo eif oef     wowp

kdfjdf fsjksjd sdkf

[root@250-shiyan frag]# cut -f2 aa

iej

oef

kdfjdf fsjksjd sdkf

不打印没有分隔符的行。

[root@250-shiyan frag]# cut -f2 aa -s

iej

oef

 

[root@250-shiyan frag]# info coreutils "paste"

paste把由每一个给定文件对应行顺序组成的新行写到标准输出上,默认用tab分隔

[root@250-shiyan frag]# cat > a

11

12

13

14

15

[root@250-shiyan frag]# cat > b

1

2

3

4

5

[root@250-shiyan frag]# paste a b

11      1

12      2

13      3

14      4

15      5

[root@250-shiyan frag]# paste a b -s

11      12      13      14      15

1       2       3       4       5

[root@250-shiyan frag]# paste a b a -d '%_'

11%1_11

12%2_12

13%3_13

14%4_14

15%5_15

 

cat    Concatenate(连接) and write files

cat拷贝每个文件或标准输入到标准输出

####-b 不标号空行

[root@250-shiyan cmd]# cat -b log.sample

     1  # rsyslog v5 configuration file



     2  # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html

     3  # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html



     4  #### MODULES ####

####-s 将多个连续空行压缩为一个

[root@250-shiyan cmd]# cat -n log.sample

     1  # rsyslog v5 configuration file

     2

     3

     4

     5  # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html

     6  # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

     7

     8

     9  #### MODULES ####

[root@250-shiyan cmd]# cat -ns log.sample

     1  # rsyslog v5 configuration file

     2

     3  # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html

     4  # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

     5

     6  #### MODULES ####

[root@250-shiyan cmd]# cat -A aa.sample

wo^Iiej^Iiiii$

 jo eif^Ioef^Iwowp$

kdfjdf fsjksjd sdkf$

 

[root@web ~]# echo 12345 | tee

12345

[root@web ~]# echo 12345 | tee -

12345

12345

[root@web ~]# echo 12345 | tee - -

12345

12345

12345

[root@web ~]# echo -n 12345 | tee

12345[root@web ~]# echo -n 12345 | tee -

1234512345[root@web ~]# echo -n 12345 | tee - -

123451234512345[root@web ~]# echo -n 12345 | tee - - -

12345123451234512345[root@web ~]# echo -n 12345 | tee - - - -

1234512345123451234512345[root@web ~]# 



####标准输出一次

tee

tee file

####屏幕一次,文件一次

tee -a file

####标准输出二次

tee -

####标准输出二次,同时保存到文件中

tee file1 file2 -



示例一 tee命令与重定向的对比

[root@web ~]# seq 5 >1.txt

[root@web ~]# cat 1.txt

1

2

3

4

5

[root@web ~]# cat 1.txt >2.txt

[root@web ~]# cat 1.txt | tee 3.txt 



示例三 使用tee命令把标准错误输出也保存到文件

[root@web ~]# ls "*"

ls: *: 没有那个文件或目录

[root@web ~]# ls "*" | tee -

ls: *: 没有那个文件或目录

[root@web ~]# ls "*" | tee ls.txt

ls: *: 没有那个文件或目录

[root@web ~]# cat ls.txt

[root@web ~]# ls "*" 2>&1 | tee ls.txt

ls: *: 没有那个文件或目录

[root@web ~]# cat ls.txt

ls: *: 没有那个文件或目录

[root@web ~]#

 

BRE
^ 行首
$ 行尾
. 任意单个字符
\ 转义
* 前面的字符重复0到多次
[] 匹配其中之一
[0-9a-z] 匹配范围
[^a] 匹配非a
\< 单词开头
\> 单词结尾
\{2,3\} 前面的字符重复2,3次

ERE
+
?
|
()

grep 一般情况下支持基本正则表达式,可以通过参数-E支持扩展正则表达式,另外grep单独提供了一个扩展命令叫做egrep用来支持扩展正则表达式,这条命 令和grep -E等价。虽然一般情况下,基本正则表达式就够用了。特殊情况下,复杂的扩展表达式,可以简化字符串的匹配。
扩展正则表达式就是在基本正则表达式的基础上,增加了一些元数据。
`grep' searches the input files for lines containing a match to a given pattern list.
grep 在输入文件里搜索给定模式在行里的匹配
 When it finds a match in a line, it copies the line to standard output (by default), or produces whatever other sort of output you have requested with options.

GREP 是 Global Regular Expression Print 的缩写
1.grep是一个搜索程序,它只能搜索匹配一个正则表达式的一行的存在性. 2.grep可以对一行采取唯一的动作是把它发送到标准输出. 如果该行不匹配正则表达式,则其不被打印. 3.行的选择只基于正则表达式. 行编号或其他准则不能用于选择行. 4.grep是一个过滤器. 它可用在管道的左边或右边. 5.grep不能用于增加,删除或修改行,只用于打印。 6.grep不能用于只打印行的一部分. 7.grep不能只读取文件的一部分. 8.grep不能基于前面的内容或下一行来选择一行.只有一个缓冲区,它只保存当前行. 匹配特殊字符,查询有特殊含义的字符,诸如$ .‘ ” * [] ^ | \ + ? ,必须在特定字符前加\。 [root@250-shiyan grep]# cp /usr/include/fstab.h ./ [root@250-shiyan grep]# ls a.grep fstab.h [root@250-shiyan grep]# pwd /root/sh/grep [root@250-shiyan grep]# cat a.grep ####有时模式匹配的双引号可以不加,但一般加上,选项可前可后 ####单个文件里 grep "fstab" fstab.h -c echo "---------------------------------------------------" grep "fstab" fstab.h --color echo "---------------------------------------------------" grep "fstab" fstab.h --color -i echo "---------------------------------------------------" grep "fstab" fstab.h --color -on echo "-----------------------------------------" grep -f pattern.txt -bn --color fstab.h echo "-------------------------------------" grep "fstab" fstab.h -nx --color echo "-------------------------------------" ####多个文件及递归 grep -bn --color "for" aa ab grep -bn --color "for" * grep -rn --color "for" * ####列出匹配的文件名,查询多文件时只输出包含匹配字符的文件名。 grep -l --color for * ####列出不匹配的文件名 grep -L --color for * ####与上面的正好相反,不打印文件名,查询多文件时不显示文件名。 grep -hn --color for * ####列出单词for,而不是包含for的所有行 grep -w --color for * grep -A 1 FAILED  匹配及其后一行 grep -B 1 FAILED  匹配及其前一行 grep -C 1 FAILED  匹配及其前后各一行 grep "\<80\>"    精确匹配80,而不是8005或808都匹配,

 

info命令
x Close this help window. q Quit Info altogether. H Invoke the Info tutorial. TAB Skip to the next hypertext link. 上一次看到的屏,跳跃
b       (beginning-of-node)             Move to the start of this node
e       (end-of-node)                   Move to the end of this node l Go back to the
last node seen in this window. 前一个节点,顺序 [ Go to the previous node in the document. 后一个节点,顺序 ] Go to the next node in the document. 前一个子目录 p Go to the previous node on this level. 后一个子目录 n Go to the next node on this level. 一层一层往上返 u Go up one level. 到本文档的根 t Go to the top node of this document. 到根 d Go to the main `directory' node.
数字对应菜单项 1...9 Pick the first...ninth item in this node's menu.

top命令
字段解释:
  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称
  
子命令:
  P:按%CPU使用率排行
  T:按TIME+排行
  M:按%MEM排行
字段:
f 选择字段  选择显示列:执行top命令后,按 f 键,再按某一列的代表字母,即可选中或取消显示;
o 排序字段  列显示位置调整:执行top命令后,按 o 键,选择要调整位置的列(如K:CUP Usageage),按动一下大写K则显示位置往上调整,按动一下小写K则显示位置往下调整。
F或者O 列排序   执行top命令后,按 shift + f(小写),进入选择排序列页面,再按要排序的列的代表字母即可;
排序,默认是按cpu排序,>左移一列排序,shift+r反向,<右移一列排序。

只显示asterisk及其线程的top显示。
top -H -p `pidof asterisk`

 

你可能感兴趣的:(命令)