Câu Lệnh find

Câu lệnh find trong Linux được dùng để tìm kiếm tập tin và thư mục dựa trên các điều kiện đầu vào khác nhau. Tương tự như câu lệnh ls thì câu lệnh find cũng là một trong những câu lệnh được sử dụng phổ biến trên Linux.

Cú Pháp

Câu lệnh find có cú pháp như sau:

$ find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

Trong đó:

  • Tuỳ chọn -P (là tuỳ chọn mặc định): không tìm kiếm các tập tin hay thư mục lối tắt liên kết tới tập tin hay thư mục khác (hay còn gọi là symbolic link).
  • Tuỳ chọn -L (là tuỳ chọn mặc định): tìm kiếm tất cả các tập tin hay thư mục bao gồm các lối tắt liên kết tới tập tin hay thư mục khác.
  • Tuỳ chọn -H: không tìm kiếm các tập tin hay thư mục lối tắt liên kết tới tập tin hay thư mục khác trừ khi xử lý đối số truyền vào câu lệnh.
  • Tuỳ chọn -D (Debug Options): quy định các tuỳ chọn giúp gỡ rối.
  • Tuỳ chọn -O (level): sử dụng khi muốn tối ưu tốc độ của câu lệnh.

Để hiểu về câu lệnh find chúng ta sẽ tìm hiểu một số ví dụ sau:

Tìm Các Tập Tin và Thư Mục Với Tên Cho Trước

Câu lệnh dưới đây sử dụng tuỳ chọn name để tìm kiếm tập tin và thư mục với tên hoclaptrinh.txt nằm trong thư mục hiện tại trên cửa sổ dòng lệnh.

$ find . -name hoclaptrinh.txt

Câu lệnh dưới đây sử dụng tuỳ chọn name để tìm kiếm tập tin và thư mục với tên bắt đầu được bắt đầu bởi chuỗi hoclaptrinh nằm trong thư mục hiện tại trên cửa sổ dòng lệnh.

$ find . -name hoclaptrinh*

Câu lệnh dưới đây sử dụng tuỳ chọn iname (case insensitive) để tìm kiếm tập tin và thư mục với tên bắt đầu được bắt đầu bởi chuỗi hoclaptrinh hoặc Hoclaptrinh hoặc HocLapTrinh hoặc HOCLAPTRINH... nằm trong thư mục hiện tại.

$ find . -name hoclaptrinh*

Tìm Các Tập Tin và Thư Mục Trong Thư Mục Cho Trước

Để tìm các tập tin và thư mục với tên là doc.txt nằm trong thư mục /home/hoclaptrinh:

$ find /home/hoclaptrinh -name doc.txt

Để tìm các tập tin và thư mục với tên là doc.txt nằm trong thư mục người dùng hiện tại (sử dụng ký tự ~):

$ find ~ -name hoclaptrinh.txt

Tìm Các Tập Tin hoặc Thư Mục

Tuỳ chọn -type được sử dụng trong dụng câu lệnh find để quy định chọn loại tập tin được tìm kiếm là tập tin hay thư mục.

Ví dụ dưới đây chỉ tìm kiếm cho tập tin với tên hoclaptrinh.txt sử dụng tuỳ chọn -type với giá trị là f (viết tắt của file) trong địa chỉ thư mục /home:

$ find /home -type f -name hoclaptrinh.txt

Ví dụ dưới đây chỉ tìm kiếm cho thư mục với tên hoclaptrinh sử dụng tuỳ chọn -type với giá trị là d (viết tắt của directory) trong địa chỉ thư mục /home:

$ find /home -type f -name hoclaptrinh

Tìm Tập Tin Với Phần Mở Rộng Cho Trước

Ví dụ sau sử dụng ký tự đại diên hay wild card * kết họp với tuỳ chọn -type để tìm kiếm tất cả các tập tin HTML nằm trong thư mục hiện tại:

$ find . -type f -name "*.html"

Tìm Tập Tin Ẩn

Ví dụ sau sử dụng ký tự đại diên hay wild card * kết họp với tuỳ chọn -type để tìm kiếm tất cả các thư mục ẩn được bắt đầu bởi .hoclaptrinh

$ find . -type d -name ".hoclaptrinh*"
Thêm Bình Luận: