溫馨提示×

Linux通配符有哪些常見用法

小樊
81
2024-10-09 03:40:25
欄目: 智能運維

Linux中的通配符(wildcards)允許用戶在命令行中處理文件名或路徑名時,不必精確指定每個文件。以下是一些常見的Linux通配符用法:

  1. *:匹配任意長度的任意字符。例如,*.txt 匹配所有以 .txt 結(jié)尾的文件。
  2. ?:匹配任意單個字符。例如,ab?d 匹配 abd、abbdabtd 等。
  3. [...]:匹配方括號內(nèi)的任意一個字符。例如,[abc] 匹配 a、bc。如果方括號內(nèi)包含 -,則需要使用轉(zhuǎn)義字符 \,如 [a-z] 匹配所有小寫字母。
  4. {...}:匹配大括號內(nèi)的任意一個字符串。例如,file{1,2} 匹配 file1file2。
  5. ~:表示用戶的主目錄。例如,~/documents 指向當前用戶主目錄下的 documents 文件夾。
  6. #:在shell腳本中表示注釋。例如,#!/bin/bash 表示這是一個bash腳本。
  7. \:用于轉(zhuǎn)義特殊字符。例如,\.txt 匹配 .txt(因為 . 在shell中具有特殊含義)。
  8. *.*:匹配任意長度的任意字符,包括點號。例如,*.txt 匹配所有以 .txt 結(jié)尾的文件,file.* 匹配 file.txt、file.doc 等。
  9. **:在GNU find命令中表示遞歸搜索。例如,find . -name "*.txt" -type f 查找當前目錄及其子目錄下所有以 .txt 結(jié)尾的文件。
  10. !?():在GNU find命令中表示不匹配括號內(nèi)的模式。例如,find . -name "!(file).txt" 查找當前目錄及其子目錄下所有不以 file.txt 結(jié)尾的文件。

這些通配符可以與各種Linux命令結(jié)合使用,如 ls、cpmv、rmfind 等,以實現(xiàn)批量文件操作。

0