Да. Более точно, в оболочке, канал соединяет стандартный вывод команды слева к стандартному входу команды справа. Еще более точно, что foo | bar
средство для оболочки:
foo
в этом дочернем процессе.bar
в этом дочернем процессе.Да. Обычные перенаправления указывают на файл по имени: >foo
. Другая форма перенаправления указывает на файл дескриптором. Например, >&2
означает, что “стандартный вывод перенаправления к любому дескриптору файла 2 в настоящее время подключается с”.
По той теме обратите внимание, что перенаправления обрабатываются слева направо. Например, для перенаправления и стандартного вывода и стандартной погрешности в тот же файл использовать foo >filename 2>&1
. Команда foo 2>&1 >filename
введенный в терминале сначала подключил бы стандартную погрешность к терминалу (с которым все еще подключены и стандартный вывод и стандартная погрешность в той точке, таким образом, это не имело бы никакого значения), затем подключите стандартный вывод к файлу.
Да, но. Конструкция канала в оболочке создает неименованный канал; существуют также именованные каналы.
mkfifo f
cat f
# (in another terminal)
echo hello >f
Именованные каналы намного более редки, чем конвейеры. Они используются, когда необходимо соединить два процесса, которые запускаются независимо; этого не происходит очень часто, но хорошо иметь его при необходимости.
Обратите внимание, что замена Вы дали: foo >tempfile; bar
foo
записи весь его вывод во временный файл, затем bar
начинает работать. С конвейером, команды, выполненные параллельно.
Да, но это не очень полезно.
cat input_file | some_command # a uselessly complicated way of writing some_command output_file
Принятие Вас уже знает, как использовать Пространство для выполнения в нормальном выборе screen
режим копии, единственные новые ключи, в которых Вы нуждаетесь, является c для установки левого поля и C для установки правого поля.
Это описано в screen
руководство.
Выбор для копии: Ctrl+A [
Скопируйте текущий выбор (Сначала к избранному углу запуска, второму для копирования выбранной области): Войти
Отмените текущий выбор: Esc
Вставка в экран: Ctrl+A]