Ống Linux và chuyển hướng

Mục lục:
- Chuyển hướng và đường ống trong Linux
- Khái niệm cơ bản
- Chuyển hướng
- Chuyển hướng đầu ra và lỗi tiêu chuẩn
- Chuyển hướng đầu vào
- Đường ống
Nhiều người đã biết rằng trong Linux, thiết bị đầu cuối cung cấp cho chúng ta các công cụ có giá trị để tinh chỉnh và tối ưu hóa kết quả mà chúng ta tìm kiếm. Trong bài đăng này, chúng tôi tận dụng việc dạy bạn cách sử dụng chuyển hướng và đường ống. Và đó là thiết bị đầu cuối hóa ra như một hộp với các tiện ích đáng kinh ngạc. Nó xử lý vô số lệnh và công cụ giúp chúng tôi thực hiện các công việc hàng ngày trên cơ sở hàng ngày.
Chỉ số nội dung
Chuyển hướng và đường ống trong Linux
Khái niệm cơ bản
Trước khi tiếp tục giải thích các đường ống là gì và tầm quan trọng của chúng (phần thú vị), chúng ta phải rõ ràng về ba khái niệm cơ bản trong Linux: đầu vào tiêu chuẩn, đầu ra tiêu chuẩn và lỗi tiêu chuẩn.
Đầu vào tiêu chuẩn: thể hiện dữ liệu cần thiết cho hoạt động chính xác của ứng dụng. Một ví dụ về chúng có thể là một tệp có dữ liệu hoặc thông tin có cấu trúc được nhập từ thiết bị đầu cuối. Trong thiết bị đầu cuối, nó được biểu diễn dưới dạng 0.
Đầu ra tiêu chuẩn: là phương tiện mà ứng dụng sử dụng để hiển thị thông tin về các quy trình và / hoặc kết quả của nó, đây có thể là các thông báo đơn giản, thông báo về tiến trình hoặc các tệp có dữ liệu có cấu trúc như độ phân giải quy trình (ví dụ như báo cáo). Trong thiết bị đầu cuối, nó được đại diện như loại 1.
Lỗi tiêu chuẩn: đó là cách các ứng dụng thông báo cho chúng tôi về các vấn đề có thể xảy ra tại thời điểm thực thi. Nó được biểu diễn dưới dạng loại 2 trong thiết bị đầu cuối.
Tất cả các loại được biểu diễn dưới dạng tệp vật lý trong hệ thống, vì như bạn đã đọc trong bài trước, trong Linux, mọi thứ đều là tệp.
Chuyển hướng
Bây giờ chuyển hướng là gì?
Chuyển hướng bao gồm thông tin di chuyển từ loại này sang loại khác (các loại được đề cập ở trên), ví dụ, từ lỗi tiêu chuẩn sang đầu ra tiêu chuẩn hoặc từ đầu ra tiêu chuẩn sang đầu vào tiêu chuẩn. Thông qua thiết bị đầu cuối, chúng tôi thực hiện điều đó bằng cách sử dụng biểu tượng>.
Chuyển hướng đầu ra và lỗi tiêu chuẩn
Ví dụ, để chuyển hướng đầu ra của một lệnh và gửi nó đến một tệp; chúng ta chỉ cần thực thi:
ls -la ~> (tên tệp)
Tuy nhiên, nếu chúng tôi thực hiện theo cách này, nội dung của tệp của chúng tôi sẽ được thay thế, mỗi lần, bằng đầu ra lệnh. Nếu những gì chúng ta muốn là cho đầu ra này được thêm vào tệp, thì việc thực hiện sẽ như sau:
ls -la ~ >> (tên tệp)
Điều thú vị là chúng ta có thể chuyển hướng các đầu ra tiêu chuẩn, lỗi và đầu vào. Đây là nơi mà những con số tôi đã đề cập ở đầu có ý nghĩa. Ví dụ: để buộc một chương trình hiển thị cho chúng tôi các lỗi được tạo trong khi thực thi, chúng tôi chuyển hướng lỗi tiêu chuẩn sang đầu ra tiêu chuẩn trong khi thực hiện:
ứng dụng 2 >> & 1
Trong đó 2 đại diện cho lỗi tiêu chuẩn và & 1 đại diện cho đầu ra tiêu chuẩn.
Chúng tôi cũng có thể loại bỏ lỗi tiêu chuẩn trong một quy trình nhất định, một điều phổ biến trong quản trị hệ thống. Đối với điều này, chúng tôi thực hiện:
ứng dụng 2> / dev / null
Thậm chí loại bỏ đầu ra tiêu chuẩn:
ứng dụng> / dev / null
Vì trong Linux, tệp / dev / null là một tệp đặc biệt trong đó thông tin được gửi đi sẽ bị loại bỏ.
Chuyển hướng đầu vào
Cũng giống như cách chúng tôi chuyển hướng các đầu ra tiêu chuẩn và lỗi, chúng tôi có thể làm điều đó với các đầu vào tiêu chuẩn từ một tệp và để làm điều này, chúng tôi sử dụng toán tử <.
CHÚNG TÔI ĐỀ NGHỊ BẠN Các trình duyệt Linux ít được biết đến nhấtĐiều này hữu ích trong các lệnh hoặc chương trình nơi các đối số được nhập bằng bàn phím, theo cách mà chúng ta có thể thay thế chúng bằng một tệp, ví dụ:
echo "Hello world"> chào mèo <chào Hello world
Hãy xem: Các lệnh Linux: Biết và thao tác hệ thống
Đường ống
Sau khi hiểu được hoạt động của các chuyển hướng, khái niệm về đường ống sẽ khá đơn giản. Trong số các nguyên tắc của triết lý Unix, chúng tôi có một thực tế là có các ứng dụng nhỏ chịu trách nhiệm thực hiện các nhiệm vụ rất cụ thể và cùng nhau thực hiện các nhiệm vụ phức tạp. Theo nguyên tắc này, phải có một cách để một bộ ứng dụng tương tác với nhau. Đây là nơi phát sinh cái gọi là đường ống.
Đường ống là một loại chuyển hướng đặc biệt cho phép bạn gửi đầu ra tiêu chuẩn của một lệnh làm đầu vào tiêu chuẩn của một lệnh khác. Cách để thể hiện nó là với biểu tượng | (ống). Tính hữu dụng chính của nó là nó cung cấp cho chúng ta khả năng nối các lệnh, làm phong phú thêm chương trình.
Một ví dụ đơn giản và rất hữu ích là xem các quy trình đang chạy trên hệ thống với ps và chuyển hướng đầu ra của chúng để sắp xếp để sắp xếp chúng theo PID:
ps -a | sắp xếp
Như bạn có thể thấy, chuyển hướng và đường ống là các khái niệm cơ bản của Linux và chúng ta chắc chắn nên xử lý. Bằng cách này, bạn sẽ cảm thấy ngày càng thoải mái hơn trong thiết bị đầu cuối.
Hãy cho chúng tôi trong các ý kiến, bạn sẽ sử dụng hoặc sử dụng các chuyển hướng và đường ống để làm gì trong thiết bị đầu cuối?
Tin tặc bắt đầu chuyển hướng các cuộc tấn công windows của họ sang linux

Trong thời gian gần đây, dường như tin tặc bắt đầu chuyển hướng các cuộc tấn công của họ sang Linux. Linux. Proxy.10 biến máy tính của bạn thành máy chủ proxy
Điều hướng đi - ứng dụng nhẹ để điều hướng bản đồ google

Navegation GO: Ứng dụng nhẹ để điều hướng Google Maps. Tìm hiểu thêm về ứng dụng Google mới để điều hướng bản đồ.
Ống cứng hay ống mềm: chọn loại nào?

Khi lắp ráp mạch làm mát chất lỏng của chúng tôi, chúng tôi có thể chọn giữa ống cứng hoặc mềm. Chúng tôi phân tích từng người bên trong.