Bài học theo mô-đun (1/2)
Đầu ra và chuyển hướng (echo, cat, >)
Trong Linux, hầu hết tất cả các lệnh đều đọc dữ liệu từ luồng đầu vào và ghi kết quả vào luồng đầu ra. Các kênh này được gọi là luồng tiêu chuẩn:
- Đầu vào tiêu chuẩn (stdin): Luồng mà lệnh đọc đầu vào của nó (mặc định là bàn phím).
- Đầu ra tiêu chuẩn (stdout): Luồng mà lệnh ghi đầu ra thành công (mặc định là màn hình đầu cuối).
- Lỗi Tiêu chuẩn (stderr): Luồng mà lệnh ghi thông báo lỗi của nó (mặc định là màn hình).
Bằng cách sử dụng dòng lệnh, chúng ta có thể chuyển hướng các luồng này để lưu kết quả trực tiếp vào tệp.
In văn bản: echo
Lệnh echo chỉ cần ghi các đối số của nó vào đầu ra tiêu chuẩn (màn hình):
echo "Hello everyone"Chuyển hướng đầu ra (Ghi đè): >
Nếu bạn muốn lưu kết quả đầu ra của lệnh vào một tệp thay vì hiển thị nó trên màn hình, bạn có thể sử dụng toán tử chuyển hướng lớn hơn >:
echo "Hello everyone" > greetings.txtLệnh này chạy echo và chuyển hướng đầu ra của nó tới tệp greetings.txt.
[! QUAN TRỌNG] Nếu tệp
greetings.txtkhông tồn tại thì nó sẽ được tạo. Nếu nó đã tồn tại, nội dung hiện có của nó sẽ bị xóa hoàn toàn và ghi đè bằng đầu ra mới.
Đọc nội dung tệp: cat
Để xem nhanh nội dung của một hoặc nhiều tệp văn bản, hãy sử dụng lệnh cat (viết tắt của concatenate):
cat greetings.txtNối thêm đầu ra: >>
Nếu bạn muốn nối dòng mới vào cuối tệp hiện có thay vì ghi đè lên nó, bạn phải sử dụng toán tử nối thêm >>:
echo "New line of text" >> greetings.txtBây giờ, đọc tệp bằng cat greetings.txt sẽ hiển thị cả dòng đầu tiên và dòng thứ hai.
Ví dụ sử dụng và các lỗi thường gặp
Bạn có thể chuyển nhiều tệp tới cat cùng lúc để hiển thị chúng một cách tuần tự (nối):
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.Bạn có thể chuyển hướng đầu ra kết hợp sang tệp thứ ba bằng toán tử >:
cat notes.txt info.txt > combined.txtNếu bạn cố đọc một tệp không tồn tại, cat sẽ viết thông báo lỗi:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directoryHãy tự mình thử
Bài tập 1: Tạo file có lời chào
Tạo một tệp có tên 'hello.txt' chứa chính xác văn bản 'Hello World' bằng cách sử dụng echo và toán tử >.
Hiển thị gợi ý
Sử dụng echo theo sau là chuỗi trong dấu ngoặc kép, toán tử > và hello.txt.
Giải pháp khả dụng sau 3 lần thử
Bài tập 2: Nối ghi chú vào một tập tin
Thêm dòng “Linux rất thú vị” vào cuối tệp “notes.txt” hiện có mà không xóa nội dung hiện tại của nó.
Hiển thị gợi ý
Sử dụng toán tử >> để nối văn bản vào tệp Notes.txt.
Giải pháp khả dụng sau 3 lần thử
Bài 3: Nối file
Ghép nối nội dung của các tệp 'notes.txt' và 'info.txt' và lưu kết quả kết hợp vào một tệp mới có tên 'combined.txt'.
Hiển thị gợi ý
Sử dụng cat theo sau là tên của hai tệp nguồn và chuyển hướng đầu ra bằng > đến tệp đích.
Giải pháp khả dụng sau 3 lần thử