Сочетание тройника и tty

Я попробовал следующую команду, я прочитал ее из книги

sudo ls | tee /dev/tty3a

Эта команда дает мне Permission denied, даже с sudo .
Здесь tty – телетайп, я это уже знаю. Но что такое 3a с tty?

  • Доступ к более высоким TTY и роли getty
  • Выполнить команду внутри другой команды
  • NixOS нет приглашения для входа в виртуальные терминалы
  • найти устройство из его файла tty?
  • Коммуникация с удаленным Serial через TCP / IP как устройство / dev / ttyX
  • Как использовать agetty из командной строки
  • Как длинные командные строки (> $ COLUMNS) автоматически завернуты в новую строку?
  • Отключение или изменение ключей переключения консоли
  • 2 Solutions collect form web for “Сочетание тройника и tty”

    Имена файлов устройств в /dev варьируются между вариантами Unix. Есть несколько, которые вы найдете везде, например /dev/tty означает текущий терминал. Похоже, что /dev/tty3a – это имя четвертого серийного порта¹ в некоторых вариантах Unix, включая Solaris и SCO OpenServer. Эквивалентом Linux будет /dev/ttyS3 . Таким образом, ls|tee /dev/tty3a дублирует вывод ls на четвертый последовательный порт.

    Если в последовательный порт не подключено устройство, вы получите сообщение об ошибке («Ошибка ввода / вывода»). Если драйвер для последовательного порта отсутствует, вы получите другую ошибку («Нет такого устройства»). Если узел устройства даже не существует, вы, конечно, получите «Нет такого файла или каталога».

    Если узел устройства существует, но у вас нет доступа к нему, вы получите сообщение об ошибке «Доступ запрещен». Если вы не используете root, или есть аппаратный терминал, подключенный к этому последовательному порту, и вы вошли в систему на этом терминале, вероятно, у вас нет разрешения на доступ к этому устройству.

    Предполагая, что устройство присутствует, если вы хотите получить к нему доступ как root, вам нужно запустить команду tee как root, например

     ls | sudo tee /dev/tty3a 

    Обратите внимание, что sudo ls | tee /dev/tty3a sudo ls | tee /dev/tty3a не будет работать, потому что он запускает только ls как root, команда tee не является аргументом sudo и работает как исходный пользователь. В этой команде труба создается исходной оболочкой, а вызов sudo составляет левую часть трубы. Если вы хотите запустить как ls и tee как root, вам нужно будет написать sudo ls | sudo tee /dev/tty3a sudo ls | sudo tee /dev/tty3a (с созданием трубы все еще в исходной оболочке). Если вы хотите запустить обе команды от имени root и выполнить настройку канала с правами root, вам нужно будет вызвать оболочку как root для настройки канала: sudo sh -c 'ls | tee /dev/tty3a' sudo sh -c 'ls | tee /dev/tty3a'

    ¹ Последовательные порты пронумерованы от 0.

    Пример, который вы нашли в книге, показывает, что вы можете писать на своем и другом экране терминала одновременно. Войдите в систему два раза на одном сервере и запустите w и вы получите что-то вроде:

     $ w USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT joe pts/1 :0 21:53 0.00s 0.04s 0.00sw joe pts/2 :0 22:38 3.00s 0.01s 0.01s /bin/bash 

    На первой консоли пишите:

     $ seq 3 | tee /dev/pts/1 

    и вы получаете двойной выход.

    Затем попробуйте на той же консоли

     $ seq 3 | tee /dev/pts/2 

    и вы получите тот же результат на обоих экранах.

    Это может быть полезно, если у вас много мониторов / консолей, которые вошли в систему, и вы хотите обновить их с одной консоли.

    Interesting Posts

    Поиск строк в файлах

    Отдельное состояние выполнения команд с каналами

    Зачем использовать install, а не cp и mkdir?

    Можно ли сделать KDE 4 похожим на Win98?

    Обои, растягивающиеся на нескольких мониторах на Fedora 19 (Gnome 3)

    E: Пакет '<любой пакет>' не имеет кандидата на установку

    Что означает этот , начинающийся с многих строк во время экрана загрузки Linux?

    Разделить файл и поместить его в соответствующую структуру данных?

    Что происходит, когда виртуальный пакет зависит / рекомендует / предлагать без реального пакета зависит / рекомендует / предлагать?

    Переназначение клавиш Ctrl + Arrow в Vim

    Как разделить файлы и сохранить их в нескольких местах?

    iptables не пересылает из WAN виртуальные машины

    «Чистая» иерархия файловой системы

    btrfs нашел исправленные ошибки диска, Как я могу найти файлы, в которых они находятся?

    Arch GRUB запрашивает /run/lvm/lvmetad.socket на диске без lvm

    Linux и Unix - лучшая ОС в мире.