linux

Linux通配符有哪些常见用法

小樊
82
2024-10-09 03:40:25
栏目: 智能运维

Linux中的通配符(wildcards)允许用户在命令行中处理文件名或路径名时,不必精确指定每个文件。以下是一些常见的Linux通配符用法:

  1. *:匹配任意长度的任意字符。例如,*.txt 匹配所有以 .txt 结尾的文件。
  2. ?:匹配任意单个字符。例如,ab?d 匹配 abdabbdabtd 等。
  3. [...]:匹配方括号内的任意一个字符。例如,[abc] 匹配 abc。如果方括号内包含 -,则需要使用转义字符 \,如 [a-z] 匹配所有小写字母。
  4. {...}:匹配大括号内的任意一个字符串。例如,file{1,2} 匹配 file1file2
  5. ~:表示用户的主目录。例如,~/documents 指向当前用户主目录下的 documents 文件夹。
  6. #:在shell脚本中表示注释。例如,#!/bin/bash 表示这是一个bash脚本。
  7. \:用于转义特殊字符。例如,\.txt 匹配 .txt(因为 . 在shell中具有特殊含义)。
  8. *.*:匹配任意长度的任意字符,包括点号。例如,*.txt 匹配所有以 .txt 结尾的文件,file.* 匹配 file.txtfile.doc 等。
  9. **:在GNU find命令中表示递归搜索。例如,find . -name "*.txt" -type f 查找当前目录及其子目录下所有以 .txt 结尾的文件。
  10. !?():在GNU find命令中表示不匹配括号内的模式。例如,find . -name "!(file).txt" 查找当前目录及其子目录下所有不以 file.txt 结尾的文件。

这些通配符可以与各种Linux命令结合使用,如 lscpmvrmfind 等,以实现批量文件操作。

0
看了该问题的人还看了