linux中常见的命令

时间:2022-11-22 16:08:31
  • wc

     wc -l /etc/passwd(统计行数)

     wc -w /etc/passwd(统计单词个数)

     wc  -c /etc/passwd(统计字符个数)

     wc -lwc  /etc/passwd(统计文件中行数、单词个数、字符个数)


  •  cut命令可以从一个文本文件或者文本流中提取文本列。

    cat /etc/passwd |cut -d ':' -f 1,7(行分割符为:,取1和7字段)

    cat /etc/passwd|cut -d ':' -f 1-3(取1-3字段)

    cat /etc/passwd|cut -d ':' -f 1-(取1到最后一个字段)


  •  uniq

    -i:忽略大小写

    -c:统计相同的行数

    -u:显示独一无二的行

    -d:显示有重复的行

    -dc:统计并显示有重复的行

    -uc:统计并显示没有重复的行

     

testfile:
hello
world
friend
hello
world
hello
lky

sort testfile |uniq -dc(对文件进行排序,然后显示并统计有重复的行)
sort testfile |uniq -uc(对文件先排序,然后显示没有重复的行)
sort testfile |uniq (对文件先排序,然后去重)

  •  sort
选项与参数:
-f  :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b  :忽略最前面的空格符部分;
-M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的数据中,仅出现一行代表;
-t  :分隔符,默认是用 [tab] 键来分隔;
-k  :以那个区间 (field) 来进行排序的意思

  cat /etc/passwd |sort(默认以第一个数据进行排序)

  cat /etc/passwd |sort -t ':' -k 3(分割符为:,以第三个字段进行排序)

  cat /etc/passwd |sort -t ':' -k 3n(分割符为:,以第三个字段进行排序并按数字进行排序,默认是按照字符串进行排序)

  cat /etc/passwd |sort -t ':' -k 3nr(分割符为:,以第三个字段进行排序并按数字进行排序并降序排序,默认是按照字符串进行排序,默认是按照升序进行排序)

  对/etc/passwd,先以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序。

   cat /etc/passwd |sort -t ':' -k 6.2,6.4 -k 1r

  对/etc/passwd按照第七个域进行排序,然后去重

  cat /etc/passwd |sort -t ':' -k 7 -u


  • awk
awk  -F ' '   'pattern+action'  filename
awk -F ':'   '/root/{print $0}'  /etc/passwd
--------------------------------------------------------------------------------
last -n  5 | awk 'BEGIN{print "name,ip"} {if(NF>=9)print $1","$3} END{print "END";}'
--------------------------------------------------------------------------------
统计某个目录下资源大小
ls -al | awk 'BEGIN{size=0;} {if(NF>=5){size=size+$5;};print "current size is : ",size;} END{print "END"}'
--------------------------------------------------------------------------------
输出/etc/passwd中所有用户
awk -F ':' 'BEGIN{count=0;} /^root/{name[count]=$1;count++;}END{for(i=0;i<count;++i){printf("the %s user is %s\n",i,name[i])}}' /etc/passwd
--------------------------------------------------------------------------------