OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

Tuy nhiên, vì Linux là một hệ thống linh hoạt, các cài đặt mặc định này không nhất thiết phải được áp dụng. Đầu ra tiêu chuẩn, ví dụ, trên một máy chủ được giám sát chặt chẽ trong một môi trường lớn có thể là một máy in.


hình ảnh

5.1.2. Các toán tử chuyển hướng


5.1.2.1. Chuyển hướng đầu ra với> và |


Đôi khi bạn sẽ muốn đặt đầu ra của một lệnh trong một tệp hoặc bạn có thể muốn đưa ra một lệnh khác trên đầu ra của một lệnh. Đây được gọi là đầu ra chuyển hướng. Chuyển hướng được thực hiện bằng cách sử dụng ">" (ký hiệu lớn hơn) hoặc sử dụng "|" (pipe) toán tử gửi đầu ra tiêu chuẩn của một lệnh này đến một lệnh khác dưới dạng đầu vào tiêu chuẩn.


Như chúng ta đã thấy trước đây, làm sao lệnh nối các tệp và đặt tất cả chúng lại với nhau thành đầu ra tiêu chuẩn. Bằng cách chuyển hướng đầu ra này đến một tệp, tên tệp này sẽ được tạo - hoặc ghi đè nếu nó đã tồn tại, vì vậy hãy cẩn thận.


nancy: ~> thử nghiệm mèo1

một vài từ


nancy: ~> thử nghiệm mèo2

một số từ khác


nancy: ~> cat test1 test2> test3


nancy: ~> thử nghiệm mèo3

một vài từ

nancy: ~> thử nghiệm mèo1

một vài từ


nancy: ~> thử nghiệm mèo2

một số từ khác


nancy: ~> cat test1 test2> test3


nancy: ~> thử nghiệm mèo3

một vài từ


một số khác từ


hình ảnhĐừng ghi đè lên!

Hãy cẩn thận để không ghi đè lên các tệp hiện có (quan trọng) khi chuyển hướng đầu ra. Nhiều shell, bao gồm cả Bash, có một tính năng tích hợp để bảo vệ bạn khỏi rủi ro đó: người ăn bám. Xem các trang Thông tin để biết thêm thông tin. Trong Bash, bạn muốn thêm định -o người ăn bám lệnh cho bạn .bashrc tập tin cấu hình để ngăn việc ghi đè lên các tập tin một cách tình cờ.

Chuyển hướng "không có gì" đến một tệp hiện có cũng giống như việc làm trống tệp:


nancy: ~> danh sách ls -l

-rw-rw-r-- 1 nancy


nancy


117 2 tháng 18 09:XNUMX danh sách

nancy: ~> > danh sách

nancy: ~> danh sách ls -l

-rw-rw-r-- 1 nancy


nancy


0 4 tháng 12 01:XNUMX danh sách

Quá trình này được gọi là cắt bớt.


hình ảnh

Việc chuyển hướng tương tự đến một tệp không tồn tại sẽ tạo ra một tệp trống mới với tên đã cho:


nancy: ~> ls -l danh sách mới

ls: newlist: Không có tệp hoặc thư mục nào như vậy


nancy: ~> > danh sách mới

nancy: ~> ls -l danh sách mới

ls: newlist: Không có tệp hoặc thư mục nào như vậy


nancy: ~> > danh sách mới


nancy: ~> ls -l danh sách mới

-rw-rw-r-- 1 nancy

0 tháng 4 12 05:XNUMX danh sách mới

nancy: ~> ls -l danh sách mới

-rw-rw-r-- 1 nancy

Chương 7 cung cấp thêm một số ví dụ về việc sử dụng loại chuyển hướng này. Một số ví dụ sử dụng đường ống lệnh:

Để tìm một từ trong một số văn bản, hãy hiển thị tất cả các dòng khớp với "pattern1" và loại trừ các dòng cũng khớp với "pattern2" khỏi được hiển thị:


grep mẫu1 hồ sơ | tiếng kêu -v mẫu2


Để hiển thị đầu ra của một thư mục liệt kê từng trang một:


ls -các | ít hơn


Để tìm một tệp trong một thư mục:


ls -l | tiếng kêu phần_of_file_name


hình ảnh

5.1.2.2. Chuyển hướng đầu vào


Trong một trường hợp khác, bạn có thể muốn một tệp làm đầu vào cho một lệnh mà thông thường sẽ không chấp nhận tệp dưới dạng một tùy chọn. Việc chuyển hướng đầu vào này được thực hiện bằng cách sử dụng toán tử "<" (ký hiệu nhỏ hơn).


Dưới đây là ví dụ về việc gửi tệp cho ai đó, sử dụng chuyển hướng đầu vào.


andy: ~> thư [email được bảo vệ] < làm


Nếu người dùng làm biếng tồn tại trên hệ thống, bạn không cần phải nhập địa chỉ đầy đủ. Nếu bạn muốn liên hệ với ai đó trên Internet, hãy nhập địa chỉ đủ điều kiện làm đối số thư.


Điều này đọc khó hơn một chút so với con mèo của người mới bắt đầu hồ sơ | thư một người nào đó, nhưng tất nhiên đó là một cách sử dụng các công cụ có sẵn một cách thanh lịch hơn nhiều.


hình ảnh

5.1.2.3. Kết hợp chuyển hướng


Ví dụ sau kết hợp chuyển hướng đầu vào và đầu ra. Tập tin văn bản.txt lần đầu tiên được kiểm tra lỗi chính tả và đầu ra được chuyển hướng đến tệp nhật ký lỗi:


Đánh vần văn bản.txt > lỗi. nhật ký


Lệnh sau liệt kê tất cả các lệnh mà bạn có thể thực hiện để kiểm tra tệp khác khi sử dụng ít:


mike: ~> ít hơn - trợ giúp | grep -i kiểm tra

: e [file] Kiểm tra một tệp mới.

: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.

: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.

: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.

mike: ~> ít hơn - trợ giúp | grep -i kiểm tra

: e [file] Kiểm tra một tệp mới.

: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.

: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.

: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.

Sản phẩm -i tùy chọn được sử dụng cho các tìm kiếm không phân biệt chữ hoa chữ thường - hãy nhớ rằng hệ thống UNIX rất phân biệt chữ hoa chữ thường. Nếu bạn muốn lưu đầu ra của lệnh này để tham khảo trong tương lai, hãy chuyển hướng đầu ra đến một tệp:

mike: ~> ít hơn - trợ giúp | grep -i kiểm tra> kiểm tra-tệp-trong-ít hơn


mike: ~> mèo kiểm tra-tập-tin-trong-ít

: e [file] Kiểm tra một tệp mới.

: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.

: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.

: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.

mike: ~> ít hơn - trợ giúp | grep -i kiểm tra> kiểm tra-tệp-trong-ít hơn


mike: ~> mèo kiểm tra-tập-tin-trong-ít

: e [file] Kiểm tra một tệp mới.

: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.

: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.

: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.

Đầu ra của một lệnh có thể được ghép vào lệnh khác hầu như nhiều lần tùy thích, miễn là các lệnh này thường đọc đầu vào từ đầu vào tiêu chuẩn và ghi đầu ra vào đầu ra tiêu chuẩn.

Đôi khi chúng không, nhưng sau đó có thể có các tùy chọn đặc biệt hướng dẫn các lệnh này hoạt động theo các định nghĩa tiêu chuẩn; vì vậy hãy đọc tài liệu (trang man và Info) về các lệnh bạn sử dụng nếu bạn gặp lỗi.


Một lần nữa, hãy đảm bảo rằng bạn không sử dụng tên của các tệp hiện có mà bạn vẫn cần. Chuyển hướng đầu ra đến các tệp hiện có sẽ thay thế nội dung của các tệp đó.


hình ảnh

5.1.2.4. Toán tử >>


Thay vì ghi đè dữ liệu tệp, bạn cũng có thể nối văn bản vào tệp hiện có bằng hai dấu lớn hơn tiếp theo:


Ví dụ:


mike: ~> danh sách mong ước của mèo

nhiều tiền hơn ít công việc hơn


mike: ~> ngày >> danh sách mong muốn

mike: ~> danh sách mong ước của mèo

nhiều tiền hơn ít công việc hơn


mike: ~> ngày >> danh sách mong muốn


mike: ~> danh sách mong ước của mèo

nhiều tiền hơn ít công việc hơn

Thứ Hai 28 tháng 20 23:07:2002 CET XNUMX

mike: ~> danh sách mong ước của mèo

Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: