Gopherx
发布于 2024-11-27 / 4 阅读
0
0

Linux元字符

1. * (星号)

  • 功能:匹配零个或多个字符。

  • 示例

    • ls *.txt:列出当前目录下所有扩展名为 .txt 的文件。
    • echo a*:匹配以 a 开头的所有文件或目录,比如 abc, a123, abc.txt

2. ? (问号)

  • 功能:匹配一个字符。

  • 示例

    • ls file?.txt:匹配所有名称为 file 后面跟一个字符再加上 .txt 的文件,例如 file1.txt, fileA.txt
    • echo ?:会输出当前目录下的一个文件或目录名称。

3. [] (方括号)

  • 功能:匹配方括号内的任意单一字符。

  • 示例

    • ls file[123].txt:匹配 file1.txt, file2.txt, file3.txt
    • ls file[a-z].txt:匹配文件名为 filea.txt, fileb.txt,直到 filez.txt 的文件。

4. {} (大括号)

  • 功能:用于生成一系列文件名,或者用于控制结构。

  • 示例

    • echo {a,b,c}.txt:输出 a.txt b.txt c.txt
    • cp file{1,2,3}.txt /tmp/:将 file1.txt, file2.txt, file3.txt 文件复制到 /tmp/ 目录。

5. | (管道符)

  • 功能:将一个命令的输出传递给另一个命令作为输入。

  • 示例

    • ps aux | grep nginx:显示所有进程信息并过滤出包含 nginx 的行。
    • echo "hello world" | tr 'a-z' 'A-Z':将字符串 "hello world" 转换为大写字母 "HELLO WORLD"。

6. & (背景执行)

  • 功能:将命令放入后台执行。

  • 示例

    • sleep 30 &:将 sleep 30 命令放入后台执行。

7. ; (分号)

  • 功能:分隔多个命令,一次执行多个命令。

  • 示例

    • echo "Hello"; echo "World":首先输出 "Hello",然后输出 "World"。

8. && (与)

  • 功能:表示前一个命令成功执行后,才执行后一个命令。

  • 示例

    • mkdir new_dir && cd new_dir:如果 mkdir new_dir 成功执行,才会进入 new_dir 目录。

9. || (或)

  • 功能:表示前一个命令失败时执行后一个命令。

  • 示例

    • mkdir existing_dir || echo "Directory already exists":如果 mkdir existing_dir 失败,输出 "Directory already exists"。

10. > (重定向输出)

  • 功能:将输出重定向到文件中,覆盖文件内容。

  • 示例

    • echo "Hello" > file.txt:将 "Hello" 写入 file.txt 文件,覆盖文件原有内容。

11. >> (追加重定向)

  • 功能:将输出重定向到文件中,追加到文件末尾。

  • 示例

    • echo "World" >> file.txt:将 "World" 追加到 file.txt 文件末尾。

12. < (重定向输入)

  • 功能:将文件的内容作为输入提供给命令。

  • 示例

    • sort < file.txt:将 file.txt 的内容作为输入传递给 sort 命令进行排序。

13. << (Here Document)

  • 功能:用于多行输入重定向,将多个行作为输入传递给命令。

  • 示例

    • cat << EOF
      Hello, world!
      This is a test.
      EOF
      

      输出:

      Hello, world!
      This is a test.
      

14. $( ) (命令替换)

  • 功能:执行括号内的命令并将结果返回。

  • 示例

    • echo "Today is $(date)":输出 "Today is" 后跟当前日期。
    • files=$(ls *.txt):将当前目录下所有 .txt 文件名存储到变量 files 中。

15. ! (逻辑非)

  • 功能:表示逻辑非,用于反转条件或执行历史命令。

  • 示例

    • ! ls non_existent_file:如果 ls non_existent_file 命令失败,返回非零状态。
    • ! command:如果 command 执行成功,返回失败。

16. ~ (波浪号)

  • 功能:表示当前用户的家目录。

  • 示例

    • cd ~:进入当前用户的家目录。
    • echo ~:输出当前用户的家目录路径。

17. # (注释)

  • 功能:表示注释,所有在 # 后的内容都不会被执行。

  • 示例

    • # This is a comment:这一行不会被执行,是注释。

评论