Лучшее руководство по входной оболочки перенаправление вывода / в 2024 году. В этом руководстве вы можете изучить перенаправление вывода,Ввод перенаправления,Вот документ,/ Dev / нуль-файл,
В большинстве систем UNIX принимать команды из терминала ввода и вывода генерируется отправляется обратно к терминалу. Команда, как правило, считываются из локального ввода называется стандартный ввод, по умолчанию, это происходит с вашим терминалом. Кроме того, команда обычно записывает свой вывод на стандартный вывод, по умолчанию, это ваш терминал.
Перенаправление список команд выглядит следующим образом:
команда | объяснение |
---|---|
команда> файл | Перенаправление вывода в файл. |
Команда <файл | Перенаправить ввод в файл. |
команда >> файл | Вывод будет перенаправлен в файл добавляющим. |
п> файл | Файл дескриптора для русских файлов перенаправлены в файл. |
п >> файл | Файл дескриптора п в файл дополнительные пути для перенаправления файла. |
п> & м | Выходной файл т и п объединяются. |
п <& м | Входной файл т и п объединяются. |
<< Tag | Содержание тегов тег начальный тег и конечный тег между в качестве входных данных. |
Обратите внимание, что дескриптор файла 0, как правило, стандартный ввод (STDIN), 1 стандартный вывод (STDOUT), 2 стандартный вывод ошибок (STDERR).
Перенаправление как правило, между командой, чтобы вставить специальные символы для достижения. В частности, эти символы показано в следующем синтаксисе:
command1 > file1
Приведенная выше команда выполнит command1 и затем выводить контент, сохраненный в file1.
Файл1 Обратите внимание, что любое содержимое, которое уже существует, будет заменено новым содержанием. Если вы хотите добавить новое содержимое в конец файла, используйте оператор >>.
Выполните следующую команду, закончившие он будет перенаправить вывод команды в пользовательских файлах (пользователей):
$ who > users
После казни, нет вывода на терминале, это происходит потому, что выход был перенаправлен из стандартного устройства вывода по умолчанию (терминал) до указанного файла.
Вы можете использовать команду кошки, чтобы просмотреть содержимое файла:
$ cat users _mbsetupuser console Oct 31 17:35 tianqixin console Oct 31 17:35 tianqixin ttys000 Dec 1 11:33
Перенаправление вывода перезаписывает содержимое файла, см следующий пример:
$ echo "本教程:www.w3write.com" > users $ cat users 本教程:www.w3write.com $
Если вы не хотите, чтобы содержимое файла переписывается, вы можете использовать >> добавить в файл, например:
$ echo "本教程:www.w3write.com" >> users $ cat users 本教程:www.w3write.com 本教程:www.w3write.com $
И, как перенаправление вывода, команда Unix может принимать входные данные из файла, синтаксис:
command1 < file1
Таким образом, исходная необходимость получить ввод с клавиатуры будет передаваться в командный файл, чтобы прочитать содержимое.
Примечание: Выход Перенаправление больше, чем символ (>), перенаправление ввода меньше (<).
Тогда в приведенном выше примере, нам нужно подсчитать количество строк файла пользователей, выполните следующую команду:
$ wc -l users 2 users
Можно также перенаправить входные файлы для пользователей:
$ wc -l < users 2
Примечание: Результаты двух вышеупомянутых примеров различны: первый пример, имя выходного файла будет, второй не будет, потому что он знает только для чтения из стандартного ввода.
command1 < infile > outfile
Заменить ввод и вывод, выполнить Command1, входной_файл чтение из файла, а затем записать вывод в выходной файл.
При нормальных обстоятельствах, каждый из которых работает команда Unix / Linux откроет три файла:
По умолчанию, команда> файл перенаправить стандартный вывод в файл, команда <файл STDIN перенаправлен в файл.
Если вы хотите, чтобы перенаправить поток ошибок в файл, вы можете написать:
$ command 2 > file
Если вы хотите добавить в конец файла файла STDERR, вы можете написать:
$ command 2 >> file
2 представляет собой стандартный файл ошибок () к стандартному потоку ошибок.
Если вы хотите объединить после стандартный вывод и поток ошибок перенаправляется в файл, вы можете написать:
$ command > file 2>&1 或者 $ command >> file 2>&1
Если вы хотите, чтобы перенаправить стандартный ввод и стандартный вывод, вы можете написать:
$ command < file1 >file2
Команда Команда STDIN перенаправлены на file1, перенаправить стандартный вывод в файл file2.
Здесь Документ Shell находится в специальных методов перенаправления, используемых для перенаправления ввода в интерактивном сценарии Shell или программы.
Его основная форма выглядит следующим образом:
command << delimiter document delimiter
Это роль контента (документа) передается на два разделителем между командой в качестве входных данных.
Примечание:
- Окончание разделитель должен быть верхней сетки записи, не может иметь какой-либо из персонажей в передней части спины не может иметь каких-либо символов, включая пробелы и вкладки отступов.
- Пробелы до и после начала разделителем игнорируется.
Число строк в командной строке вычислений Здесь документа, Унитаз -l команды:
$ wc -l << EOF 欢迎来到 本教程 www.w3write.com EOF 3 # 输出结果为 3 行 $
Мы можем также здесь документ, используемый в сценарии, например:
#!/bin/bash # author:本教程 # url:www.w3write.com cat << EOF 欢迎来到 本教程 www.w3write.com EOF
Реализация выше сценария выхода:
欢迎来到 本教程 www.w3write.com
Если вы хотите, чтобы выполнить команду, но не хотите, чтобы отобразить результат на экране, вы можете перенаправить вывод в / Dev / нуль:
$ command > /dev/null
/ Dev / нуль представляет собой специальный файл, его содержимое записывается быть отброшен, если вы попытаетесь прочитать из файла, то, что не умеет читать. Тем не менее, / DEV / пустой файл очень полезно перенаправить вывод команды на него, он будет действовать как эффект "запретить выход".
Если вы хотите, чтобы защитить STDOUT и STDERR, вы можете написать:
$ command > /dev/null 2>&1
Примечание: 0 стандартный ввод (STDIN), 1 стандартный вывод (STDOUT), 2 стандартный вывод ошибок (STDERR).