Skip to content

特殊符号

Linux中的特殊符号在命令行操作和脚本编写中起着重要作用。

常见操作符

  1. 管道符 (|):将一个命令的输出作为另一个命令的输入。

    ls | grep .js

    指令会列出当前目录下所有包含.js关键字的文件和目录。

  2. 输出重定向符 >:将命令的输出写入文件中,覆盖原有的内容。

    echo "Hello world" > example.txt

    指令会将文本hello world写入名为example.txt的文件中并覆盖原有内容,如果文件不存在则自动创建。

  3. 追加输出符 >>:将命令的输出追加到文件的末尾,而不是覆盖原有的内容。用法与>类似,但会保留原文件内容。

  4. 输入重定向符 <:从文件中读区数据作为命令的输入。

    cat < example.html

    指令会从example.html读区文件内容并输出到终端。

  5. 后台运行符 &:使命令在后台运行而不占用终端。

  6. 分号符;:用于在一行中一次执行多个命令。

  7. 变量替换符**:用户引用环境变量或脚本中定义的变量。

  8. shell符号:用于将一组命令放到心的shell中执行。

    (ls && echo "list success") || (echo "list failed)

    会在子shell中执行ls命令,并根据其执行结果输出相应的信息。

通配符

  1. 多字通配符 *:匹配任意字符或字符串(用于匹配多个字符)。例如ls *.js会列出所有以.js结尾的文件
  2. 单字通配符 ?:匹配单个字符,例如ls ca?.js会匹配文件名中第三个字符为任意字符且以.js结尾的文件,如cat.js

逻辑运算符

  1. 逻辑与运算 &&:当第一个命令执行成功之后才会执行第二个命令。例如,ls -l && echo "list success",会在ls -l命令成功执行之后输出“list sucess”
  2. 逻辑或运算符 ||:当第一个命令执行失败才执行第二个命令。

其他特殊符号

  1. # :通常用作注释符号,出现在一行的开头或完整指令之后,表示符号后面的内容是注释文字,不会被执行。但在某些情况下(如脚本的第一行#!/bin/bash,井号具有特殊意义。
  2. 波浪号~:代表用户的home目录,例如,cd ~ 会切换到用户的home目录。
  3. 点号.:一个点号代表当前目录,两个点号代表上层目录。在路径表示中常用。
  4. 反斜杠\:用作转义字符,取消特殊符号的作用或连接到下一行。
  5. 惊叹号!:在逻辑运算符中表示的意思。在history命令中惊叹号还有特殊用法,比如!mv会执行history列表中最近执行的mv命令。
  6. 花括号{}:用于匹配花括号内的任意一个字符串。例如,echo {a,b,c}会输出a,b,c