Linux Output Redirection là cách thay đổi cách mà lệnh đọc đầu vào và gửi đầu ra. Các ký tự đặc biệt của shell được sử dụng để chuyển hướng đầu vào và đầu ra của một lệnh. Đầu ra có thể được chuyển hướng vào một file (ký tự đặc biệt của shell là những cặp ngoặc góc ‘<‘, ‘>’) hoặc một chương trình (ký tự đặc biệt của shell là ký tự |).
Trong Linux, các chương trình thường sử dụng 3 luồng chuẩn: đầu vào chuẩn (stdin), đầu ra chuẩn (stdout) và lỗi chuẩn (stderr). Đầu vào chuẩn được đánh số như stdin (0) và đầu ra chuẩn được đánh số như stdout (1), còn lỗi chuẩn được đánh số là stderr (2). Các chương trình có thể sử dụng các ký tự đặc biệt để chuyển hướng chuẩn vào hoặc ra.
Trong Linux, cách thay đổi đầu ra thông thường là sử dụng các lệnh chuyển hướng. Dấu ‘>’ hoặc dấu ‘>>’ có thể được sử dụng để chuyển hướng đầu ra chuẩn. Nếu file đích không tồn tại, một file mới với tên tương tự sẽ được tạo ra.
Khi sử dụng dấu ‘>’ đơn lệnh, nội dung của file đã tồn tại sẽ bị ghi đè bởi nội dung mới.
Còn khi sử dụng dấu ‘>>’ kép, nội dung của file đã tồn tại sẽ không bị ghi đè mà sẽ được ghi thêm vào cuối file.
Ví dụ về cách sử dụng lệnh chuyển hướng đầu ra chuẩn trong Linux:
Sử dụng ‘>’ để chuyển hướng đầu ra chuẩn và ghi đè tất cả nội dung vào file mới:
ls > file.txt
Sử dụng ‘>>’ để chuyển hướng đầu ra chuẩn và ghi thêm vào nội dung của file đã tồn tại:
echo "Hello World!" >> file.txt
Sử dụng ‘|’ để chuyển hướng đầu ra của một lệnh vào đầu vào của lệnh khác:
ls | grep file.txt