Стандартный ввод
Часть раздела Основы путешествия по Terminal на Coddy — урок 40 из 82.
Второй поток данных — это стандартный ввод, сокращённо stdin. В то время как стандартный вывод — это место, куда команды отправляют свои результаты, стандартный ввод — это место, откуда команды получают данные.
Многие команды могут читать из файла, принимая имя файла в качестве аргумента:
cat notes.txt
sort names.txtНо вы также можете перенаправить содержимое файла непосредственно в команду с помощью оператора <:
sort < names.txtЭто подает содержимое names.txt в команду sort через стандартный ввод. Результат такой же, как и от sort names.txt, но механизм отличается — оболочка выполняет чтение файла вместо самой команды.
Вы можете объединить перенаправление ввода и вывода в одной команде:
sort < names.txt > sorted_names.txtЭто считывает из names.txt, сортирует содержимое и записывает результат в sorted_names.txt. Перенаправление ввода становится особенно полезным при работе с командами, которые ожидают данные из стандартного ввода, а не аргумент с именем файла.
Задание
ЛегкоИспользуйте перенаправление ввода с помощью оператора < для сортировки содержимого numbers.txt в числовом порядке.
Выполните одну команду, которая:
- Перенаправляет
numbers.txtв командуsortс помощью< - Использует флаг
-nдля числовой сортировки
Подсказка: Формат:
sort -n < filename. Оболочка читает файл и передает его содержимое команде через стандартный ввод.
Шпаргалка
Стандартный ввод (stdin) — это место, откуда команды получают данные.
Вы можете перенаправить содержимое файла в команду с помощью оператора <code><:
sort < names.txtЭто подаёт содержимое файла через стандартный ввод. Оболочка занимается чтением файла вместо самой команды.
Вы можете комбинировать перенаправление ввода и вывода:
sort < names.txt > sorted_names.txtЭто читает из names.txt, сортирует содержимое и записывает результат в sorted_names.txt.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данных