Nội dung
Một số lệnh Find hay dùng trên Linux mà bạn cần biết..
Giới thiệu
Lệnh find là một tiện ích tìm kiếm mạnh mẽ được sử dụng để tìm kiếm hay định vị các tệp trong hệ điều hành như Linux và Unix. Nó có thể tìm các tệp và thư mục dựa trên các tiêu chí khác nhau như tên, phần mở rộng, loại, ngày sửa đổi và tạo, quyền, kích thước, chủ sở hữu..vv
Và ở bài viết này, mình sẽ tập trung vào việc giải thích cách sử dụng lệnh find và đưa ra các ví dụ cụ thể để các bạn dễ hình dung nhất.
Cấu trúc của lệnh Find
Cấu trúc cơ bản của lệnh find sẽ là:
find <directory-to-search> [OPTIONS] <find name,file,extension>
Và dưới đây là một số tùy chọn đi kèm của lệnh find
-H
và-L :
Được sử dụng để quản lý các liên kết tượng trưng khi tìm kiếm,- -P: Không theo các liên kết tượng trưng.
- -L : Theo các liên kết tượng trưng.
Một số ví dụ thực tế
Lưu ý: Khi sử dụng lệnh find, cấu trúc của lệnh sẽ là find <đường dẫn cần tìm> . Ví dụ find /home nghĩa là sẽ tìm tại đường dẫn Home, ngược lại nếu là find . thì nghĩa là sẽ tìm ở tại đường dẫn mà bạn đang đứng.
- Tìm file theo tên
Để tìm một file theo tên của nó , bạn hãy sử dụng lệnh kèm với tùy chọn ‘-name
‘
Ví dụ 1: Tìm file có tên là info.php tại thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -name azdigi.php
Ví dụ 2: Tìm file có tên là info.php tại thư mục hiện hữu. (nghĩa là sẽ tìm file tại nơi mà bạn đang đứng)
find . -name azdigi.php
- Tìm file theo phần mở rộng
Nếu bạn muốn tìm kiếm tất cả các file theo phần mở rộng , bạn có thể sử dụng lệnh find với cấu trúc *. <file-extension>
Ví dụ: Tìm kiếm tất cả các file có đuôi ‘.png‘ tại thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -name *.png
- Chỉ tìm các thư mục (folder)
Nếu bạn chỉ muốn tìm kiếm các thư mục , bạn hãy sử dụng lệnh kèm với tùy chọn ‘-type d’
Ví dụ : Tìm tất cả các folder tại thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -type d
- Chỉ tìm file
Nếu bạn chỉ muốn tìm kiếm các file , bạn hãy sử dụng lệnh kèm với tùy chọn ‘-type f’
Ví dụ : Tìm tất cả các file tại thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -type f
- Tìm và xóa
Trong một số trường hợp bạn muốn tìm và xóa các File / Folder không còn cần thiết, bạn có thể chạy lệnh find với tùy chọn ‘-delete’
Ví dụ: Tìm tất cả các hình ảnh có đuôi *.png trong thư mục Home và xóa:
find /home -name *.png -delete
- Tìm File/Folder với quyền cụ thể
Nếu bạn muốn tìm kiếm tất cả các File/Folder có quyền cụ thể , bạn hãy sử dụng lệnh kèm với tùy chọn ‘-perm’
Ví dụ: để tìm các File có quyền ‘644’ và Folder có quyền ‘755’ , thì cấu trúc câu lệnh sẽ như sau:
find . -type f -perm 644 -exec ls -l {} \;
find . -type d -perm 775 -exec ls -l {} \;
- Tìm File/Folder theo ngày / giờ
Bạn có thể sử dụng lệnh find với tùy chọn ‘-mtime -N‘ để tìm các tệp được sửa đổi lần cuối ‘N’ ngày trước.
Ví dụ 1: Để tìm kiếm tất cả các File được sửa đổi trong 3 ngày qua tại thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -type f -mtime -3 -exec ls -l {} \;
Có một cách khác là sử dụng lệnh find để tìm kiếm File/Folder theo ngày/giờ cụ thể với tùy chọn ‘-newerXY’
Trong đó, trường hợp X và Y có thể là:
a- thời gian truy cập của file
B- thời gian tạo file
c- thời gian thay đổi trạng thái inode của file
m- thời gian sửa đổi của file
t- tham chiếu được hiểu trực tiếp là thời gian
Ví dụ 2: Để tìm kiếm tất cả các file được sửa đổi vào ngày 10 tháng 4 năm 2022 trong thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -type f -newermt 2022-04-10 -ls
- Tìm File/Folder theo kích thước
Nếu bạn muốn tìm kiếm File/Folder theo kích thước , bạn hãy sử dụng lệnh kèm với tùy chọn ‘-size’
Ví dụ: Để tìm kiếm File/Folder có kích thước lớn hơn 1GB, trong thư mục Home, thì cấu trúc câu lệnh sẽ như sau:
find /home -type f -size +1G
find /home -type d -size +1G
Ở trên là các lệnh find cơ bản hay dùng nhất mà các bạn có thể tham khảo. Như vậy với lệnh find thì ta có thể dễ dàng tìm hay xem được đầy đủ các tùy chọn khác của File/Folder, để từ đó quản trị viên có thể dễ dàng quản lý số lượng lớn các File/Folder trên máy chủ của mình. Hy vọng bài viết này sẽ giúp ích cho các bạn, chúc các bạn thành công.!
Các bạn có thể tham khảo thêm các hướng dẫn sử dụng khác tại link bên dưới:
Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
- Hotline 247: 028 888 24768 (Ext 0)
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com.