马哥Linux学习笔记4-2IO重定向、管道及文本处理工具

  • 3 bash的快捷键
    ctrl+l:清屏,相当于clear
    Ctrl+a:跳转至命令开始处
    Ctrl+e:跳转至命令结尾处
    Ctrl+c:取消命令的执行
    Ctrl+u:删除目录行首至光标所在处的所有内容
    Ctrl+k:删除光标所在处至命令行尾部的所有内容

  • 4bash的IO重定向及管道
    程序:指令+数据
    读入数据input,输出数据output
    打开的文件都有一个fd:file description(文件描述符)
    标准输入:不特定则为keyboard(键盘) ,0
    标准输出:monitor,1
    标准错误输出:monitor,2
    I/O重定向:改变标准位置
    输出重定向:COMMAND >或>> NEW_POSITION
    覆盖重定向>:覆盖文件中的原有内容
    追加重定向>>:追加在文件的原有内容后
    set -C:禁止使用覆盖重定向覆盖原来已有的文件,>|表强制覆盖
    set +C:取消禁止覆盖
    2>:覆盖重定向错误输出数据流
    2>>:追加重定向错误输出数据流
    标准输出和错误输出各自定向至不同位置:
    COMMAND > /path/to/file.out 2> /path/to/error.out这两个文件都会被创建,不过没用的那个是空的
    合并标准输出和错误输出为同一数据流进行重定向
    &>:覆盖重定向
    &>>:追加重定向COMMAND > /path/to/file.out 2> &1

  • 输入重定向:<
    tr命令:转换或删除字符
    tr a b /etc/ 意思是/etc/文件下的b都换成了a
    here documentation:<<用来创建文档,可以从键盘键入数据
    cat << EOF
    cat >> /path/to/somefile << EOF

  • 管道|:COMMAND1 | COMMAND2 | COMMAND3
    最后一个命令会在当前shell的子shell中执行

  • tee命令:将数据重定向到给定文件和屏幕上

  • 文件处理工具:wc,cut,sort,uniq

  • wc命令
    wc -l :lines
    -w:words
    -c:characters

  • cut命令
    -d:delimiter 指明分隔符
    -f:filed(归档) -f1表示第一个字段,-f1,3表示第一和第三个字段,-f1-3表示1到3字段

  • sort命令
    -f:忽略字符大小写
    -r:逆序
    -t DELIMITER:字段分隔符
    -k #:以指定字段为标准排序
    -n:以数值大小进行排序
    -u:unique:排序后去重

  • uniq命令:去重,连续且完全相同为重复,要挨在一起
    -c:显示每行重复出现的次数
    -d:仅显示重复过的行
    -u:仅显示不曾重复的行

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87467073