- 1 1. Giới thiệu
- 2 2. Các lệnh cơ bản để tìm kiếm tệp
- 3 3. Giải thích chi tiết về lệnh find
- 4 4. Cách sử dụng lệnh locate hiệu quả
- 5 5. Kết hợp với lệnh grep
- 6 6. Tìm kiếm tệp bằng công cụ GUI
- 7 7. Mẹo để cải thiện tốc độ và hiệu quả tìm kiếm
- 8 8. Xử lý sự cố
- 9 9. Tóm tắt
- 10 FAQ: Các câu hỏi thường gặp về tìm kiếm tệp trong Ubuntu
- 10.1 Q1. Làm cách nào để tìm kiếm các tệp có đuôi mở rộng cụ thể trong Ubuntu?
- 10.2 Q2. Tại sao lệnh locate không tìm được các tệp mới nhất?
- 10.3 Q3. Tại sao tôi nhận được lỗi “Permission denied” (Quyền bị từ chối) khi tìm kiếm tệp?
- 10.4 Q4. Nếu kết quả tìm kiếm không hiển thị trên công cụ GUI thì phải làm gì?
- 10.5 Q5. Làm cách nào để loại trừ một thư mục cụ thể khỏi tìm kiếm bằng lệnh find?
- 10.6 Q6. Làm cách nào để tìm kiếm nội dung tệp chứ không chỉ tên tệp trong Ubuntu?
- 10.7 Q7. Nên dùng locate hay find?
1. Giới thiệu
Ubuntu là một bản phân phối Linux được nhiều người dùng sử dụng và việc nắm vững các phương pháp tìm kiếm tệp hiệu quả là rất quan trọng để nâng cao năng suất làm việc hàng ngày.
Trong bài viết này, chúng tôi sẽ giải thích một cách dễ hiểu các lệnh và công cụ tìm kiếm tệp có sẵn trong Ubuntu, phù hợp cho cả người mới bắt đầu và người dùng trung cấp.
Chúng tôi cũng sẽ đề cập đến các phương pháp tăng tốc độ tìm kiếm và xử lý sự cố, vì vậy hãy tham khảo nhé.
2. Các lệnh cơ bản để tìm kiếm tệp
Ubuntu cung cấp một số lệnh cơ bản để tìm kiếm tệp.
Trong phần này, chúng tôi sẽ giải thích các lệnh tiêu biểu như “find” và “locate”.
2.1 Lệnh find là gì?
Lệnh find
là một công cụ rất mạnh mẽ để tìm kiếm các tệp trong một thư mục được chỉ định trở xuống, bằng cách chỉ định tên tệp hoặc các điều kiện khác.
Cú pháp cơ bản của lệnh find
find [thư mục bắt đầu tìm kiếm] [điều kiện tìm kiếm]
Ví dụ: Để tìm một tệp có tên “example.txt” trong thư mục chính
find ~/ -name "example.txt"
Ví dụ về các tùy chọn của lệnh find
-name
: Tìm kiếm theo tên tệp (phân biệt chữ hoa chữ thường)-iname
: Tìm kiếm theo tên tệp (không phân biệt chữ hoa chữ thường)-type
: Chỉ định loại tệp (d
=thư mục,f
=tệp)-size
: Tìm kiếm theo kích thước tệp (ví dụ:+1M
là lớn hơn 1MB)
2.2 Lệnh locate là gì?
Lệnh locate
nổi bật với tốc độ tìm kiếm rất nhanh. Tuy nhiên, kết quả tìm kiếm phụ thuộc vào cơ sở dữ liệu chỉ mục.
Cú pháp cơ bản của lệnh locate
locate [tên tệp hoặc một phần của đường dẫn]
Ví dụ: Để tìm các tệp có chứa “example” trong tên tệp
locate example
Lưu ý về lệnh locate
Vì locate
sử dụng cơ sở dữ liệu, các tệp mới nhất có thể không được bao gồm trong kết quả tìm kiếm. Trong trường hợp đó, hãy cập nhật cơ sở dữ liệu bằng lệnh sau:
sudo updatedb
2.3 Cách sử dụng find và locate
- find: Thích hợp khi bạn muốn tìm kiếm với các điều kiện chi tiết hơn.
- locate: Thích hợp khi bạn muốn tìm kiếm nhanh chóng.

3. Giải thích chi tiết về lệnh find
Lệnh find
rất đa chức năng và việc sử dụng thành thạo nhiều tùy chọn có thể giúp tìm kiếm hiệu quả.
Trong phần này, chúng tôi sẽ giải thích chi tiết với các ví dụ sử dụng cụ thể.
3.1 Tìm kiếm theo tên tệp
Để tìm kiếm bằng cách chỉ định tên tệp, hãy sử dụng tùy chọn -name
hoặc -iname
.
Ví dụ: Để tìm tất cả các tệp có đuôi mở rộng “.txt”
find ~/ -name "*.txt"
3.2 Tìm kiếm theo kích thước tệp
Bạn có thể chỉ định điều kiện tìm kiếm theo kích thước tệp.
Ví dụ: Để tìm các tệp có kích thước lớn hơn 1MB
find ~/ -size +1M
3.3 Tìm kiếm theo thời gian cập nhật
Bạn có thể sử dụng tùy chọn -mtime
để tìm kiếm các tệp đã được sửa đổi trong một số ngày được chỉ định.
Ví dụ: Để tìm các tệp đã được cập nhật trong 7 ngày qua
find ~/ -mtime -7
3.4 Thực hiện các hành động cụ thể
Bạn cũng có thể thực hiện các hành động dựa trên kết quả tìm kiếm.
Ví dụ: Xóa các tệp đã tìm thấy
find ~/ -name "*.tmp" -exec rm -f {} ;
4. Cách sử dụng lệnh locate hiệu quả
Lệnh locate không chỉ dễ sử dụng mà còn hoạt động nhanh chóng.
Trong phần này, chúng tôi sẽ giới thiệu các cách sử dụng hữu ích của lệnh locate.
4.1 Tìm kiếm theo một phần của đường dẫn
Ngay cả khi bạn không biết chính xác tên tệp, bạn vẫn có thể tìm kiếm bằng cách chỉ định một phần của đường dẫn.
Ví dụ: Để tìm các tệp liên quan đến “Documents” trong thư mục chính
locate ~/Documents
4.2 Lọc kết quả tìm kiếm
Để lọc kết quả tìm kiếm hơn nữa, hãy sử dụng kết hợp với grep
.
Ví dụ: Chỉ hiển thị các tệp có đuôi mở rộng .txt
từ kết quả tìm kiếm
locate example | grep ".txt"

5. Kết hợp với lệnh grep
Không chỉ tìm kiếm tệp, mà khi bạn muốn tìm kiếm nội dung bên trong tệp, lệnh grep
rất hữu ích.
Trong phần này, chúng tôi sẽ giới thiệu cách sử dụng lệnh grep
một mình và cách kết hợp nó với find
hoặc locate
để thực hiện tìm kiếm nâng cao.
5.1 Cơ bản về lệnh grep
Lệnh grep
là một công cụ để tìm kiếm các dòng chứa một chuỗi ký tự được chỉ định trong một tệp.
Cú pháp cơ bản của lệnh grep
grep [tùy chọn] "chuỗi tìm kiếm" [tệp]
Ví dụ: Để tìm các dòng chứa chuỗi “Ubuntu” trong tệp
grep "Ubuntu" example.txt
Các tùy chọn chính của grep
-i
: Tìm kiếm không phân biệt chữ hoa chữ thường.-r
: Tìm kiếm đệ quy trong các thư mục.-n
: Hiển thị số dòng khớp.
5.2 Kết hợp lệnh find và grep
Bạn có thể sử dụng lệnh find
để tìm các tệp cụ thể và sau đó kiểm tra nội dung của chúng bằng grep
.
Ví dụ: Tìm chuỗi “error” trong các tệp có đuôi mở rộng .log
find ~/ -name "*.log" -exec grep "error" {} ;
5.3 Kết hợp lệnh locate và grep
Bạn có thể lọc kết quả tìm kiếm của lệnh locate
bằng cách sử dụng grep
.
Ví dụ: Tìm các tệp .txt
chứa chuỗi “example”
locate "*.txt" | grep "example"
6. Tìm kiếm tệp bằng công cụ GUI
Đối với người mới bắt đầu chưa quen với CLI (giao diện dòng lệnh) hoặc người dùng muốn thao tác trực quan, tìm kiếm tệp bằng công cụ GUI rất tiện lợi.
Trong phần này, chúng tôi sẽ giải thích về các tính năng tiêu chuẩn của Ubuntu và các công cụ của bên thứ ba.
6.1 Tính năng tìm kiếm tệp tiêu chuẩn của Ubuntu
Trình quản lý tệp của Ubuntu (Nautilus) có tích hợp tính năng tìm kiếm tệp.
Các bước tìm kiếm
- Mở trình quản lý tệp.
- Chọn thư mục bạn muốn tìm kiếm.
- Nhập từ khóa vào thanh tìm kiếm ở trên cùng bên phải.
Phương pháp này đơn giản và hữu ích khi tìm kiếm nhanh hình ảnh hoặc tài liệu.
6.2 Công cụ tìm kiếm của bên thứ ba
Có một số công cụ tìm kiếm mạnh mẽ hơn có sẵn cho Ubuntu. Dưới đây là một vài ví dụ:
Catfish
Một công cụ tìm kiếm nhẹ dựa trên GUI, cho phép tìm kiếm tệp nhanh chóng.
- Cách cài đặt
sudo apt install catfish
- Cách sử dụng
Khởi chạy Catfish và nhập từ khóa vào thanh tìm kiếm để hiển thị kết quả.
FSearch
Một công cụ tìm kiếm dành cho máy tính để bàn, có cảm giác tương tự như “Everything” của Windows.
- Cách cài đặt
sudo apt install fsearch
- Đặc điểm
- Tìm kiếm nhanh chóng bằng cách tạo chỉ mục.
- Giao diện đơn giản và dễ sử dụng.

7. Mẹo để cải thiện tốc độ và hiệu quả tìm kiếm
Để tăng tốc độ tìm kiếm tệp, cần có một số thủ thuật.
Trong phần này, chúng tôi sẽ giải thích các phương pháp cụ thể để tăng hiệu quả tìm kiếm.
7.1 Sử dụng chỉ mục
Việc sử dụng các tìm kiếm dựa trên chỉ mục như lệnh locate
cho phép bạn tìm kiếm một số lượng lớn tệp một cách nhanh chóng.
Cập nhật cơ sở dữ liệu thường xuyên cũng sẽ phản ánh thông tin tệp mới nhất.
Ví dụ: Cập nhật cơ sở dữ liệu
sudo updatedb
7.2 Giới hạn phạm vi tìm kiếm
Giới hạn phạm vi tìm kiếm có thể rút ngắn thời gian.
- Chỉ tìm kiếm trong các thư mục cụ thể.
- Loại trừ các định dạng tệp không cần thiết.
Ví dụ: Loại trừ các tệp PDF trong thư mục chính
find ~/ -type f ! -name "*.pdf"
7.3 Tận dụng các tùy chọn tăng tốc
Nhiều lệnh có các tùy chọn để tăng tốc độ tìm kiếm. Ví dụ, tùy chọn -maxdepth
của find
có thể giới hạn độ sâu của thư mục.
Ví dụ: Chỉ tìm kiếm trong thư mục hiện tại và cấp độ sâu hơn 1
find ./ -maxdepth 1 -name "*.txt"
8. Xử lý sự cố
Giải thích các nguyên nhân và giải pháp khi tìm kiếm tệp không hoạt động.
8.1 Khi không có kết quả tìm kiếm
- Nguyên nhân 1: Tên tệp khác.
- Giải pháp: Sử dụng tùy chọn
-iname
không phân biệt chữ hoa chữ thường. - Nguyên nhân 2: Tệp là tệp ẩn.
- Giải pháp: Thêm tùy chọn
-name ".*"
để tìm kiếm tệp ẩn.
8.2 Vấn đề về quyền
Nếu bạn không có quyền truy cập vào một thư mục cụ thể, kết quả tìm kiếm có thể không hiển thị.
- Giải pháp: Chạy lệnh với
sudo
.
sudo find / -name "example.txt"
8.3 locate không hiển thị thông tin mới nhất
Cơ sở dữ liệu có thể đã cũ.
- Giải pháp: Cập nhật cơ sở dữ liệu bằng
updatedb
.
sudo updatedb

9. Tóm tắt
Tìm kiếm tệp trong Ubuntu giúp tăng đáng kể hiệu quả công việc.
Bằng cách kết hợp hợp lý các lệnh find
, locate
, grep
và các công cụ GUI được giới thiệu trong bài viết này, bạn có thể tìm thấy tệp mình cần một cách dễ dàng và hiệu quả.
Hãy thử áp dụng các phương pháp này nhé.
Bài viết đã hoàn thành! Lần tới, chúng tôi sẽ giải thích thêm về các thao tác Linux nâng cao và các mẹo hữu ích để quản lý tệp trong Ubuntu. Hãy đón chờ nhé!
FAQ: Các câu hỏi thường gặp về tìm kiếm tệp trong Ubuntu
Q1. Làm cách nào để tìm kiếm các tệp có đuôi mở rộng cụ thể trong Ubuntu?
A1. Bạn có thể tìm kiếm các tệp có đuôi mở rộng cụ thể bằng lệnh find
. Ví dụ, để tìm các tệp .txt
trong thư mục chính, hãy chạy lệnh sau:
find ~/ -name "*.txt"
Q2. Tại sao lệnh locate không tìm được các tệp mới nhất?
A2. Lệnh locate
sử dụng cơ sở dữ liệu để tìm kiếm nhanh chóng. Cơ sở dữ liệu này không tự động cập nhật, vì vậy có thể không chứa thông tin tệp mới nhất. Vui lòng cập nhật cơ sở dữ liệu thủ công bằng lệnh sau:
sudo updatedb
Q3. Tại sao tôi nhận được lỗi “Permission denied” (Quyền bị từ chối) khi tìm kiếm tệp?
A3. Một số thư mục không có quyền truy cập cho người dùng thông thường. Trong trường hợp này, bạn có thể giải quyết bằng cách chạy lệnh với quyền quản trị viên bằng sudo
.
sudo find / -name "example.txt"
Q4. Nếu kết quả tìm kiếm không hiển thị trên công cụ GUI thì phải làm gì?
A4. Nếu kết quả không hiển thị trên công cụ GUI, vui lòng kiểm tra các điểm sau:
- Xác nhận phạm vi tìm kiếm đã đúng chưa.
- Đảm bảo tên tệp chính xác khi tìm kiếm (cũng xem xét tìm kiếm một phần).
- Nếu công cụ sử dụng cơ sở dữ liệu, hãy đảm bảo chỉ mục là mới nhất.
Q5. Làm cách nào để loại trừ một thư mục cụ thể khỏi tìm kiếm bằng lệnh find?
A5. Bạn có thể sử dụng tùy chọn -prune
của lệnh find
để loại trừ một thư mục cụ thể khỏi tìm kiếm. Ví dụ dưới đây:
find ~/ -path "~/exclude_folder" -prune -o -name "*.txt" -print
Q6. Làm cách nào để tìm kiếm nội dung tệp chứ không chỉ tên tệp trong Ubuntu?
A6. Để tìm kiếm nội dung tệp, hãy sử dụng lệnh grep
. Ví dụ, để tìm chuỗi “Ubuntu” trong example.txt
, hãy chạy lệnh sau:
grep "Ubuntu" example.txt
Để tìm kiếm nhiều tệp, hãy sử dụng tùy chọn tìm kiếm đệ quy -r
.
Q7. Nên dùng locate hay find?
A7. locate nhanh nhưng có thể không tìm thấy các tệp mới nhất vì nó sử dụng chỉ mục. Mặt khác, find linh hoạt và cho phép tìm kiếm chi tiết, nhưng mất nhiều thời gian hơn một chút. Vui lòng sử dụng tùy theo mục đích của bạn.
- Khi muốn tìm kiếm nhanh chóng:
locate
- Khi muốn tìm kiếm với các điều kiện chi tiết:
find