Trong bài này chúng ta sẽ xem xét linux find
lệnh và cách tìm kiếm và tìm các tệp có các thuộc tính khác nhau.
Hệ điều hành Linux find
command là một công cụ mạnh mẽ được tích hợp sẵn có thể được sử dụng để định vị và quản lý các tệp và thư mục dựa trên nhiều tiêu chí tìm kiếm.
Ví dụ: chúng ta có thể tìm các tệp theo tên, phần mở rộng, kích thước, quyền của chúng, v.v. Chúng ta cũng có thể sử dụng dấu find
lệnh để tìm kiếm một văn bản cụ thể bên trong một tệp mà chúng tôi không biết tên.
Hãy xem một số cách sử dụng của find
lệnh với các ví dụ:
Nếu bạn biết tên của tệp nhưng không thể nhớ thư mục chứa tệp đó, bạn có thể sử dụng lệnh sau từ thư mục gốc:
find . -name sales.csv
Đầu ra mẫu:
./accounts/sales.csv
Nếu bạn muốn tìm kiếm (các) tệp cụ thể trong một thư mục, chúng tôi có thể sử dụng:
find ./test -name testCases*
Đầu ra mẫu:
./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log
Trong trường hợp trên, chúng tôi chỉ tìm kiếm trong thư mục “./test”.
Để tìm kiếm và tìm các tệp theo một phần mở rộng nhất định, chúng tôi sử dụng:
find . -name *.jpg
Đầu ra mẫu:
./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg
Để chỉ tìm các tệp, chúng ta cần sử dụng dấu -f
Lựa chọn:
find ./ -type f -name 'results*'
Đầu ra mẫu:
./test/results_latest.log ./test/results_archive.pdf
Để chỉ tìm các thư mục, chúng ta cần sử dụng dấu -d
Lựa chọn:
find ./ -type d -name 'results*'
Đầu ra mẫu:
./test/results
Nếu bạn muốn tìm kiếm và liệt kê tất cả các tệp có tên đã cho trong nhiều thư mục, bạn có thể bắt đầu tìm kiếm tại thư mục gốc hoặc nếu bạn biết các thư mục, bạn có thể chỉ định chúng.
Thí dụ:
find ./test ./logs -name failed*.* -type f
Đầu ra mẫu:
./test/failed_tests.txt ./logs/failed_tests.log
Đôi khi bạn muốn tìm một tệp và bạn không biết tên của nó, nhưng bạn biết rằng nó có một văn bản nhất định bên trong.
Bạn có thể dùng:
find ./test -type f -exec grep -l -i 'login_scenarios' {} ;
Đây, dấu -i
tùy chọn được sử dụng để bỏ qua trường hợp, vì vậy cả hai đều sẽ được tìm thấy Login_Scenarios và login_scenarios.
Chúng tôi thậm chí có thể tìm thấy các tệp theo các kích thước khác nhau. Các tùy chọn kích thước là:
c
bytek
kilobyteM
MegabyteG
GigabyteVí dụ: để tìm tệp có kích thước chính xác, chúng tôi sử dụng:
find / -size 10M
Và để tìm các tệp lớn hơn một kích thước nhất định, chúng tôi sử dụng:
find ./test -size +2M
Ở trên sẽ tìm thấy tất cả các tệp lớn hơn 2MB trong thư mục ./test.
Để tìm và xóa các tệp cụ thể, chúng tôi sử dụng:
find . -type f -name 'temp*' -exec rm {} ;
Trong bài viết này, bạn đã học về cách sử dụng lệnh find trong linux để tìm kiếm các tệp dựa trên tên, phần mở rộng, kích thước và kiểu.