Xuất, nhập, đổi hướng

Một phần của tài liệu Tài liệu LPI Tiếng Việt - Phần 1 (Trang 53 - 57)

DÒNG LỆNH

Xuất, nhập, đổi hướng

hiện việc xuất, nhập và báo lỗi. Các dạng mô tả chuẩn này có thể được định nghĩa lại bởi bất kỳ tiến trình nào. Trong hầu hết các trường hợp, mơ tả stdin là bàn phím, và hai dạng mô tả xuất + báo lỗi (stdout và stderr) là màn hình.

DỊNG LỆNH

Các giá trị cho stdin, stderr, và stdout

stdin 0

stdout 1

stderr 2

• Đổi hướng stdout

program > file

Dữ liệu theo hướng từ trái sang phải

fdisk –l > partions.txt

Câu lệnh này sẽ thực hiện tiện ích fdisk và kết quả đầu ra sẽ được ghi vào file

partitions.txt. Kết quả khơng được hiển thị ra màn hình. Chú ý rằng shell sẽ thực

hiện câu lệnh này bắt đầu từ bên phải. Như vậy, file partitions.txt sẽ được tạo ra nếu như nó chưa tồn tại và sẽ bị ghi đè vào khi toán tử ‘>’ được dùng.

Đổi hướng stdin

program < file

Trong trường hợp này dữ liệu theo hướng từ phải sang trái. Toán từ ‘<’ chỉ được sử dụng cho stdin và không thể dùng cho stdout.

Nếu file instruction chứa trên mỗi dịng các kí tự p, m, và q thì trong ví dụ sau đây

fdisk sẽ in bảng phân vùng (partition) của /dev/hda, in tiện ích trợ giúp, và cuối

cùng là thoát khỏi câu lệnh.

fdisk /dev/hda < instructions

Đổi hướng stderr

program 2> errorfile

stdin, stdout, và stderr được dại diện bằng 0, 1, và 2 tương ứng. Câu lệnh trên cho phép chúng ta chọn luồng stderr.

DỊNG LỆNH

find / 2> /dev/null

Các lệnh đường ống

Program1| Program2

Các đường ống (pipe) được dại diện bằng kí hiệu “|”. Dịng dữ liệu chuyển từ trái sang phải. Hình sau đây minh họa stdout của một tiến trình được chuyển hướng đến stdin của một tiến trình khác như thế nào.

cat /var/log/messages | less

Các chuyển hướng của dữ liệu xuất được phân tách từ phải sang trái, do đó các lệnh sau là không tương đương

Do-command 2>&1 >logfile Do-command >logfile 2>&1 (adsbygoogle = window.adsbygoogle || []).push({});

Dấu ngoặc và Các ký tự Đa nghĩa (Metacharacter)

Một phần của tài liệu Tài liệu LPI Tiếng Việt - Phần 1 (Trang 53 - 57)