Computer >> Máy Tính >  >> Điện thoại thông minh >> Linux

Bắt đầu với lệnh grep

Hướng dẫn ngắn gọn này sẽ giúp bạn thiết lập và chạy bằng lệnh “grep” cực kỳ hữu ích cho Linux và các hệ điều hành * nix khác - ngay cả các phiên bản macOS mới nhất.

Đối với bất kỳ ai quen thuộc với giao diện dòng lệnh Linux hoặc UNIX, rất có thể một lúc nào đó grep đã vượt qua đường dẫn của bạn. grep là một công cụ dòng lệnh tuyệt vời giúp bạn tìm kiếm một từ hoặc các từ thông qua các tệp. Theo mặc định, nó có hầu hết tất cả các phiên bản của Linux. Đối với những người không quen thuộc với grep, đây là một cách sơ khai nhanh.

# grep www /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
DocumentRoot “/ var / www / html”
# ví dụ:www.apache.org (bật) hoặc 204.62.129.132 (tắt).
Bí danh / biểu tượng / “/ var / www / biểu tượng /”

Trong ví dụ trên, chúng tôi đang sử dụng grep để tìm kiếm cụm từ www trong tệp /etc/httpd/conf/httpd.conf . 4 kết quả đã được trả về. Đó là một lệnh khá đơn giản. grep có nhiều chức năng hơn. Vui lòng duyệt qua manpage cho grep mà bạn có thể truy cập bằng cách chạy man grep .

Bây giờ chúng ta sẽ xem xét một tính năng của grep cho phép bạn tìm kiếm hai thuật ngữ trong tài liệu, chỉ bằng một lệnh. Hãy sửa đổi lệnh hiển thị ở trên để tìm kiếm www và cả thuật ngữ máy chủ .

# grep ‘www \ | server’ /etc/httpd/conf/httpd.conf

# SetHandler server-status
# Cho phép báo cáo cấu hình máy chủ từ xa, với URL là
# https:// servername / server-info (yêu cầu tải mod_info.c).
#ServerName www.example.com:80
DocumentRoot “/ var / www / html”
# ví dụ:www.apache.org (bật) hoặc 204.62.129.132 (tắt).
Bí danh / biểu tượng / “/ Var / www / icon /”
# SetHandler server-info
# bật máy chủ proxy:
# (“Full” thêm phiên bản máy chủ; “Block” xóa tất cả thư đi Qua :headers)
# chỉ sử dụng máy chủ ảo dựa trên tên để máy chủ không cần lo lắng về
# tên máy chủ.

Vì vậy, như bạn có thể thấy đầu ra lớn hơn nhiều trong lệnh thứ hai (12 dòng được trả về). Lưu ý cách chúng tôi đã sửa đổi lệnh đầu tiên và thay đổi cụm từ tìm kiếm thành ‘www \ | server’ . Hãy nhớ sử dụng dấu gạch chéo về phía trước (\) trước đường ống , nếu không bạn sẽ không nhận được kết quả tương tự. Ngoài ra, bạn cũng có thể sử dụng công cụ egrep để chạy một tìm kiếm tương tự mà không sử dụng dấu gạch chéo lên . Hãy thử điều này:

# egrep ‘www | server’ /etc/httpd/conf/httpd.conf

# SetHandler server-status
# Cho phép báo cáo cấu hình máy chủ từ xa, với URL là
# https:// servername / server-info (yêu cầu tải mod_info.c).
#ServerName www.example.com:80
DocumentRoot “/ var / www / html”
# ví dụ:www.apache.org (bật) hoặc 204.62.129.132 (tắt).
Bí danh / biểu tượng / “/ Var / www / icon /”
# SetHandler server-info
# bật máy chủ proxy:
# (“Full” thêm phiên bản máy chủ; “Block” xóa tất cả thư đi Qua :headers)
# chỉ sử dụng máy chủ ảo dựa trên tên để máy chủ không cần lo lắng về
# tên máy chủ.

Bạn cũng có thể thêm một đường ống khác và cũng có thể tìm kiếm một thuật ngữ khác. Lệnh của bạn sẽ giống như # egrep ‘www | server | apache’ /etc/httpd/conf/httpd.conf .

Khi bạn kết hợp lệnh grep với lệnh find, sẽ không có nhiều thứ bạn không thể tìm thấy trên máy tính của mình :)