美文网首页
Linux 管道符、重定向与环境变量。

Linux 管道符、重定向与环境变量。

作者: 心中翼 | 来源:发表于2019-01-18 16:44 被阅读0次

    1输入输出重定向

    标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
    标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
    错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。

    image.png

    第一个命令查看存在的文件,屏幕会输出文件的信息,这是命令的标准输出信息。
    第二个命令查看不存在的文件,屏幕会输出错误信息,这是命令的错误输出信息。

    输入重定向中用到的符号及其作用

    符号 作用
    命令 < 文件 将文件作为命令的标准输入
    命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
    命令 < 文件 1 > 文件 2 将文件 1 作为命令的标准输入并将标准输出到文件 2

    输出重定向中用到的符号及其作用

    符号 作用
    命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
    命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
    命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
    命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
    命令 >> 文件 2>&1或 命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到有内容的后面)

    1.1标准输出重定向到文件

    ls -l test.txt > stderr.txt

    标准输出重定向到文件

    1.2错误输出重定向到文件

    ls -l xxxxx 2> stderr.txt

    错误输出重定向到文件

    1.3 输入重定向

    wc -l < stderr.txt

    image.png

    2 管道命令符

    管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入”,格式为“命令 A | 命令 B”。

    echo "12345" | wc -c

    管道命令符

    3 命令符的通配符

    通配符就是通用的匹配信息的符号,比如星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配 0~9 之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配 a、b、c 三个字符中的任意一个字符。

    ls -l test*
    查找所有以test开头的文件

    * 通配符

    ls -l test?.txt
    查找所有以test开头并且跟随一个字符及.txt后缀的文件。

    ?匹配符

    ls -l test[0-9].txt
    查找所有以test开头并且跟随一个数字及.txt后缀的文件。

    0-9匹配符

    4常用的转义字符

    4 个最常用的转义字符如下所示。
    反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
    单引号(''):转义其中所有的变量为单纯的字符串。
    双引号(""):保留其中的变量属性,不进行转义处理。
    反引号(``):把其中的命令执行后返回结果。

    5重要的环境变量

    Linux 系统中最重要的 10 个环境变量
    符号 作用
    HOME 用户的主目录(即家目录)
    SHELL 用户在使用的 Shell 解释器名称
    HISTSIZE 输出的历史命令记录条数
    HISTFILESIZE 保存的历史命令记录条数
    MAIL 邮件保存路径
    LANG 系统语言、语系名称
    RANDOM 生成一个随机数字
    PS1 Bash 解释器的提示符
    PATH 定义解释器搜索用户执行命令的路径
    EDITOR 用户默认的文本编辑器

    相关文章

      网友评论

          本文标题:Linux 管道符、重定向与环境变量。

          本文链接:https://www.haomeiwen.com/subject/iubndqtx.html