Nội dung bài viết
Giới thiệu
Khi sử dụng hệ điều hành Linux đôi khi chúng ta cần tìm một thư mục hoặc một file nào đó, nhưng không nhớ rõ hoặc thậm chí là không biết chúng nằm ở đâu và có thể sẽ mất rất nhiều thời gian để tìm thấy. Thay vào đó chúng ta có thể sử dụng lệnh Find để có thể tìm nhanh các File/Folder mà chúng ta cần.
Cấu trúc sử dụng lệnh Find:
find [options] [path...] [expression]
Hướng dẫn sử dụng
1. Tìm kiếm file theo tên
Để tìm kiếm một file theo tên, ta sử dụng option –name hoặc –iname. Đối với option –iname hệ thống sẽ tìm kiếm file cả chữ hoa và chữ thường.
- Ví dụ: Để tìm kiếm file log có tên
trungkien.log
, ta sử dụng cú pháp sau:
find / -name trungkien.log
Hoặc
find / -iname trungkien.log
2. Tìm kiếm file có phần mở rộng
- Ví dụ: Tìm tất cả file có đuôi
.conf
của nằm trong thư mục/etc/httpd
.
find /etc/httpd/ -iname "*.conf"
3. Tìm kiếm file theo loại
Ta sử dụng option –type và một trong các hậu tố sau để chỉ định loại file.
- f: file thông thường
- d: thư mục
- c: ký tự đặc biệt
- l: liên kết tượng trưng
- b: block
- p: named pipe (FIFO)
- s: socket
- Ví dụ: Liệt kê tất cả các thư mục có tên
redis
tại/
find / -type d -name redis
4. Tìm kiếm file theo kích thước
Để tìm kiếm file theo kích thước, ta sử dụng option –size. Bạn có thể sử dụng một số hậu tố sau để chỉ định kích thước.
- b: block 512 byte (mặc định)
- c: byte
- w: từ 2 byte
- k: kilobyte
- M: megabyte
- G: gigabyte
- Ví dụ: Tìm file có kích thước
2MB
find /var/log -type f -size 2M
Lệnh cũng cho phép bạn tìm kiếm các file có kích thước lớn hơn hoặc ít hơn một kích thước nhất định.
- Ví dụ: Tìm file có kích thước trong khoảng
2MB – 5MB
find /var/log -type f -size +2M -size -5M
5. Tìm kiếm file dựa vào thời gian
Lệnh find cũng có thể tìm kiếm các file dựa trên thời gian sửa đổi, truy cập, hoặc thay đổi cuối cùng của nó. Tương tự như khi tìm kiếm theo kích thước, hãy sử dụng các ký hiệu cộng và trừ cho “lớn hơn” hoặc “nhỏ hơn”.
- Ví dụ: Tìm những file được chỉnh sửa 7 ngày qua
find / -mtime 7
- Ví dụ: Tìm file được truy cập 7 ngày qua
find / -atime 7
- Ví dụ: Tìm file được chỉnh sửa trong khoảng 7 – 14 ngày
find / -mtime +7 -mtime -14
- Ví dụ: Tìm các file đã thay đổi trong 1 giờ qua
find / -cmin -60
6. Tìm kiếm file theo permission
Ta sử dụng option –perm để tìm kiếm các file dựa trên các quyền của file đó.
- Ví dụ: Tìm file có mã quyền là
644
find . -type f -perm 644
7. Tìm kiếm file theo owner
Để tìm kiếm file do một user hoặc một nhóm cụ thể sở hữu, hãy sử dụng tùy chọn -user và -group.
- Ví dụ: Tìm tất cả các file thuộc sở hữu của user
admin
nằm trong thư mục/home
.
find /home -user admin
8. Tìm kiếm và xoá các file cụ thể
Để xóa file, ta sử dụng tuỳ chọn –delete. Tuy nhiên, các bạn nên cẩn thận khi sử dụng option này để chắc chắn rằng bạn không xoá nhầm file.
- Ví dụ: Tìm kiếm và xoá các File có đuôi
.txt
ở thư mục/root
find . -iname "*.txt" -print -delete
Ở trên là một số ví dụ thực tế về sử dụng lệnh Find trên Linux. Chúc các bạn thực hiện thành công.!