linux命令3

重定向:

  >:重定向覆盖标准输出

        cat r1.txt >r2.txt 把cat r1.txt的执行结果输出并覆盖r2.txt

  >>: 重定向追加标准输出

        cat r1.txt >>r2.txt 把cat r1.txt的执行结果输出并追加到r2.txt

  2>: 重定向覆盖错误输出

       cat rr.txt 2>r2.txt ,rr文件不存在,把错误信息输出并覆盖r2.txt内容

  2>>: 重定向追加c错误输出

       cat rr.txt 2>>r2.txt 把cat r1.txt的执行的错误结果输出并追加到r2.txt(rr文件不存在)

  &>:重定向覆盖标准和错误输出

      cat rr.txt &>r2.txt 把cat r1.txt的执行的错误结果输出并覆盖到r2.txt(rr文件不存在)

      cat r1.txt &>r2.txt 把cat r1.txt的执行的错误结果输出并覆盖到r2.txt

  &>>:重定向追加标准和错误输出

      cat rr.txt &>r2.txt 把cat r1.txt的执行的错误结果输出并追加到r2.txt(rr文件不存在)

      cat r1.txt &>r2.txt 把cat r1.txt的执行的错误结果输出并追加到r2.txt

  <:输入重定向

     cat < /etc/passwd 把路径/etc/passwd给到cat,

     tr 'a-z' 'A-Z' <ls -l 把ls -l结果重定向到tr把小写转大写

  <<结束符:在此处生成文档,不是重定向

     例1:不会生成文件

       cat <<END

       >this a line

       >this new lines

       >END

      例2:生成一个file_r1.txt文件,文件有2行内容

       cat  <<END  >>/user1/file_r1.txt

       >this a line

       >this new lines

       >END

set:

     set - C 禁止对已存在的文件使用覆盖重定向

     set +C关闭上述功能

     cat r1.txt >| r2.txt 在set - C条件下,用  “|”    把cat r1.txt的执行结果输出并覆盖r2.txt

管道"|":命令

       echo "hello world" | tr a-z A-Z 把第一个输出的“hello world” 作为第二个的输入参数并转换为大写输出

       echo "tom" | passwd --stdin tom把第一个输出的“tom” 作为第二个的标准输入参数并修改tom密码

       cut -d :-f 3 /etc/passwd |sort -n

tee:既能保存到文件,又能输出到命令窗口

      echo “hello world” | tee /user1/r1.txt,把hello world 输出到命令窗口并写入r1.txt文件

grep:按照某种模式查找文件中匹配的行

      grep “root” /etc/passwd

      -i:不分大小写:grep -i “tom” /etc/passwd

      --color:字符红色亮起:grep --color  “tom” /etc/passwd

     -v:显示没有被匹配到的行:grep -v “tom” /etc/passwd

     -o:显示匹配到的字符串:grep -o “tom” /etc/passwd

    -E:使用扩展正则表达式,等于egrep,而fgrep是快速查找,不支持正则表达式

       +:其前面的字符至少一次

       {m,n}:期前字符出现m到n次

       ():分组,\1

       |:或

    -A 数字:显示匹配到的一行及后面2行

    -B 数字:显示匹配到的一行及前面2行

    -C 数字:显示匹配到的一行及后前2行

 

正则表达式:

         .:表示任意单个字符

         *:表示前面的字符任意次

        ?:前面的字符出现0或1次

        \{m,n\}:前面字符出现至少m次,最多n次

         ^:表示以什么开始 grep ‘^root’  /etc/passwd

         $:表示以什么结束 grep 'root$' /etc/passwd

         ^$:表示空白行

         []:表示匹配中括号内的字符

         [^ ]表示任何非匹配中括号字符

       [ [:space:]]:空格

        [[:upper:]]:大写

        [[:lower:]]:小写

        [[:punct:]]:任何字符

       [ [:digit:]]:数字

        [[:alpha:]]大小写字母

       [ [:alnum:]]:大小写字母和数字

      \<或\b:其后面的字符必须作为单词首部出现 grep "\<root" /etc/passwd

      \>或\b:其前面的任意字符必须作为单词尾部出现 grep  "root\>" /etc/passwd

     \(\):表示整体,\(ab\)*表示ab整体要么出现,要么不出现 ,为了能引用的 grep  “\(r..t\)”.*\1 /ect/passwd       \1表示引用“\(r..t\)”

 总结:

        文件命令:cat    grep     tee

posted @ 2020-05-13 15:15  jack_浩  阅读(174)  评论(0)    收藏  举报