linux中的管道和重定向

管道和重定向

  1. 管道的使用 - |

    例子:查找当前目录下文件个数。

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ find ./ | wc -l
    6152
    

    例子:列出当前路径下的文件和文件夹,给每一项加一个编号。

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ ls | cat -n
         1  dump.rdb
         2  mongodb-3.6.5
         3  Python-3.6.5
         4  redis-3.2.11
         5  redis.conf
    

    例子:查找record.log中包含AAA,但不包含BBB的记录的总数

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ cat record.log | grep AAA | grep -v BBB | wc -l
    
  2. 输出重定向和错误重定向 - > / >> / 2>

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ cat readme.txt
    banana
    apple
    grape
    apple
    grape
    watermelon
    pear
    pitaya
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ cat readme.txt | sort | uniq > result.txt
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ cat result.txt
    apple
    banana
    grape
    pear
    pitaya
    watermelon
    
  3. 输入重定向 - <

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ echo 'hello, world!' > hello.txt
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ wall < hello.txt
    (base) liuzuoping@liuzuoping~Lenove-G480:~$
    Broadcast message from root@iZwz97tbgo9lkabnat2lo8Z (Wed Jun 20 19:43:05 2018):
    hello, world!
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ echo 'I will show you some code.' >> hello.txt
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ wall < hello.txt
    (base) liuzuoping@liuzuoping~Lenove-G480:~$
    Broadcast message from root@iZwz97tbgo9lkabnat2lo8Z (Wed Jun 20 19:43:55 2018):
    hello, world!
    I will show you some code.
    

别名

  1. alias

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ alias ll='ls -l'
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ alias frm='rm -rf'
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ ll
    ...
    drwxr-xr-x  2 root       root   4096 Jun 20 12:52 abc
    ...
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ frm abc
    
  2. unalias

    [(base) liuzuoping@liuzuoping~Lenove-G480:~$ unalias frm
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ frm sohu.html
    -bash: frm: command not found
    

其他程序

  1. 时间和日期 - date / cal

    (base) liuzuoping@liuzuoping~Lenove-G480:~$ date
    Wed Jun 20 12:53:19 CST 2018
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ cal
          June 2018
    Su Mo Tu We Th Fr Sa
                    1  2
     3  4  5  6  7  8  9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    (base) liuzuoping@liuzuoping~Lenove-G480:~$ cal 5 2017
          May 2017
    Su Mo Tu We Th Fr Sa
        1  2  3  4  5  6
     7  8  9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31
    
  2. 录制操作脚本 - script

  3. 给用户发送消息 - mesg / write / wall / mail

你可能感兴趣的:(Linux操作系统)