偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux 通配符完全指南:從基礎(chǔ)語法到實戰(zhàn)應(yīng)用

系統(tǒng) Linux
通配符是一組規(guī)則符號,用于創(chuàng)建定義文件或目錄集合的模式。正如你所知,在命令行中引用文件或目錄時,實際是在引用路徑。

在文件操作章節(jié)中,我們學(xué)習(xí)了一些實用命令,但它們一次只能操作單個文件,效率不高?,F(xiàn)在我將介紹一種批量處理文件的方法。

什么是通配符?

通配符是一組規(guī)則符號,用于創(chuàng)建定義文件或目錄集合的模式。正如你所知,在命令行中引用文件或目錄時,實際是在引用路徑。而在路徑中使用通配符,可以將其轉(zhuǎn)換為一組文件或目錄。

基本通配符集合:

  •  *:匹配零個或多個字符
  •  ?:匹配單個字符
  •  []:匹配范圍內(nèi)的單個字符

基礎(chǔ)示例

以*為例,以下命令將列出所有以字母b開頭的條目:

pwd
/home/ryan/linuxtutorialwork
ls
barry.txt blah.txt bob example.png firstfile foo1 foo2
foo3 frog.png secondfile thirdfile video.mpeg
ls b*
barry.txt blah.txt bob

底層原理

這里的機制很有趣:你可能以為ls命令會直接處理b*參數(shù),但實際上是bash(提供命令行界面的程序)完成了模式匹配。當輸入包含通配符的命令時,系統(tǒng)會先將模式替換為所有匹配的文件或目錄路徑,再執(zhí)行命令。例如:

# 輸入命令
ls b*
# 系統(tǒng)轉(zhuǎn)換為
ls barry.txt blah.txt bob
# 再執(zhí)行程序

因此,通配符可在任何命令行中使用,不受程序限制。

更多示例

假設(shè)當前目錄為linuxtutorialwork,且包含上述文件,以下是通配符的應(yīng)用場景:

(1) 匹配所有.txt后綴文件(絕對路徑)

ls /home/ryan/linuxtutorialwork/*.txt
/home/ryan/linuxtutorialwork/barry.txt /home/ryan/linuxtutorialwork/blah.txt

(2) 匹配第二個字母為i的文件(?通配符)

ls ?i*
firstfile video.mpeg

(3) 匹配三字母后綴的文件(.???)

ls *.???
barry.txt blah.txt example.png frog.png

注意:video.mpeg后綴為.mpeg,四字母,不匹配

(4) 匹配以s或v開頭的文件([]范圍匹配)

ls [sv]*
secondfile video.mpeg

(5) 匹配包含數(shù)字的文件([0-9]范圍)

ls *[0-9]*
foo1 foo2 foo3

(6) 匹配非a-k開頭的文件([^]取反)

ls [^a-k]*
secondfile thirdfile video.mpeg

實際應(yīng)用場景

通配符的用途極為廣泛,以下是幾個典型案例:

(1) 查看目錄中所有文件的類型

file /home/ryan/*
bin: directory
Documents: directory
frog.png: PNG image data
public_html: directory

(2) 將所有jpg/png圖片移動到指定目錄

mv public_html/*.??g public_html/images/

(3) 查看所有用戶家目錄中的.bash_history文件

ls -lh /home/*/.bash_history
-rw------- 1 harry users 2.7K Jan 4 07:32 /home/harry/.bash_history
-rw------- 1 ryan users 3.1K Jun 12 21:16 /home/ryan/.bash_history
責(zé)任編輯:趙寧寧 來源: Linux運維部落
相關(guān)推薦

2025-07-09 07:10:00

2025-08-05 07:26:06

2023-07-11 08:32:06

緩沖區(qū)Java

2025-10-27 01:22:00

HTTP接口API

2025-08-11 06:00:00

JavaScript前端前端開發(fā)

2025-09-05 09:40:04

JavaScript前端開發(fā)者

2023-05-09 08:34:51

PythonWith語句

2024-07-03 10:09:29

2024-04-08 11:06:29

Rust測試控制

2025-06-27 06:30:08

2015-06-25 13:06:48

大數(shù)據(jù)從選擇到應(yīng)用

2024-10-22 16:59:07

2015-07-31 10:20:13

Linux命令完全指南

2025-08-26 02:11:00

MyBatis原生開發(fā)

2022-01-17 07:22:11

Web應(yīng)用滲透

2025-03-25 09:00:00

2025-06-16 07:30:00

WinForm串口通信開發(fā)

2024-10-17 09:57:30

2025-08-28 01:11:00

2025-03-27 00:14:10

點贊
收藏

51CTO技術(shù)棧公眾號