Linux hữu ích tìm lệnh cho quản trị viên hệ thống

Lệnh find là một trong những lệnh được sử dụng rộng rãi nhất trong HĐH Linux.


Sẽ rất khó để quản trị một môi trường Linux mà không biết tìm lệnh.

Nó giúp bạn tìm kiếm các tệp, thư mục trên máy chủ Linux và cực kỳ hữu ích cho việc quản lý hệ thống tệp.

Trong bài viết này, tôi đã liệt kê một số cú pháp tìm lệnh phổ biến nhất để giúp bạn có năng suất.

Tìm tệp trên một hệ thống tệp cụ thể

Nếu bạn biết tên tệp và hệ thống tệp nhưng không chắc chắn đường dẫn thư mục chính xác, thì bạn có thể sử dụng cú pháp này.

Trong ví dụ dưới đây, tôi đang tìm kiếm tệp tin trong hệ thống tệp / var.

[[email được bảo vệ] ~] # find / var -name tin nhắn
/ var / log / tin nhắn
[[email được bảo vệ] ~] #

Lời khuyên: Nếu bạn không biết tên hệ thống tệp, bạn có thể tìm kiếm trên / cấp độ, nhưng hãy nhớ rằng có thể mất thời gian nếu bạn có một số lượng lớn hệ thống tệp.

[[email được bảo vệ] ~] # find / -name tin nhắn
/ var / log / tin nhắn
[[email được bảo vệ] ~] #

Nếu bạn không biết tên tệp chính xác, bạn cũng có thể sử dụng mẫu ký tự đại diện để tìm kiếm.

Ví dụ – để tìm kiếm error_log bạn có thể thử

[[email được bảo vệ] ~] # find / -name error_ *
/ var / log / httpd / error_log
[[email được bảo vệ] ~] #

Làm thế nào về việc tìm kiếm tên tệp với chữ thường hoặc chữ hoa, nói cách khác, bỏ qua trường hợp nhạy cảm?

Chà, bạn có thể sử dụng mật khẩu thay vì tên là.

Ví dụ:

[[email được bảo vệ] var] # find / -iname TIN NHẮN
/ var / log / tin nhắn
[[email được bảo vệ] var] #

Hãy cùng xem một kịch bản thời gian thực nữa. Nếu bạn biết loại tệp và muốn tìm kiếm tất cả chúng.

Ví dụ: nếu bạn đang làm việc trên WebSphere, bạn có thể muốn tìm kiếm tất cả các tệp kết thúc bằng .out thì bạn có thể thử

# tìm / -name * .out

Tìm tệp dựa trên quyền sở hữu và quyền

Có tập tin với 777 quyền là nguy hiểm vì bất kỳ ai cũng có thể chỉnh sửa hoặc xóa, vì là Quản trị viên hệ thống, bạn có thể muốn quét tại chỗ để tìm bất kỳ tệp nào có quyền 777.

Đối với một ví dụ – để hiển thị bất kỳ tệp nào có quyền 777 / hệ thống tệp opt.

[[email được bảo vệ] ~] # find / opt / -type f -perm 777
/ chọn / kiểm tra
/opt/SystemOut.log
[[email được bảo vệ] ~] #

Lời khuyên: Làm thế nào về quyền sở hữu tập tin in, dấu thời gian trong cùng một dòng lệnh?

[[email được bảo vệ] ~] # find / opt / -type f -perm 777 -exec ls -ltr {} +;
-rwxrwxrwx 1 root root 0 Jul 19 03:35 / opt / tests
-rwxrwxrwx 1 root root 0 Jul 19 03:36 /opt/SystemOut.log
[[email được bảo vệ] ~] #

Bạn cũng có thể thay đổi quyền từ 777 thành 755 trong một cú pháp lệnh tìm kiếm duy nhất.

# find / opt / -type f -perm 777 -exec chmod 755 {} +;

Rõ ràng, bạn có thể điều chỉnh quyền từ 755 cho bất kỳ ai khác mà bạn muốn.

Cách tìm tệp, thuộc sở hữu của người dùng root hoặc người dùng khác?

Điều này rất hữu ích nếu bạn gặp sự cố trong khi bắt đầu dịch vụ do lần khởi động trước được thực hiện bằng root.

Ví dụ: nếu tomcat được sở hữu bởi một người dùng có tên là tom tomappapp và vì một số lý do, bạn đã bắt đầu với root.

Đoán xem điều gì sẽ xảy ra khi bạn khởi động lại lần sau với Trò chơi tomcatapp?

Nó đã thắng được vì một số quyền sở hữu của tập tin đã được thay đổi thành root và bây giờ, tom tomappapp có thể sửa đổi / xóa các tập tin đó. Vì vậy, điều này trở nên rất tiện dụng trong tình huống đó.

Đây là cách bạn có thể tìm kiếm bất kỳ tệp nào thuộc sở hữu gốc trong một hệ thống tệp cụ thể.

# find / opt / -user root

Ghi chú: thực hiện cú pháp tìm / cấp này sẽ dẫn đến rất nhiều tệp / thư mục, vì vậy bạn có thể muốn kiểm soát bằng cách thực hiện việc này trong một hệ thống tệp cụ thể.

Tìm tệp cũ hơn ngày cụ thể

Quản lý hệ thống tệp rất cần thiết cho hỗ trợ sản xuất và thường bạn phải xử lý cú pháp này để tìm các bản ghi cũ hơn (giả sử) trong 60 ngày.

Ví dụ dưới đây là tìm tệp access.log cũ hơn 60 ngày trong hệ thống tệp / opt.

# find / opt / -name access.log -mtime +60

Mẹo: nếu bạn quyết định tìm và xóa trong cùng một dòng lệnh, bạn có thể thực hiện như bên dưới. Điều này sẽ tìm thấy access.log cũ hơn 60 ngày trong hệ thống tệp / opt và xóa nó.

# find / opt / -name access.log -mtime +60 -exec rm {} +;

Mặc dù điều này rất tiện dụng, bạn có thể muốn liệt kê các tệp trước khi xóa chúng. Làm như vậy

# find / opt / -name access.log -mtime +60 -exec ls -ltr {} +;

Tìm kích thước tệp lớn

Đôi khi bạn có thể phải đối phó với việc dọn dẹp hệ thống tệp thường xuyên do một số lượng lớn các bản ghi đang được ứng dụng viết do vấn đề về mã, v.v..

Hãy để lấy ví dụ về việc tìm kiếm tệp lớn hơn 1 GB trong hệ thống tệp / opt.

# tìm / chọn / kích thước + 1G

Lời khuyên: Nếu bạn biết tất cả các tệp trong / opt / có nhiều hơn 1 GB có thể bị xóa thì bạn chỉ có thể tìm và xóa trong cùng một dòng.

# find / opt / -size + 1G -exec rm {} +;

Tôi hy vọng các lệnh trên có ích và giúp bạn trong thời gian thực.

Để tìm hiểu thêm về các lệnh Linux, hãy xem khóa học trực tuyến này.

THẺ

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map