Шаблоны Globbing будут расширяться до упорядоченного списка файлов (и каталогов), соответствующих шаблону globbing;
Если у вас есть только те файлы в вашем текущем рабочем каталоге, просто:
cat * > out
Или если нет других файлов / каталогов, которые начинаются с «SomeFile»:
cat SomeFile* > out
Или, если нет других файлов / каталогов, которые заканчиваются на «.dcd»:
cat *.dcd > out
Кроме того, в zsh вы можете включать только обычные файлы с использованием шаблона globing *(.):
cat *(.) > out
cat SomeFile*(.) > out
cat *(.).dcd > out
Используйте команду tty, она работает на Linux и macOS и дает довольно простой вывод для чтения, только имя tty, в котором вы находитесь.
Пример:
$ tty
/dev/pts/0
Это легко записать или включить в приглашение, например:
$ PS1='`tty`: '
/dev/pts/0: _
Таким образом, вы всегда будете знать, к какому терминалу вы находитесь.
Давайте сделаем шаг назад и начнем с путаницы: что такое tty? Первоначально tty был аббревиатурой от телетайпа, который стал стеклянным телетайпом, который стал любым терминалом или соединением с ним, в частности последовательным портом (они все еще вокруг, чаще всего / dev / ttyS0, / dev / ttyUSB0 и иногда / dev / ttyacm0). Затем вы получили псевдотипы и виртуальные ttys. старые ключи unix знакомы с псевдотипами, которые используются для удаленных терминалов (ssh и telnet), виртуальных терминалов (xterm и т. п.) и терминальных мультиплексоров (экран и tmux). Псевдосты имели различные схемы именования с течением времени, но текущий использует имена, такие как / dev / pts / 0. Виртуальные ttys, с другой стороны, связаны с виртуальными консолями, особенно когда вы используете функциональные клавиши управления alt, вы переключаете виртуальные консоли, каждая из которых сопряжена с виртуальной консолью. Наиболее известным виртуальным tty является / dev / tty7, который часто используется для графических сеансов (поскольку первые шесть - это, как правило, текстовые логины), нет ничего особенного в tty7, поскольку вы можете запускать X-серверы на любой виртуальной консоли (хотя запуск одного на / dev / tty1 действительно тяжело, так как ядро открывает его для регистрации журнала, но я это сделал), и вы можете выполнять текстовые входы на любом виртуальном tty, включая tty7 (хотя требуется конфигурация init и динамическое распределение systemd делает вещи интересными и переключается на tty13 и выше может потребоваться изменение карты клавиатуры).
Итак, если вам нужно найти псевдо-tty (или виртуальную tty при использовании текстового режима), есть всевозможные решения, такие как who am i или ps ax|grep $$ this относительно легко сделать, поскольку есть несколько способов узнать это, поскольку псевдо-tty открывается в стандартном io в большинстве случаев, и есть другие методы, которые работают даже тогда, когда io перенаправляется. это также имеет то же преимущество, что и при использовании последовательных портов и виртуальных ttys, если вы не используете графические эмуляторы терминала или терминальные мультиплексоры.
Но что, если вы хотите идентифицировать виртуальную консоль? ? sudo fgconsole может быть полезна для интерактивных случаев. Или то, что я делаю, это просто ходить по консолям, так как переключение обычно достаточно быстро. Я не знаю о программном методе, который надежно работает в неинтерактивных или необоснованных случаях.
Давайте посмотрим на пример, который гарантированно не сможет надежно отвечать на виртуальную консоль. Компьютер, на котором я сижу перед (альфа), имеет Xserver, работающий на tty2 (: 1), у меня есть три окна, открывающие два xterms и vncviewer (связанные с bravo: 2). Один xterm работает, а другой работает ssh charley. Экран имеет два открытых окна, ssh delta и кто (кто правильно идентифицирует псевдо tty в столбце два и предоставляет подсказку (:1:S0) в столбце пять, которая сообщает нам, что псевдо-tty подключен к первому сеансу экрана, который подключен ко второму X, но не предоставляет никакой информации о виртуальной консоли). Запуск who over ssh session дает подсказку (alpha), которая идентифицирует машину, из которой сеанс ssh пришел, из которого сравнительно хорош для удаленных сеансов. Хотя мало информации о том, что связано с псевдо-tty (и абсолютно никакой виртуальной консоли или даже удаленной информации tty), по крайней мере, идентифицируется удаленный хост. информация о экране может быть неправильной, поскольку сеансы экрана являются съемными, а vnc не предоставляет никакой полезной информации вообще, поскольку единственная разница между сеансом vnc и локальным сеансом - это номер дисплея. Во многих случаях вы можете предположить, что: 0 находится на tty7, но не всегда, и никогда на моем, поскольку у bravo нет графической карты вообще и: 0 - сеанс vnc (что смущает, кто из них думает, что это локальная консоль) и ни одна из машин не использует tty7 в качестве графического сеанса, потому что я (а не просто противник) записывает журналы в tty7 (и tty5, tty6 и tty8 также), которые ведут графические сеансы в другом месте. Но экран ожидания также может выступать в качестве терминальной программы, позволяющей установить сеанс по последовательному кабелю. Что такое отчет о сеансе, когда кто запускается? Почему ничего, кроме последовательного порта, будь то через vnc, xterm, ssh, screen и последовательный адаптер USB сразу или подключен к моему телевизору.
Когда вы вошли в tty, он показывает, какой tty вы используете в первой строке автоматически.
Если нажатие комбинации клавиш Ctrl + Alt + F1 показывает только черный экран, как вы писали в комментарии, есть альтернативный способ получить доступ к корневой оболочке, когда перезагрузите компьютер, не нажимая Ctrl + Alt + F1, чтобы вызвать tty.
Загрузите ноутбук, и сразу же после исчезновения экрана заставки производителя компьютера нажмите и удерживайте нажатой клавишу Shift. На первом фиолетовом экране GNU GRUB выберите Дополнительные параметры для Ubuntu и нажмите Enter. Затем вам будет предложено другое меню фиолетового меню GNU GRUB, в котором есть список параметров ядра. Нажимайте клавишу со стрелкой вниз до тех пор, пока вы не выберете вторую запись сверху (с режимом восстановления в описании), а затем нажмите Enter. Теперь вы должны увидеть это меню: С помощью клавиш со стрелками прокрутите вниз до корня, а затем нажмите Enter. Теперь вы должны увидеть корневое приглашение, например:root@ubuntu:~#
На этом этапе вы должны иметь файловую систему только для чтения. Вы должны перемонтировать его с разрешениями на запись: mount -o rw,remount /
Теперь вы можете запускать команды так же, как и в терминале. Используйте команду tty.
Если я прав, это ссылка:
/dev/tty1 - tty1
/dev/tty2 - tty2
/dev/tty3 - tty3
/dev/tty4 - tty4
/dev/tty5 - tty5
/dev/tty6 - tty6
Я думаю, вы смотрите на что-то другое, кроме других ответов. Запустите sudo fgconsole, чтобы узнать, какая настоящая tty теперь активна.
Есть несколько способов узнать это. Я бы пошел с командой who am i (не who):
$ who am i
ravexina tty2 2017-04-10 11:19 (:0)
Когда я нахожусь в графическом терминале, он возвратит что-то вроде:
ravexina pts/0 2017-04-10 1:19 (:0)
В ssh-сеансе с использованием результата графического терминала то же самое, но вместо (: 0) я получу свой IP-адрес устройства (192.168.xx). Другие команды, такие как w, who, pgrep, ps и т. д., также полезны.
Например, чтобы узнать, на каком tty запущен мой графический интерфейс:
ps $(pgrep Xorg)
Что в моем случае, потому что я не использую диспетчер дисплея, например gdm или slim, он будет производить:
PID TTY STAT TIME COMMAND
1693 tty1 Sl 0:05 /usr/lib/xorg/Xorg
Используйте команду tty, она работает на Linux и macOS и дает довольно простой вывод для чтения, только имя tty, в котором вы находитесь.
Пример:
$ tty
/dev/pts/0
Это легко записать или включить в приглашение, например:
$ PS1='`tty`: '
/dev/pts/0: _
Таким образом, вы всегда будете знать, к какому терминалу вы находитесь.
Давайте сделаем шаг назад и начнем с путаницы: что такое tty? Первоначально tty был аббревиатурой от телетайпа, который стал стеклянным телетайпом, который стал любым терминалом или соединением с ним, в частности последовательным портом (они все еще вокруг, чаще всего / dev / ttyS0, / dev / ttyUSB0 и иногда / dev / ttyacm0). Затем вы получили псевдотипы и виртуальные ttys. старые ключи unix знакомы с псевдотипами, которые используются для удаленных терминалов (ssh и telnet), виртуальных терминалов (xterm и т. п.) и терминальных мультиплексоров (экран и tmux). Псевдосты имели различные схемы именования с течением времени, но текущий использует имена, такие как / dev / pts / 0. Виртуальные ttys, с другой стороны, связаны с виртуальными консолями, особенно когда вы используете функциональные клавиши управления alt, вы переключаете виртуальные консоли, каждая из которых сопряжена с виртуальной консолью. Наиболее известным виртуальным tty является / dev / tty7, который часто используется для графических сеансов (поскольку первые шесть - это, как правило, текстовые логины), нет ничего особенного в tty7, поскольку вы можете запускать X-серверы на любой виртуальной консоли (хотя запуск одного на / dev / tty1 действительно тяжело, так как ядро открывает его для регистрации журнала, но я это сделал), и вы можете выполнять текстовые входы на любом виртуальном tty, включая tty7 (хотя требуется конфигурация init и динамическое распределение systemd делает вещи интересными и переключается на tty13 и выше может потребоваться изменение карты клавиатуры).
Итак, если вам нужно найти псевдо-tty (или виртуальную tty при использовании текстового режима), есть всевозможные решения, такие как who am i или ps ax|grep $$ this относительно легко сделать, поскольку есть несколько способов узнать это, поскольку псевдо-tty открывается в стандартном io в большинстве случаев, и есть другие методы, которые работают даже тогда, когда io перенаправляется. это также имеет то же преимущество, что и при использовании последовательных портов и виртуальных ttys, если вы не используете графические эмуляторы терминала или терминальные мультиплексоры.
Но что, если вы хотите идентифицировать виртуальную консоль? ? sudo fgconsole может быть полезна для интерактивных случаев. Или то, что я делаю, это просто ходить по консолям, так как переключение обычно достаточно быстро. Я не знаю о программном методе, который надежно работает в неинтерактивных или необоснованных случаях.
Давайте посмотрим на пример, который гарантированно не сможет надежно отвечать на виртуальную консоль. Компьютер, на котором я сижу перед (альфа), имеет Xserver, работающий на tty2 (: 1), у меня есть три окна, открывающие два xterms и vncviewer (связанные с bravo: 2). Один xterm работает, а другой работает ssh charley. Экран имеет два открытых окна, ssh delta и кто (кто правильно идентифицирует псевдо tty в столбце два и предоставляет подсказку (:1:S0) в столбце пять, которая сообщает нам, что псевдо-tty подключен к первому сеансу экрана, который подключен ко второму X, но не предоставляет никакой информации о виртуальной консоли). Запуск who over ssh session дает подсказку (alpha), которая идентифицирует машину, из которой сеанс ssh пришел, из которого сравнительно хорош для удаленных сеансов. Хотя мало информации о том, что связано с псевдо-tty (и абсолютно никакой виртуальной консоли или даже удаленной информации tty), по крайней мере, идентифицируется удаленный хост. информация о экране может быть неправильной, поскольку сеансы экрана являются съемными, а vnc не предоставляет никакой полезной информации вообще, поскольку единственная разница между сеансом vnc и локальным сеансом - это номер дисплея. Во многих случаях вы можете предположить, что: 0 находится на tty7, но не всегда, и никогда на моем, поскольку у bravo нет графической карты вообще и: 0 - сеанс vnc (что смущает, кто из них думает, что это локальная консоль) и ни одна из машин не использует tty7 в качестве графического сеанса, потому что я (а не просто противник) записывает журналы в tty7 (и tty5, tty6 и tty8 также), которые ведут графические сеансы в другом месте. Но экран ожидания также может выступать в качестве терминальной программы, позволяющей установить сеанс по последовательному кабелю. Что такое отчет о сеансе, когда кто запускается? Почему ничего, кроме последовательного порта, будь то через vnc, xterm, ssh, screen и последовательный адаптер USB сразу или подключен к моему телевизору.
Когда вы вошли в tty, он показывает, какой tty вы используете в первой строке автоматически.
Если нажатие комбинации клавиш Ctrl + Alt + F1 показывает только черный экран, как вы писали в комментарии, есть альтернативный способ получить доступ к корневой оболочке, когда перезагрузите компьютер, не нажимая Ctrl + Alt + F1, чтобы вызвать tty.
Загрузите ноутбук, и сразу же после исчезновения экрана заставки производителя компьютера нажмите и удерживайте нажатой клавишу Shift. На первом фиолетовом экране GNU GRUB выберите Дополнительные параметры для Ubuntu и нажмите Enter. Затем вам будет предложено другое меню фиолетового меню GNU GRUB, в котором есть список параметров ядра. Нажимайте клавишу со стрелкой вниз до тех пор, пока вы не выберете вторую запись сверху (с режимом восстановления в описании), а затем нажмите Enter. Теперь вы должны увидеть это меню: С помощью клавиш со стрелками прокрутите вниз до корня, а затем нажмите Enter. Теперь вы должны увидеть корневое приглашение, например:root@ubuntu:~#
На этом этапе вы должны иметь файловую систему только для чтения. Вы должны перемонтировать его с разрешениями на запись: mount -o rw,remount /
Теперь вы можете запускать команды так же, как и в терминале. Используйте команду tty.
Если я прав, это ссылка:
/dev/tty1 - tty1
/dev/tty2 - tty2
/dev/tty3 - tty3
/dev/tty4 - tty4
/dev/tty5 - tty5
/dev/tty6 - tty6
Я думаю, вы смотрите на что-то другое, кроме других ответов. Запустите sudo fgconsole, чтобы узнать, какая настоящая tty теперь активна.
Есть несколько способов узнать это. Я бы пошел с командой who am i (не who):
$ who am i
ravexina tty2 2017-04-10 11:19 (:0)
Когда я нахожусь в графическом терминале, он возвратит что-то вроде:
ravexina pts/0 2017-04-10 1:19 (:0)
В ssh-сеансе с использованием результата графического терминала то же самое, но вместо (: 0) я получу свой IP-адрес устройства (192.168.xx). Другие команды, такие как w, who, pgrep, ps и т. д., также полезны.
Например, чтобы узнать, на каком tty запущен мой графический интерфейс:
ps $(pgrep Xorg)
Что в моем случае, потому что я не использую диспетчер дисплея, например gdm или slim, он будет производить:
PID TTY STAT TIME COMMAND
1693 tty1 Sl 0:05 /usr/lib/xorg/Xorg
Используйте команду tty, она работает на Linux и macOS и дает довольно простой вывод для чтения, только имя tty, в котором вы находитесь.
Пример:
$ tty
/dev/pts/0
Это легко записать или включить в приглашение, например:
$ PS1='`tty`: '
/dev/pts/0: _
Таким образом, вы всегда будете знать, к какому терминалу вы находитесь.
Давайте сделаем шаг назад и начнем с путаницы: что такое tty? Первоначально tty был аббревиатурой от телетайпа, который стал стеклянным телетайпом, который стал любым терминалом или соединением с ним, в частности последовательным портом (они все еще вокруг, чаще всего / dev / ttyS0, / dev / ttyUSB0 и иногда / dev / ttyacm0). Затем вы получили псевдотипы и виртуальные ttys. старые ключи unix знакомы с псевдотипами, которые используются для удаленных терминалов (ssh и telnet), виртуальных терминалов (xterm и т. п.) и терминальных мультиплексоров (экран и tmux). Псевдосты имели различные схемы именования с течением времени, но текущий использует имена, такие как / dev / pts / 0. Виртуальные ttys, с другой стороны, связаны с виртуальными консолями, особенно когда вы используете функциональные клавиши управления alt, вы переключаете виртуальные консоли, каждая из которых сопряжена с виртуальной консолью. Наиболее известным виртуальным tty является / dev / tty7, который часто используется для графических сеансов (поскольку первые шесть - это, как правило, текстовые логины), нет ничего особенного в tty7, поскольку вы можете запускать X-серверы на любой виртуальной консоли (хотя запуск одного на / dev / tty1 действительно тяжело, так как ядро открывает его для регистрации журнала, но я это сделал), и вы можете выполнять текстовые входы на любом виртуальном tty, включая tty7 (хотя требуется конфигурация init и динамическое распределение systemd делает вещи интересными и переключается на tty13 и выше может потребоваться изменение карты клавиатуры).
Итак, если вам нужно найти псевдо-tty (или виртуальную tty при использовании текстового режима), есть всевозможные решения, такие как who am i или ps ax|grep $$ this относительно легко сделать, поскольку есть несколько способов узнать это, поскольку псевдо-tty открывается в стандартном io в большинстве случаев, и есть другие методы, которые работают даже тогда, когда io перенаправляется. это также имеет то же преимущество, что и при использовании последовательных портов и виртуальных ttys, если вы не используете графические эмуляторы терминала или терминальные мультиплексоры.
Но что, если вы хотите идентифицировать виртуальную консоль? ? sudo fgconsole может быть полезна для интерактивных случаев. Или то, что я делаю, это просто ходить по консолям, так как переключение обычно достаточно быстро. Я не знаю о программном методе, который надежно работает в неинтерактивных или необоснованных случаях.
Давайте посмотрим на пример, который гарантированно не сможет надежно отвечать на виртуальную консоль. Компьютер, на котором я сижу перед (альфа), имеет Xserver, работающий на tty2 (: 1), у меня есть три окна, открывающие два xterms и vncviewer (связанные с bravo: 2). Один xterm работает, а другой работает ssh charley. Экран имеет два открытых окна, ssh delta и кто (кто правильно идентифицирует псевдо tty в столбце два и предоставляет подсказку (:1:S0) в столбце пять, которая сообщает нам, что псевдо-tty подключен к первому сеансу экрана, который подключен ко второму X, но не предоставляет никакой информации о виртуальной консоли). Запуск who over ssh session дает подсказку (alpha), которая идентифицирует машину, из которой сеанс ssh пришел, из которого сравнительно хорош для удаленных сеансов. Хотя мало информации о том, что связано с псевдо-tty (и абсолютно никакой виртуальной консоли или даже удаленной информации tty), по крайней мере, идентифицируется удаленный хост. информация о экране может быть неправильной, поскольку сеансы экрана являются съемными, а vnc не предоставляет никакой полезной информации вообще, поскольку единственная разница между сеансом vnc и локальным сеансом - это номер дисплея. Во многих случаях вы можете предположить, что: 0 находится на tty7, но не всегда, и никогда на моем, поскольку у bravo нет графической карты вообще и: 0 - сеанс vnc (что смущает, кто из них думает, что это локальная консоль) и ни одна из машин не использует tty7 в качестве графического сеанса, потому что я (а не просто противник) записывает журналы в tty7 (и tty5, tty6 и tty8 также), которые ведут графические сеансы в другом месте. Но экран ожидания также может выступать в качестве терминальной программы, позволяющей установить сеанс по последовательному кабелю. Что такое отчет о сеансе, когда кто запускается? Почему ничего, кроме последовательного порта, будь то через vnc, xterm, ssh, screen и последовательный адаптер USB сразу или подключен к моему телевизору.
Когда вы вошли в tty, он показывает, какой tty вы используете в первой строке автоматически.
Если нажатие комбинации клавиш Ctrl + Alt + F1 показывает только черный экран, как вы писали в комментарии, есть альтернативный способ получить доступ к корневой оболочке, когда перезагрузите компьютер, не нажимая Ctrl + Alt + F1, чтобы вызвать tty.
Загрузите ноутбук, и сразу же после исчезновения экрана заставки производителя компьютера нажмите и удерживайте нажатой клавишу Shift. На первом фиолетовом экране GNU GRUB выберите Дополнительные параметры для Ubuntu и нажмите Enter. Затем вам будет предложено другое меню фиолетового меню GNU GRUB, в котором есть список параметров ядра. Нажимайте клавишу со стрелкой вниз до тех пор, пока вы не выберете вторую запись сверху (с режимом восстановления в описании), а затем нажмите Enter. Теперь вы должны увидеть это меню: С помощью клавиш со стрелками прокрутите вниз до корня, а затем нажмите Enter. Теперь вы должны увидеть корневое приглашение, например:root@ubuntu:~#
На этом этапе вы должны иметь файловую систему только для чтения. Вы должны перемонтировать его с разрешениями на запись: mount -o rw,remount /
Теперь вы можете запускать команды так же, как и в терминале. Используйте команду tty.
Если я прав, это ссылка:
/dev/tty1 - tty1
/dev/tty2 - tty2
/dev/tty3 - tty3
/dev/tty4 - tty4
/dev/tty5 - tty5
/dev/tty6 - tty6
Я думаю, вы смотрите на что-то другое, кроме других ответов. Запустите sudo fgconsole, чтобы узнать, какая настоящая tty теперь активна.
Есть несколько способов узнать это. Я бы пошел с командой who am i (не who):
$ who am i
ravexina tty2 2017-04-10 11:19 (:0)
Когда я нахожусь в графическом терминале, он возвратит что-то вроде:
ravexina pts/0 2017-04-10 1:19 (:0)
В ssh-сеансе с использованием результата графического терминала то же самое, но вместо (: 0) я получу свой IP-адрес устройства (192.168.xx). Другие команды, такие как w, who, pgrep, ps и т. д., также полезны.
Например, чтобы узнать, на каком tty запущен мой графический интерфейс:
ps $(pgrep Xorg)
Что в моем случае, потому что я не использую диспетчер дисплея, например gdm или slim, он будет производить:
PID TTY STAT TIME COMMAND
1693 tty1 Sl 0:05 /usr/lib/xorg/Xorg