Sử dụng grep, bạn có thể nhanh chóng tìm thấy văn bản khớp với biểu thức chính quy trong một tệp, một nhóm tệp hoặc văn bản đến từ stdin
Đã đăng. Ngày 23 tháng 9 năm 2022 . %t phút đọc . của Ricardo Gerardi (Sudoer, Mũ đỏ)
Hình ảnh
Ảnh của Alexander Andrews trên Bapt
Tìm kiếm các mẫu văn bản trong tệp hoặc luồng văn bản là một trong những nhiệm vụ phổ biến nhất mà bạn sẽ thực hiện trong sự nghiệp quản trị hệ thống của mình. Đây là một kỹ năng có giá trị cho phép bạn kiểm tra nhiều cấu hình hệ thống, phân tích dữ liệu, khắc phục sự cố nhật ký và thực hiện nhiều hoạt động khác
Đào tạo & Chứng nhận
- Khám phá các lựa chọn đào tạo và chứng nhận
- Thực hiện đánh giá kỹ năng sysadmin
- Tìm hiểu về chứng nhận Red Hat Certified System Administrator (RHCSA)
- Nhận bản dùng thử Đăng ký Red Hat Learning
- Sách điện tử miễn phí. Học tập hiện đại cho công nghệ hiện đại
Cách phổ biến nhất để tìm văn bản trong hệ thống Linux là sử dụng tiện ích dòng lệnh $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9. Tiện ích này ban đầu được phát triển cho hệ điều hành Unix vào đầu những năm 1970. Grep đã phát triển qua nhiều năm và phiên bản phổ biến nhất hiện nay dành cho Linux, GNU grep, có các tính năng bổ sung như đầu ra có màu. Tuy nhiên, chức năng chính của nó vẫn giống nhau
Sử dụng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9, bạn có thể nhanh chóng tìm thấy văn bản khớp với biểu thức chính quy trong một tệp, một nhóm tệp hoặc văn bản đến từ $ grep ^Port /etc/ssh/sshd_config Port 221 bằng cách sử dụng toán tử shell pipe
Bài viết này trình bày cách sử dụng lệnh $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 để tìm văn bản
Tìm văn bản trong một tập tin
Cách cơ bản nhất để sử dụng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 là tìm kiếm văn bản trong một tệp. Để thực hiện việc này, hãy nhập $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9, sau đó là mẫu văn bản cần tìm và tên tệp cần tìm. Ví dụ: để tìm cổng mà trình nền Secure Shell (SSH) sử dụng, hãy tìm kiếm $ grep ^Port /etc/ssh/sshd_config Port 223 trong tệp $ grep ^Port /etc/ssh/sshd_config Port 224
$ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts noLưu ý rằng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 tìm thấy tất cả các dòng khớp với mẫu văn bản bất kể vị trí của mẫu
[ Tải xuống bảng cheat lệnh grep của Linux. ]
Mở rộng grep với các biểu thức chính quy
Trong ví dụ trước, khi bạn tìm kiếm $ grep ^Port /etc/ssh/sshd_config Port 223 trong tệp cấu hình SSH, $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 trả về hai dòng. Dòng bạn đang tìm kiếm, Cổng 22 và một dòng bổ sung chứa mẫu tìm kiếm. Trong một số trường hợp, đó chính xác là những gì bạn muốn. Trong các trường hợp khác, $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 có thể tìm thấy quá nhiều mục mà bạn không quan tâm, yêu cầu bạn phải sắp xếp chúng để tìm thông tin mong muốn
Để tránh điều đó, bạn có thể sử dụng cụm từ thông dụng để cụ thể hơn về những gì bạn đang tìm kiếm. Ví dụ: để chỉ tìm các dòng bắt đầu bằng từ $ grep ^Port /etc/ssh/sshd_config Port 223, bạn có thể sử dụng toán tử biểu thức chính quy $ grep -E "Port [1-9]+" /etc/ssh/sshd_config Port 220, như thế này
$ grep ^Port /etc/ssh/sshd_config Port 22Hình ảnh
Tải ngay
Lần này, $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 chỉ trả về dòng bắt đầu bằng $ grep ^Port /etc/ssh/sshd_config Port 223 vì ở dòng thứ hai, biểu thức $ grep ^Port /etc/ssh/sshd_config Port 223 nằm ở giữa
Bạn cũng có thể sử dụng các biểu thức chính quy mở rộng với tham số dòng lệnh $ grep -E "Port [1-9]+" /etc/ssh/sshd_config Port 224. Ví dụ: để tìm kiếm một mẫu có chứa từ $ grep ^Port /etc/ssh/sshd_config Port 223 theo sau là các số, hãy sử dụng biểu thức chính quy này
$ grep -E "Port [1-9]+" /etc/ssh/sshd_config Port 22Bạn cũng có thể tìm các dòng kết thúc bằng một mẫu văn bản bằng cách sử dụng toán tử $ grep -E "Port [1-9]+" /etc/ssh/sshd_config Port 226. Ví dụ: để tìm tất cả các dòng kết thúc bằng $ grep -E "Port [1-9]+" /etc/ssh/sshd_config Port 227 trong $ grep -E "Port [1-9]+" /etc/ssh/sshd_config Port 228, hãy sử dụng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 như thế này
$ grep ^Port /etc/ssh/sshd_config Port 225Cụm từ thông dụng là một phần quan trọng của $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9, làm cho nó trở nên mạnh mẽ và linh hoạt. Tuy nhiên, biểu thức chính quy là một chủ đề lớn. Để biết thêm thông tin, hãy xem Biểu thức chính quy trên Wikipedia hoặc Biểu thức chính quy 101
Tìm văn bản trong nhiều tệp và thư mục
Tương tự như tìm mẫu văn bản trong một tệp, bạn có thể sử dụng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 để tìm văn bản trong nhiều tệp hoặc thư mục. Để tìm văn bản trong nhiều tệp đồng thời, hãy chỉ định tệp sẽ tìm kiếm sau tên tệp đầu tiên hoặc sử dụng ký tự đại diện trình bao, chẳng hạn như $ grep ^Port /etc/ssh/sshd_config Port 2252 cho tất cả các tệp. Ví dụ: để tìm kiếm cấu hình trong hai tệp
$ grep ^Port /etc/ssh/sshd_config Port 227Khi bạn sử dụng nhiều tệp, $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 sẽ hiển thị tên của tệp mà nó tìm thấy kết quả khớp trước khi hiển thị dòng khớp
[ Giữ các lệnh được sử dụng phổ biến nhất của bạn tiện dụng với bảng cheat lệnh Linux. ]
Để chạy tìm kiếm đệ quy trong nhiều thư mục con, hãy sử dụng cờ dòng lệnh $ grep ^Port /etc/ssh/sshd_config Port 2254
$ grep ^Port /etc/ssh/sshd_config Port 229Lệnh $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 nhanh và trả về kết quả nhanh, nhưng có thể mất nhiều thời gian nếu bạn chỉ định quá nhiều tệp hoặc thư mục con để tìm kiếm
Tìm văn bản trong đầu ra của lệnh khác
Tương tự như các tiện ích Unix khác, $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 cũng hoạt động trên $ grep ^Port /etc/ssh/sshd_config Port 221 khi bạn đưa đầu ra của một lệnh khác vào đó. Đây là một cách nhanh chóng và hữu ích để lọc đầu ra của lệnh để khớp với mẫu văn bản mà bạn đang tìm kiếm
Ví dụ: nếu bạn muốn kiểm tra xem gói $ grep ^Port /etc/ssh/sshd_config Port 2258 đã được cài đặt trong hệ điều hành Fedora hoặc Red Hat Enterprise Linux (RHEL) hay chưa, bạn có thể chuyển đầu ra của lệnh $ grep ^Port /etc/ssh/sshd_config Port 2259, liệt kê tất cả các gói đã cài đặt, thành $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 để tìm kiếm mẫu
$ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no2Bạn có thể lọc các đầu ra lệnh dài bằng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9, giúp việc tìm kiếm thông tin hữu ích dễ dàng hơn
[ Nhận hướng dẫn cài đặt ứng dụng trên Linux. ]
Tùy chọn hữu ích bổ sung
Lệnh $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 cung cấp nhiều tùy chọn để thay đổi cách nó tìm kiếm các mẫu hoặc hiển thị kết quả. Cho đến nay trong bài viết này, bạn đã nhìn thấy một số trong số họ. Mặc dù tôi không thể liệt kê tất cả các tùy chọn, đây là một số ví dụ hữu ích khác
Thêm tài nguyên Linux
- Bảng cheat lệnh Linux nâng cao
- Tải xuống RHEL 9 miễn phí thông qua chương trình Red Hat Developer
- Hướng dẫn cài đặt ứng dụng trên Linux
- Đánh giá kỹ năng quản trị hệ thống Linux
- Sử dụng tùy chọn $ grep ^Port /etc/ssh/sshd_config Port 2274 để đảo ngược các dòng tìm kiếm và hiển thị không khớp với mẫu
- Sử dụng tùy chọn $ grep ^Port /etc/ssh/sshd_config Port 2275 để chỉ tìm kiếm toàn bộ từ thay vì các mẫu ở giữa các từ khác
- Sử dụng tùy chọn $ grep ^Port /etc/ssh/sshd_config Port 2276 cho đầu ra có màu, giúp dễ dàng phát hiện mẫu phù hợp hơn
Để biết danh sách đầy đủ các tùy chọn $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9, hãy tham khảo các trang hướng dẫn
Cái gì tiếp theo?
Tiện ích grep của GNU rất linh hoạt và hữu ích, giúp bạn hoàn thành nhiều nhiệm vụ trong các hoạt động quản trị hệ thống hàng ngày của mình. Bạn càng sử dụng $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 nhiều, bạn sẽ càng cảm thấy thoải mái hơn và chẳng mấy chốc bạn sẽ nhận thấy mình luôn dựa vào nó
Để biết thêm thông tin về $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9, hãy xem một số liên kết này
- Cách sử dụng grup
- Bảng cheat lệnh grep Linux
- tiếng anh wiki
- Hướng dẫn Grep tại GNU
Bạn cũng có thể tìm thêm thông tin về $ grep Port /etc/ssh/sshd_config Port 22 #GatewayPorts no9 trong hệ thống Linux của mình bằng cách sử dụng $ grep ^Port /etc/ssh/sshd_config Port 2291 hoặc các ví dụ nhanh, có giá trị bằng công cụ $ grep ^Port /etc/ssh/sshd_config Port 2292
Xem các bài viết liên quan này trên Enable Sysadmin
Hình ảnh
Hướng dẫn cho người mới bắt đầu về tmux
Làm cho thiết bị đầu cuối Linux của bạn trở nên hữu ích hơn với tmux, bộ ghép kênh đầu cuối cho phép bạn chạy nhiều chương trình Linux qua một kết nối
Đã đăng. Ngày 13 tháng 9 năm 2022
Tác giả. Ricardo Gerardi (Sudoer, Mũ đỏ)
Hình ảnh
Thả các trang man cho lệnh Linux này
Lệnh gian lận Linux cho phép bạn tra cứu các cờ và đối số dòng lệnh phổ biến một cách nhanh chóng mà không cần rời khỏi CLI
Đã đăng. Ngày 2 tháng 9 năm 2022
Tác giả. Anthony Critelli (Sudoer)
Hình ảnh
Cách định cấu hình tên máy chủ trên hệ thống Linux
Giúp truy cập máy tính Linux của bạn dễ dàng hơn bằng cách đặt tên thân thiện với con người, dễ sử dụng hơn địa chỉ IP
Đã đăng. Ngày 17 tháng 8 năm 2022
Tác giả. Shiwani Biradar (Sudoer, Mũ đỏ)
chủ đề. Linux Chứng nhận
Ricardo Gerardi
Ricardo Gerardi là Chuyên gia tư vấn cấp cao tại Red Hat Canada, nơi ông chuyên về tự động hóa CNTT với Ansible và OpenShift. Thêm về tôi
Hội nghị thượng đỉnh mũ đỏ 2022. theo yêu cầu
Nhận thông tin mới nhất về Ansible, Red Hat Enterprise Linux, OpenShift, v.v. từ sự kiện ảo theo yêu cầu của chúng tôi
Đăng kí miễn phí
Nội dung liên quan
Hình ảnh
10 bài hướng dẫn học lấy chứng chỉ RHCSA năm 2023
Thêm huy hiệu Red Hat Certified System Administrator (RHCSA) vào sơ yếu lý lịch của bạn với sự trợ giúp của các hướng dẫn nghiên cứu này
Đã đăng. Ngày 27 tháng 12 năm 2022
Tác giả. Roberto Nozaki (Sudoer, Mũ đỏ)
Hình ảnh
Cách lên lịch công việc bằng tiện ích 'cron' của Linux
Lên lịch cho task chạy tự động vào những thời điểm cụ thể là kiến thức cần thiết cho bất kỳ sysadmin nào
Đã đăng. Ngày 15 tháng 12 năm 2022
Tác giả. Alexon Oliveira (Sudoer, Mũ đỏ)
Hình ảnh
Tìm hiểu cách Unix ảnh hưởng đến Linux, hiểu các danh sách và từ điển Ansible và các mẹo khác dành cho quản trị viên hệ thống