Tính năng này hoạt động bash trên bất kỳ hệ điều hành nào, từ Linux và macOS đến môi trường bash dựa trên Ubuntu của Windows 10.
Tùy chọn một: Chuyển hướng đầu ra đến tệp chỉ
Để sử dụng chuyển hướng bash, bạn chạy một lệnh, chỉ định
>
hoặc là
>>
toán tử, và sau đó cung cấp đường dẫn của một tệp mà bạn muốn đầu ra được chuyển hướng đến.
-
>
chuyển hướng đầu ra của lệnh sang một tệp, thay thế nội dung hiện có của tệp.
-
>>
chuyển hướng đầu ra của lệnh tới một tệp, thêm đầu ra vào nội dung hiện có của tệp.
Về mặt kỹ thuật, điều này chuyển hướng “stdout” - đầu ra tiêu chuẩn, là màn hình - thành một tệp.
Đây là một ví dụ đơn giản. Các
ls
lệnh liệt kê các tệp và thư mục trong thư mục hiện tại. Vì thế. khi bạn chạy lệnh sau,
ls
sẽ liệt kê các tệp và thư mục trong thư mục hiện tại. Nhưng nó sẽ không in chúng vào màn hình - nó sẽ lưu chúng vào tệp bạn chỉ định.
ls > /path/to/file
Bạn không phải chỉ định đường dẫn đến tệp hiện có. Chỉ định bất kỳ đường dẫn và bash hợp lệ nào sẽ tạo một tệp tại vị trí đó.
ls
đầu ra của lệnh. Ví dụ:
cat
lệnh in nội dung của một tập tin vào thiết bị đầu cuối:
cat /path/to/file
>
toán tử thay thế nội dung hiện có của tệp bằng đầu ra của lệnh. Nếu bạn muốn lưu đầu ra của nhiều lệnh vào một tệp, bạn sẽ sử dụng
>>
thay vào đó. Ví dụ, lệnh sau sẽ nối thêm thông tin hệ thống vào tệp bạn chỉ định:
uname -a >> /path/to/file
Nếu tệp chưa tồn tại, bash sẽ tạo tệp. Nếu không, bash sẽ để nguyên nội dung hiện có của tệp và thêm đầu ra vào cuối tệp.
Khi bạn xem nội dung của tệp, bạn sẽ thấy kết quả của lệnh thứ hai được thêm vào cuối tệp:
Tùy chọn hai: In ra thông thường và chuyển hướng nó vào một tập tin
Bạn có thể không thích chuyển hướng đầu ra bằng
>
hoặc là
>>
các toán tử, vì bạn sẽ không thấy đầu ra của lệnh trong thiết bị đầu cuối. Đó là những gì
tee
lệnh cho. Lệnh tee in đầu vào nó nhận được vào màn hình và lưu nó vào một tập tin cùng một lúc.
Để đường dẫn đầu ra của lệnh đến
tee
in nó vào màn hình của bạn và lưu nó vào một tập tin, sử dụng cú pháp sau:
command | tee /path/to/file
Điều này sẽ thay thế bất kỳ thứ gì trong tệp bằng đầu ra của lệnh, giống như
>
nhà điều hành.
tee
in tới màn hình của bạn và lưu nó vào một tệp, nhưng gắn nó vào cuối tệp:
command | tee -a /path/to/file
Thao tác này sẽ thêm đầu ra vào cuối tệp, giống như
>>
nhà điều hành.