Cách sử dụng ký tự đại diện để khớp tên file trong Linux

Việc tìm kiếm file trong Linux có vẻ khó hiểu lúc đầu, nhưng đừng lo, mọi việc sẽ dễ dàng hơn khi bạn hiểu về ký tự đại diện. Ký tự đại diện là các ký hiệu đặc biệt giúp bạn chọn nhiều file hoặc thư mục mà không cần nhập từng tên riêng biệt. Bài viết này sẽ giải thích cách sử dụng ký tự đại diện trong Linux để khớp tên file hiệu quả.

1. Dấu hoa thị (*)

Dấu hoa thị (*) là ký tự đại diện Linux khớp với không hoặc nhiều ký tự trong tên file hoặc tên thư mục. Nó giúp tìm kiếm, liệt kê hoặc thao tác nhiều file cùng một lúc. Nó thường được sử dụng với các lệnh như cp, mv và rm để thực hiện những thao tác hàng loạt.

Khớp file theo phần mở rộng

Chúng ta có thể thực thi lệnh ls *.txt để khớp tất cả các tên file có đuôi .txt:

Khớp file theo tiền tố

Nếu cần liệt kê các file bắt đầu bằng một từ example, bạn có thể sử dụng lệnh ls example*:

Khớp file theo hậu tố

Để liệt kê hoặc sửa đổi các file có đuôi theo một mẫu nhất định như “_1”, hãy sử dụng lệnh ls *_:

Khớp file có chứa một từ cụ thể

Chúng ta có thể khớp tên file có chứa một chuỗi con cụ thể bằng cách sử dụng ký tự đại diện dấu hoa thị. Ví dụ, lệnh ls *ample* liệt kê tất cả các tên file có chứa chuỗi con “ample”:

Khớp file ẩn

Trong Linux, file ẩn bắt đầu bằng dấu chấm. Chúng ta có thể sử dụng lệnh ls .* để liệt kê các file ẩn:

2. Dấu hỏi (?)

Ký tự đại diện dấu hỏi (?) được sử dụng để khớp với một ký tự đơn trong tên file. Nó giúp tìm các file có tên theo một mẫu cụ thể nhưng khác nhau một ký tự. Nó thường được sử dụng để tìm hoặc quản lý các file có tên tương tự nhưng khác nhau một ký tự đơn. Ví dụ, file?.txt khớp với "file1.txt", "fileA.txt", "fileB.txt", v.v...

Khớp các file có bất kỳ ký tự đơn nào ở một vị trí cụ thể

Chúng ta có thể sử dụng dấu hỏi (?) wildcard để khớp với các tên file trong đó vị trí cụ thể có thể là bất kỳ ký tự đơn nào. Ví dụ, lệnh ls file?.txt khớp với bất kỳ tên file nào bắt đầu bằng file, theo sau là bất kỳ ký tự đơn nào và kết thúc bằng phần mở rộng .txt:

Khớp các file có số lượng ký tự cố định

Chúng ta có thể sử dụng ký tự đại diện dấu hỏi ? nhiều lần để khớp với số lượng ký tự cố định trong tên file. Ví dụ, lệnh ls example??.txt khớp với bất kỳ file nào bắt đầu bằng một từ example, theo sau là bất kỳ hai ký tự nào và kết thúc bằng phần mở rộng .txt:

Kết hợp ký tự đại diện ? với *

Chúng ta có thể kết hợp ký tự đại diện ? với ký tự đại diện * để thực hiện một số phép khớp mẫu nâng cao. Ví dụ, mẫu ?ile* khớp với tên file mà ký tự đầu tiên có thể là bất kỳ ký tự nào, theo sau là "ile", rồi đến bất kỳ số ký tự nào:

3. Ngoặc vuông ([ ])

Ngoặc vuông ([ ]) khớp bất kỳ ký tự nào được bao quanh trong dấu ngoặc. Bạn có thể bao gồm nhiều loại ký tự khác nhau, chẳng hạn như chữ cái, số hoặc ký hiệu đặc biệt, để xác định một tập hợp khớp cụ thể. Ví dụ, lệnh ls [1ab]file.txt liệt kê tất cả các file bắt đầu bằng 1, a hoặc b, theo sau là "file.txt":

4. Dấu chấm than (!)

Chúng ta cũng có thể phủ định một tập hợp các ký tự bằng ký hiệu !. Ví dụ, lệnh ls file[!a-zA-Z] liệt kê tất cả các tên file bắt đầu bằng file, theo sau là bất kỳ ký tự nào ngoại trừ một chữ cái (a-z hoặc A-Z). Nó khớp với "file1", "file_" hoặc "file@" nhưng không khớp với "fileA" hoặc "filez":

5. Dấu ngoặc nhọn ({ })

Dấu ngoặc nhọn ({ }), còn được gọi là mở rộng phạm vi, cho phép chúng ta chỉ định nhiều mẫu được phân tách bằng dấu phẩy. Chúng mở rộng thành tên file cụ thể thay vì hoạt động như ký tự đại diện. Ví dụ, lệnh ls file{1,2,3}.txt tương đương với ls file1.txt file2.txt file3.txt. Lệnh này liệt kê tất cả các file cụ thể này nếu chúng tồn tại:

6. Sử dụng ký tự đại diện với lệnh Linux

Chúng ta có thể sử dụng ký tự đại diện với nhiều lệnh Linux khác nhau như find, ls, cp và rm để quản lý file dễ dàng hơn bằng cách cho phép lựa chọn dựa trên mẫu. Ví dụ, chúng ta sử dụng lệnh find Documents -name "*.txt" để định vị tất cả các file .txt trong thư mục Documents:

Ký tự đại diện với lệnh Linux
Ký tự đại diện với lệnh Linux

Tương tự, chúng ta có thể sử dụng ký tự đại diện với bất kỳ lệnh Linux nào khác để đạt được mục đích cụ thể.

7. Sử dụng ký tự đại diện với tên file phân biệt chữ hoa chữ thường

Ký tự đại diện trong Linux phân biệt chữ hoa chữ thường, nghĩa là tên file có chữ cái khác nhau được coi là riêng biệt. Để khớp cả biến thể chữ hoa và chữ thường, chúng ta có thể sử dụng các lớp ký tự hoặc tùy chọn không phân biệt chữ hoa chữ thường trong lệnh.

Ví dụ, chúng ta có thể sử dụng lệnh ls [fF]ile.txt để khớp cả file.txt và File.txt:

Tên file phân biệt chữ hoa chữ thường
Tên file phân biệt chữ hoa chữ thường

Bây giờ, bạn đã biết cách sử dụng ký tự đại diện để quản lý file trong Linux nhanh chóng và dễ dàng hơn. Cho dù bạn đang tìm kiếm file, sắp xếp thư mục hay tự động hóa các tác vụ, những kỹ thuật ký tự đại diện này sẽ giúp bạn tiết kiệm thời gian và công sức.

Bạn nên bắt đầu bằng * và ? vì chúng được sử dụng phổ biến nhất. Sau đó, hãy thử nghiệm với các dấu ngoặc vuông và ngoặc nhọn để tinh chỉnh tìm kiếm. Khi đã quen, hãy khám phá các biểu thức chính quy để khớp mẫu nâng cao hơn nữa.

Thứ Tư, 23/04/2025 16:26
31 👨 57
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Linux
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng