Как сделать выделение блока на 'экране'

  1. Да. Более точно, в оболочке, канал соединяет стандартный вывод команды слева к стандартному входу команды справа. Еще более точно, что foo | bar средство для оболочки:

    1. Создайте канал.
    2. Разветвите дочерний процесс и соедините конец записи канала к его стандартному выводу. Затем выполнитесь foo в этом дочернем процессе.
    3. Разветвите дочерний процесс и соедините конец чтения канала к его стандартному входу. Затем выполнитесь bar в этом дочернем процессе.
    4. Ожидайте обоих дочерних процессов для выхода.
  2. Да. Обычные перенаправления указывают на файл по имени: >foo. Другая форма перенаправления указывает на файл дескриптором. Например, >&2 означает, что “стандартный вывод перенаправления к любому дескриптору файла 2 в настоящее время подключается с”.

    По той теме обратите внимание, что перенаправления обрабатываются слева направо. Например, для перенаправления и стандартного вывода и стандартной погрешности в тот же файл использовать foo >filename 2>&1. Команда foo 2>&1 >filename введенный в терминале сначала подключил бы стандартную погрешность к терминалу (с которым все еще подключены и стандартный вывод и стандартная погрешность в той точке, таким образом, это не имело бы никакого значения), затем подключите стандартный вывод к файлу.

  3. Да, но. Конструкция канала в оболочке создает неименованный канал; существуют также именованные каналы.

    mkfifo f
    cat f
    # (in another terminal)
    echo hello >f
    

    Именованные каналы намного более редки, чем конвейеры. Они используются, когда необходимо соединить два процесса, которые запускаются независимо; этого не происходит очень часто, но хорошо иметь его при необходимости.

    Обратите внимание, что замена Вы дали: foo >tempfile; bar отличается: сначала foo записи весь его вывод во временный файл, затем bar начинает работать. С конвейером, команды, выполненные параллельно.

  4. Да, но это не очень полезно.

    cat input_file | some_command   # a uselessly complicated way of writing some_command output_file
    
10
12.06.2019, 13:17
2 ответа

Принятие Вас уже знает, как использовать Пространство для выполнения в нормальном выборе screenрежим копии, единственные новые ключи, в которых Вы нуждаетесь, является c для установки левого поля и C для установки правого поля.

Это описано в screen руководство.

11
27.01.2020, 20:02
  • 1
    И как может Вы мимо выделенного текста где-то в другом месте затем? –  rubo77 13.01.2015, 23:46

Выбор для копии: Ctrl+A [

Скопируйте текущий выбор (Сначала к избранному углу запуска, второму для копирования выбранной области): Войти

Отмените текущий выбор: Esc

Вставка в экран: Ctrl+A]

-1
27.01.2020, 20:02
  • 1
    Почему был этот downvoted? Даже согласно ссылке принятого ответа, это корректно. –  Izkata 26.12.2011, 19:38
  • 2
    я не был downvoter, но я предполагаю, что причина состояла в том, потому что этот ответ не рассматривает вопрос того, как сделать мудрый блоком выбор, который является причиной, я чувствовал потребность отправить 2-й ответ во-первых. –  jw013 26.12.2011, 19:47
  • 3
    Ага, я предполагаю, что это - то, что я получаю для того, чтобы не проверять сразу прежде, чем отправить - я уверен, что существует сочетание клавиш, подобное тому, что я отправил (не использующий c и C, я сделал это прежде), который делает выделение блока, но мой - регулярный выбор –  Izkata 26.12.2011, 21:02
  • 4
    ну, если Вы когда-нибудь находите его, обновляете Ваш ответ, и я дам Вам upvote сам. –  jw013 26.12.2011, 21:22

Теги

Похожие вопросы