Обзор перенаправления
В системах Linux весь ввод-вывод рассматривается как файлы. Перенаправление изменяет направление этих базовых потоков ввода-вывода, позволяя записывать результаты команд в файл вместо вывода на экран, или использовать содержимое файла в качестве ввода для команды.
Стандартные потоки ввода-вывода
Все команды по умолчанию используют следующие три стандартных потока:
- Стандартный ввод (stdin, 0): Канал, через который команда читает данные. По умолчанию это клавиатура.
- Стандартный вывод (stdout, 1): Канал, через который выводятся нормальные результаты команды. По умолчанию это экран (терминал).
- Стандартный вывод ошибок (stderr, 2): Канал, через который выводятся сообщения об ошибках команды. По умолчанию это экран (терминал).
Операторы перенаправления
Вы можете управлять направлением ввода-вывода с помощью различных операторов перенаправления. Прямое использование `redirect` как в сгенерированных ниже командах приведет к ошибке. Вы должны использовать символы, такие как `>`, `>>`, `<`.
1. Перенаправление стандартного вывода
2. Перенаправление стандартного вывода ошибок
3. Перенаправление стандартного ввода
Сгенерированная команда:
Комбинируйте команды.
Описание:
`redirect` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Часто используемые примеры
Изучите методы управления вводом-выводом с помощью различных примеров использования перенаправления.
Сохранить результат команды в файл
ls -l > file_list.txt
Сохраняет результат команды `ls -l` в файл `file_list.txt`, перезаписывая его, если файл уже существует.
Добавить результаты нескольких команд в один файл
echo "--- 작업 시작 ---" >> log.txt
date >> log.txt
Добавляет результат команды `echo` в файл `log.txt`, а затем добавляет результат команды `date` в тот же файл. Использует `>>` для сохранения существующего содержимого.
Разделить сообщения об ошибках в отдельный файл
ls non_existent_file 2> error.log
Выполняет команду `ls` для несуществующего файла и отправляет только сообщения об ошибках (`2>`) в файл `error.log`. Нормальный вывод остается на экране.
Передать входной файл команде
sort < numbers.txt
Устанавливает вход для команды `sort` как файл `numbers.txt` для сортировки содержимого файла. `sort` обрабатывает содержимое файла, получая его из стандартного ввода.
Вывод и ошибки в одном файле
ls /home non_existent_file &> output_and_error.log
Сохраняет как нормальный вывод, так и сообщения об ошибках в файл `output_and_error.log`.