Hướng dẫn sử dụng lệnh find trong Linux
Số trang: 5
Loại file: pdf
Dung lượng: 171.03 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Với giao diện dòng lệnh, Linux thực sự là một công cụ rất mạnh mẽ và linh hoạt. Các công cụ như grep, awk, find và locate sẽ giúp bạn dễ dàng hơn trong việc tìm kiếm các tập tin, tìm kiếm văn bản trong file hoặc thay thế một từ nào đó.
Nội dung trích xuất từ tài liệu:
Hướng dẫn sử dụng lệnh find trong LinuxHướng dẫn sử dụng lệnh find trong LinuxVới giao diện dòng lệnh, Linux thực sự là một công cụ rất mạnh mẽ vàlinh hoạt. Các công cụ như grep, awk, find và locate sẽ giúp bạn dễ dànghơn trong việc tìm kiếm các tập tin, tìm kiếm văn bản trong file hoặc thaythế một từ nào đó. Bài viết sau sẽ hướng dẫn các bạn cách sử dụng lệnh findđể cải thiện quá trình tìm kiếm bằng dòng lệnh.Về hình thức, lệnh find được sử dụng một cách đơn giản như sau:Lệnh này sẽ cung cấp cho bạn một danh sách tất cả các tập tin và thư mụctrong đường dẫn hiện hành. Lưu ý rằng truy vấn này sẽ hiển thị cả những tậptin trong cả thư mục con, vì vậy danh sách này sẽ rất dài nếu bạn có nhiềufile trong đó. Để dừng sự hiển thị này bạn hãy ấn phím Ctrl + C.Phương thức trên là cách đơn giản nhất để sử dụng lệnh find. Bằng cách kếthợp với một số các tham số và biểu thức thông thường khác, bạn có thể làmcho việc tìm kiếm tập tin được thông minh hơn. Ví dụ, nếu bạn muốn tìmkiếm tất cả tập tin có tên bắt đầu bằng “image”, hãy làm như sau:Ở đây chúng ta sử dụng tham số -name trong lệnh find để tìm kiếm tất cảtập tin có tên bắt đầu bằng image. Lưu ý rằng trường hợp này kết quả sẽphân biệt chữ hoa với chữ thường. Để có kết quả không phân biệt hoa –thường bạn có thể dùng lệnh “# find . -iname image*” .Bạn cũng có thể sử dụng ký tự đại diện cho việc tìm kiếm các tập tin vớiphần mở rộng nhất định. Để tìm kiếm toàn bộ nội dung file trong thư mụchiện hành và cả thư mục con có phần mở rộng .php, bạn sử dụng lệnh sau:Bạn cũng có thể thực hiện việc tìm kiếm theo hướng ngược lại. Tức là tìmtất cả những tập tin không có phần mở rộng .php như sau:# find . ! -name “*.php”Lưu ý: dấu chấm than (!) được dùng để thực thi việc tìm kiếm theo chiềungược lại, điều này có thể được dùng cho toàn bộ những tùy chọn khác.Một trong những vấn đề thường gặp phải khi dùng lệnh find là theo mặcđịnh nó sẽ tìm cả những thư mục con. Trong khi đó nhiều khi bạn chỉ cầntìm trong thư mục hiện hành. Để làm được điều này bạn cần sử dụng đến tùychọn -maxdepth. Với tùy chọn này, lệnh find sẽ được “thông báo” rằng cónhiều cấp độ trong thư mục con nên nó cần “xem xét” khi tìm kiếm. Vì vậynếu bạn chỉ muốn find tìm trong thư mục hiện hành, chỉ cần thêm chỉ số 0vào sau -maxdepth:(Dòng lệnh trên sẽ tìm tất cả file trong thư mục hiện tại không có phần mởrộng là .php)Nếu muốn tìm kiếm sâu hơn vào cả thư mục con, bạn chỉ cần tăng chỉ số cho-maxdepth lên thành 1,2... tùy theo các cấp của thư mục bạn có. Tương tự,bạn cũng có thể sử dụng lệnh -mindepth để thiết lập giới hạn thấp nhất chocấp của thư mục được tìm kiếm. Bằng cách kết hợp hai tùy chọn -maxdepthvà -mindepth một cách linh hoạt bạn sẽ có được nhiều kết quả theo nhiềunhu cầu của mình.Tìm kiếm với các tiêu chí khácNếu như ở phần trên chúng ta đã biết cách sử dụng tùy chọn -name để tìmkiếm theo tên tập tin. Tương tự như vậy, trong trường hợp bạn muốn tìmnhững kết quả theo tên người dùng thì có thể thêm tùy chọn -user. Ví dụ bạnmuốn hiển thị những tập tin có phần mở rộng .php của user có tên Linux,hãy làm như sau:Khắc phục lỗi thường gặpThông thường bạn có thể sử dụng lệnh find trong shell scripts. Bản thân lệnhnày sẽ ném ra vài lỗi. Tuy nhiên, khi bạn chạy nó như một user bình thườngcác lỗi nếu gặp phải sẽ được bật lên dạng pop-up. Ví dụ, nếu bạn chạy lệnhtìm kiếm trong thư mục root nhưng không có quyền root sẽ gặp lỗi kiểuPermission denied. Điều này sẽ gây khó chịu khi sử dụng lệnh trong mộtkịch bản. Mặc dù bản thân lệnh find không thể tự khắc phục lỗi này nhưngchúng ta vẫn có thể giải quyết dễ dàng bằng cách chuyển hướng toàn bộ lỗivề /dev/null như sau:# find / -name StewieGriffin*/root: Permission denied/home/peterg: Permission denied/home/stewie/StewieGriffin-resume.docSẽ được chuyển thành# find / -name StewieGriffin* 2>/dev/null/home/stewie/StewieGriffin-resume.docBây giờ bạn có thể yên tâm sử dụng lệnh find trong các script của mình màkhông cần lo lắng đến các lỗi ở đầu ra.Sử dụng lệnh find cho người lười biếngNếu bạn là một người như vậy, hãy kết hợp các lệnh tiện ích để có được kếtquả như ý muốn. Chẳng hạn như bạn muốn tìm kiếm tập tin có chứa từ“Quantrimang” bạn chỉ cần chạy lệnh # find . | grep Quantrimang. Lệnhnày tương tự như # find . -name web. Tương tự, để kết quả trả về khôngphân biệt chữ hoa – chữ thường bạn chỉ cần làm như sau: # find . | grep -iweb. Ngoài ra bạn cũng có thể kết hợp lệnh find với sed hoặc awk.Cái hay của các dòng lệnh trong Linux hoặc UNIX ở chỗ chúng là nhữngcông cụ thực sự mạnh mẽ, bạn chỉ cần bỏ ra một chút thời gian nhỏ là đã cóthể làm chủ được chúng. Chúc các bạn thành công! ...
Nội dung trích xuất từ tài liệu:
Hướng dẫn sử dụng lệnh find trong LinuxHướng dẫn sử dụng lệnh find trong LinuxVới giao diện dòng lệnh, Linux thực sự là một công cụ rất mạnh mẽ vàlinh hoạt. Các công cụ như grep, awk, find và locate sẽ giúp bạn dễ dànghơn trong việc tìm kiếm các tập tin, tìm kiếm văn bản trong file hoặc thaythế một từ nào đó. Bài viết sau sẽ hướng dẫn các bạn cách sử dụng lệnh findđể cải thiện quá trình tìm kiếm bằng dòng lệnh.Về hình thức, lệnh find được sử dụng một cách đơn giản như sau:Lệnh này sẽ cung cấp cho bạn một danh sách tất cả các tập tin và thư mụctrong đường dẫn hiện hành. Lưu ý rằng truy vấn này sẽ hiển thị cả những tậptin trong cả thư mục con, vì vậy danh sách này sẽ rất dài nếu bạn có nhiềufile trong đó. Để dừng sự hiển thị này bạn hãy ấn phím Ctrl + C.Phương thức trên là cách đơn giản nhất để sử dụng lệnh find. Bằng cách kếthợp với một số các tham số và biểu thức thông thường khác, bạn có thể làmcho việc tìm kiếm tập tin được thông minh hơn. Ví dụ, nếu bạn muốn tìmkiếm tất cả tập tin có tên bắt đầu bằng “image”, hãy làm như sau:Ở đây chúng ta sử dụng tham số -name trong lệnh find để tìm kiếm tất cảtập tin có tên bắt đầu bằng image. Lưu ý rằng trường hợp này kết quả sẽphân biệt chữ hoa với chữ thường. Để có kết quả không phân biệt hoa –thường bạn có thể dùng lệnh “# find . -iname image*” .Bạn cũng có thể sử dụng ký tự đại diện cho việc tìm kiếm các tập tin vớiphần mở rộng nhất định. Để tìm kiếm toàn bộ nội dung file trong thư mụchiện hành và cả thư mục con có phần mở rộng .php, bạn sử dụng lệnh sau:Bạn cũng có thể thực hiện việc tìm kiếm theo hướng ngược lại. Tức là tìmtất cả những tập tin không có phần mở rộng .php như sau:# find . ! -name “*.php”Lưu ý: dấu chấm than (!) được dùng để thực thi việc tìm kiếm theo chiềungược lại, điều này có thể được dùng cho toàn bộ những tùy chọn khác.Một trong những vấn đề thường gặp phải khi dùng lệnh find là theo mặcđịnh nó sẽ tìm cả những thư mục con. Trong khi đó nhiều khi bạn chỉ cầntìm trong thư mục hiện hành. Để làm được điều này bạn cần sử dụng đến tùychọn -maxdepth. Với tùy chọn này, lệnh find sẽ được “thông báo” rằng cónhiều cấp độ trong thư mục con nên nó cần “xem xét” khi tìm kiếm. Vì vậynếu bạn chỉ muốn find tìm trong thư mục hiện hành, chỉ cần thêm chỉ số 0vào sau -maxdepth:(Dòng lệnh trên sẽ tìm tất cả file trong thư mục hiện tại không có phần mởrộng là .php)Nếu muốn tìm kiếm sâu hơn vào cả thư mục con, bạn chỉ cần tăng chỉ số cho-maxdepth lên thành 1,2... tùy theo các cấp của thư mục bạn có. Tương tự,bạn cũng có thể sử dụng lệnh -mindepth để thiết lập giới hạn thấp nhất chocấp của thư mục được tìm kiếm. Bằng cách kết hợp hai tùy chọn -maxdepthvà -mindepth một cách linh hoạt bạn sẽ có được nhiều kết quả theo nhiềunhu cầu của mình.Tìm kiếm với các tiêu chí khácNếu như ở phần trên chúng ta đã biết cách sử dụng tùy chọn -name để tìmkiếm theo tên tập tin. Tương tự như vậy, trong trường hợp bạn muốn tìmnhững kết quả theo tên người dùng thì có thể thêm tùy chọn -user. Ví dụ bạnmuốn hiển thị những tập tin có phần mở rộng .php của user có tên Linux,hãy làm như sau:Khắc phục lỗi thường gặpThông thường bạn có thể sử dụng lệnh find trong shell scripts. Bản thân lệnhnày sẽ ném ra vài lỗi. Tuy nhiên, khi bạn chạy nó như một user bình thườngcác lỗi nếu gặp phải sẽ được bật lên dạng pop-up. Ví dụ, nếu bạn chạy lệnhtìm kiếm trong thư mục root nhưng không có quyền root sẽ gặp lỗi kiểuPermission denied. Điều này sẽ gây khó chịu khi sử dụng lệnh trong mộtkịch bản. Mặc dù bản thân lệnh find không thể tự khắc phục lỗi này nhưngchúng ta vẫn có thể giải quyết dễ dàng bằng cách chuyển hướng toàn bộ lỗivề /dev/null như sau:# find / -name StewieGriffin*/root: Permission denied/home/peterg: Permission denied/home/stewie/StewieGriffin-resume.docSẽ được chuyển thành# find / -name StewieGriffin* 2>/dev/null/home/stewie/StewieGriffin-resume.docBây giờ bạn có thể yên tâm sử dụng lệnh find trong các script của mình màkhông cần lo lắng đến các lỗi ở đầu ra.Sử dụng lệnh find cho người lười biếngNếu bạn là một người như vậy, hãy kết hợp các lệnh tiện ích để có được kếtquả như ý muốn. Chẳng hạn như bạn muốn tìm kiếm tập tin có chứa từ“Quantrimang” bạn chỉ cần chạy lệnh # find . | grep Quantrimang. Lệnhnày tương tự như # find . -name web. Tương tự, để kết quả trả về khôngphân biệt chữ hoa – chữ thường bạn chỉ cần làm như sau: # find . | grep -iweb. Ngoài ra bạn cũng có thể kết hợp lệnh find với sed hoặc awk.Cái hay của các dòng lệnh trong Linux hoặc UNIX ở chỗ chúng là nhữngcông cụ thực sự mạnh mẽ, bạn chỉ cần bỏ ra một chút thời gian nhỏ là đã cóthể làm chủ được chúng. Chúc các bạn thành công! ...
Tìm kiếm theo từ khóa liên quan:
hệ điều hành windows hệ điều hành linux hệ điều hành mac hệ thống phần mềm chức năng quản lý tài nguyênGợi ý tài liệu liên quan:
-
183 trang 314 0 0
-
Nhập môn Tin học căn bản: Phần 1
106 trang 292 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 277 0 0 -
Giáo trình Tin học MOS 1: Phần 1
58 trang 268 0 0 -
80 trang 259 0 0
-
Thêm chức năng hữu dụng cho menu chuột phải trên Windows
4 trang 256 0 0 -
12 trang 229 0 0
-
117 trang 226 1 0
-
Giáo trình Hệ điều hành: Phần 2
53 trang 197 0 0 -
Hướng dẫn cách khắc phục lỗi màn hình xanh trong windows
7 trang 191 0 0