Lệnh find
trong Linux là một dòng lệnh có khả năng tìm kiếm các tệp, thư mục, tên, ngày tạo, ngày sửa đổi, chủ sở hữu và quyền,… Bạn có thể thực hiện các hoạt động khác trên các tệp hoặc thư mục đã được tìm kiếm sau đó bằng ‘-exec
‘.
Dưới đây là cú pháp cũng như cách sử dụng lệnh find qua ví dụ. Hãy cùng BKHOST theo dõi.
Cú pháp lệnh
{{EJS0}}
Các tùy chọn:
-exec CMD
: Tệp đã đủ tiêu chí và về trạng thái 0 để hoàn thành lệnh.-ok CMD
: Khá giống -exec nhưng khác về phần người dùng đầu tiên.-inum N
: Tìm tên tệp có số inode ‘N’.-links N
: Tìm các tệp có liên kết “N”.-name demo
: Tìm các tệp mà demo chỉ định.-newer file
: Tìm các tệp đã được sửa trước đó hoặc được tạo sau.-perm octal
: Tìm tệp có quyền octal.-print
: Dựa vào tiêu chí để cho ra link của tệp đã tìm.-emty
: Tìm các tệp và thư mục trống.-size + N / -N
: Tìm các tệp theo kích thước được chỉ định: -N < N < +N-user name
: Tìm kiếm các tệp theo tên người sử dụng hoặc thông qua ID người dùng.\(expr \)
: Kết hợp các tiêu chí với OR hoặc AND.! expr : Đúng nếu ‘expr’ là sai.
Cách sử dụng lệnh find
Ví dụ về hệ thống phân cấp:
Tìm kiếm theo tên file
$ find ./GFG -name sample.txt
Sau khi tìm kiếm bạn sẽ nhận được các tệp với đuôi “.txt” nằm ở mục GFG như dưới đây:
Tìm kiếm nhiều file có đuôi giống nhau
$ find ./GFG -name *.txt
Tương tự như mục tìm kiếm bằng tên, các tệp bạn nhận được sẽ có đuôi “.txt
”:
Làm thế nào để tìm và xóa file có xác nhận.
$ find ./GFG -name sample.txt -exec rm -i {} \;
Nếu bạn không thích đuôi “.txt
” và muốn xóa nó đi, chỉ cần nhập ‘Y / y
‘. Thường thì sau khi bạn nhập lệnh ở phía trên, sẽ có một thông báo hỏi bạn rằng có muốn bỏ mẫu “.txt
” hay không và bạn chỉ cần xác nhận.
Tìm kiếm các tệp và thư mục trống.
$ find ./GFG -empty
Khi sử dụng lệnh này, bạn sẽ nhận được các tệp trống nằm trong directory hoặc sub-directories.
Tìm kiếm tệp với các quyền (permission)
$ find ./GFG -perm 664
Nếu đó là các tệp nằm trong GFG directory hay là các sub-directory đã được cấp quyền thì bạn sẽ nhập được chúng thông qua lệnh này.
Tìm kiếm văn bản trong file.
$ find ./ -type f -name "*.txt" -exec grep 'Geek' {} \;
Ở lệnh này, bạn sẽ thấy được ở mỗi dòng lệnh đều có ‘Geek
‘. Một số lại có ‘-type f
‘ ở đầu dòng.
Tổng kết
Trên đây là cách sử dụng lệnh find trong Linux cơ bản nhất.
Nếu còn gặp bất cứ vướng mắc gì về nội dung bài viết trên, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.
- tìm file trong linux
- linux find