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.
Các biến được định nghĩa trước
Ý nghĩa
DISPLAY
Được sử dụng bởi X để xác dịnh vị trí thực hiện một ứng dụng khách (client)
HISTFILE
Đường dẫn đến file của các người dùng .bash_history HOME
Đường dẫn đến thư mục dành riêng (home) của người dùng LOGNAME
Tên được sử dụng bởi người dùng để truy nhập PATH
DỊNG LỆNH
• Đổ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.
Toán tử ‘>>’ sẽ bổ sung thêm kết quả vào nội dung file.
Các giá trị cho stdin, stderr, và stdout
stdin
0
stdout
• Đổ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à thố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.
Do-command 2>&1 >logfile Do-command >logfile 2>&1
Dấu ngoặc và Các ký tự Đa nghĩa (Metacharacter)