Giải quyết vấn đề tìm vị trí, đường dẫn chính xác của tệp tin bạn muốn tìm.

1. Lệnh Find

find đường_dẫn -name kí_tự_cần_tìm 
  • Lệnh này sẽ cung cấp cho bạn một danh sách tất cả các tệp tin và thư mục trong đường dẫn hiện hành.
  • Để dễ dàng tìm kiếm hơn bạn có thể kết hợp lệnh find cùng các tham số VD: tham số -name

VD: Tìm 1 file có tên là log.txt

Ở đây, chúng ta tìm được 3 file có tên là log.txt ở 3 đường dẫn khác nhau.

Tìm tất cả tệp có định dạng cần tìm, sử dụng *.

VD: Tìm tất cả các tệp có đuôi .log ở thư mục /var/log

Đây là tất cả các file có đuôi “.log”

Chỉ tìm kiếm các thư mục, sử dụng -type d

find / -type d -name tên_thư_mục

VD: Tìm các đường dẫn đến thư mục yum

Chỉ tìm kiếm các tệp, sử dụng -type f

find / -type f -name tên_file

VD: Tìm các đường dẫn đến tệp error

Tìm tệp được truy cập trong N ngày qua

 find / -atime N

VD: Tìm tệp đã truy cập trong 1 ngày trước.

find / -atime 1

VD: Tìm tệp đã truy cập trong 1 giờ qua.

 find / -amin -60

Tìm kiếm dựa trên kích thước, sử dụng -size

find / -size kích_thước

VD: Để tìm tất cả các tệp lớn hơn 50MB và dưới 100 MB.

find -size +50MB -size -100MB 

Tìm và xóa tất cả các tệp có đuôi .swp

find -name "*.swp" -ok rm {} \;

2. Lệnh Locate

locate kí_tự
  • Với lệnh locate sẽ tìm kiếm nhanh và chi tiết hơn lệnh find.
  • Lệnh locate sẽ trả về một danh sách tất cả tên đường dẫn chứa nhóm có ký tự đặc biệt. Bạn có thể cập nhật nó bất cứ lúc nào bằng cách chạy updatedb với tư cách là người dùng root.

Cài đặt:

yum install -y mlocate

updatedb

VD: Tìm tất cả các tệp tin, thư mục có tên vqmanh

Kết quả của locate đôi khi có thể dẫn đến một danh sách rất dài. Để có được danh sách ngắn hơn phù hợp hơn, chúng ta có thể sử dụng grep chương trình làm bộ lọc. Nó sẽ chỉ in các dòng có chứa một hoặc nhiều chuỗi được chỉ định

VD: Liệt kê tất cả các tệp và thư mục có cả “gz” và “bin”.