zoukankan      html  css  js  c++  java
  • 常见命令用法总结

    目录:
    1、关于grep的总结  2、关于egrep的总结  3、关于tr的总结 4、关于sort的总结  5、关于uniq的总结  6、关于cut的总结  7、关于tee的总结  8、关于split的总结
    9、关于type的使用  10、关于find的使用  11、关于xargs的使用
    关于grep的总结
    找出所需字符串的时候可用引号也可以不用引号。
    1、grep bc test
    2、grep "bc" test
    3、grep 'bc' test
    注:以上3中形式都能找出test文件中相对应含有字符串bc的行并打印出来。
    比较常用的参数有;
     -i, --ignore-case         忽略大小写
    -n, --line-number         print line number with output lines
     -v, --invert-match        select non-matching lines 显示不匹配的行
     -h, --no-filename         suppress the prefixing filename on output查询多文件时不显示文件名
     -l, --files-with-matches  print only names of FILEs containing matches查询多文件时只显示文件名
    grep select * ,列出当前目录下所有包含select 字样的文件名及含有select字样的行。
    grep -h select * ,和上一条相似,但不显示文件名称。
    grep -l select * ,和第一条相似,但只显示文件名。


    2、关于egrep的总结
    egrep 是扩充功能的grep
    egrep ‘2|5’ 1.txt ,列出含有2或者5的行
    egrep '12(@|3)' test 列出含有12且后面紧跟@或3的行


    3、关于tr的总结
    从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
    -s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的
    重复,在替换时会被统一缩为一个字符的长度
    tr test '12' '45' 将文件中的12替换为45
    cat test |tr '[a-z]' '[A-Z]' 将文件中的小写全部替换为大写
    tr ' ' ' ' <test 把test文件中的所有空格替换为换行
    tr -s ' ' ' ' <test 把test文件中每行中连续出现的空格替换为一个空格


    4、关于sort的总结
    sort [选项]... --files0-from=F
    串联排序所有指定文件并将结果写到标准输出。
    -c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操作
    -r, --reverse 逆序输出排序结果
     -n, --numeric-sort 根据字符串数值比较
    -k, --key=位置1[,位置2] 在位置1 开始一个key,在位置2 终止(默认为行尾)
     -u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果


    5、关于uniq的总结
    uniq对重复的行只保留一行。 【注意】对于处理字符长的时候一般先sort然后再uniq。
     -c, --count 在每行前加上表示相应行目出现次数的前缀编号
    -d, --repeated 只输出重复的行


    6、关于cut的总结
    cut 主要的用途在于将一行里面的数据进行分解,最常使用在分析一些数据或文字数据的时候!
    这是因为有时候我们会以某些字符当作分割的参数,然后来将数据加以切割,以取得我们所需要的
    数据。
     cut  -d" " -f1  test 以空格为分割符,并输出第一列
    last | cut -c1-20 //将 last 之后的数据,每一行的 1-20 个字符取出来


    7、关于tee的总结
    将数据输出重定向到文件的时候,屏幕上就不会出现任何的数据!那么如果我们需要将数据同时
    显示在屏幕上跟档案中呢?这个时候就需要 tee 这个指令。
    last |tail |tee last.list | cut -d " " -f1 将last的最后10行写进last。last文件
    并接着处理并输出在屏幕。


    8、关于split的总结
    将大的文件分割成小的文件。
      -l, --lines=数值 指定每个输出文件有多少行
    -C, --line-bytes=大小 指定每个输出文件里最大行字节大小


    9、关于type的使用
    type打印一个命令的绝对路径
    [guo@guo ~]$ type vim
    vim is hashed (/usr/bin/vim)
    [guo@guo ~]$ type perl
    perl is /usr/bin/perl


    10、关于find的使用
     find /home/guo/  -name  test找出文件夹guo中的test文件
    find / -name “*apple* -print
    find /home –name “[!abc]”
    find /home –name “?[1-9]”
    find / -type d(f b c l p)
    find / -mtime -5 查找最后修改小于5天的文件
    -mtime文件修改时间//vi、echo修改文件会改变此文件时间
    -atime文件访问时间//用cat、vi查看会改变此文件时间
    -ctime文件改变时间// vi 、echo修改文件、chmod、chown会改变
    此文件时间
    stat fileanme查看以上3个时间


    11、关于xargs的使用


    xargs从标准输入中接受单词列表的命令,并把这些单词作为参数传递给指定的命令
    ls |xargs rm//把ls列出的内容再通过rm删除
    可以每次删除一部分文件
    ls |xargs –n 2 rm
    ls | xargs –n 2 echo “==>”
    有时目录里文件太多了不能使用rm *删除这时
    ls | grep ‘^abc’ |xargs –n 20 rm


    12、关于bc的使用
    bc命令:进行算术运算,但不限于整数运算
    scale=4 //表示计算结果保留4位小数
    bc还可以用在shell变量赋值中
    ABC=`echo “scale=4;8/3” | bc`
    echo $ABC




    脚本编程
    1.1.1.1 www.baidu.com
    2.2.2.2 www.baidu.com
    3.3.3.3. www.sina.com.cn
    2.2.2.2 www.chinauxin.net
    2.2.2.2 www.51cto.com
    1.1.1.1 www.linuxtone.org


    输出
    2.2.2.2 www.baidu.com,www.chinauxin.net,www.51cto.com
    1.1.1.1 www.baidu.com,www.linuxtone.org
    3.3.3.3. www.sina.com.cn
     awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' file




    创建html文件  ::cat 运维必备.html  |sed -e '/^$/d'|sed  -n  '2,$ s/^/<br>/p' |sed 's/$/</br>/' >a.html


     内核、Shell、文件系统这三个部分构成了linux系统


     合并两个文件
    paste 1 2|awk '{if($1 ~$2) print $1 ;else print $0}' 


     a=`date +"%Y-%m-%d  %H : %M : %S" -d "5 min ago"`
  • 相关阅读:
    用Shell判断字符串包含关系
    shell命令调用http接口(curl方式)
    shell脚本实现发送信息到钉钉
    功能测试特殊字符处理总结
    Java_Swing实现小球沿正弦曲线运动的代码
    Python迁移MySQL数据到MongoDB脚本
    1. WP8.1学习笔记
    0. WP8.1学习笔记
    小练习--低仿系统计算器
    C#字符串题目
  • 原文地址:https://www.cnblogs.com/linuxer/p/3260329.html
Copyright © 2011-2022 走看看