Эта книга дает хорошее введение в Linux ttys, а fgrep
ing для register_console
в ядре Linux drivers / char / *. C
показывает что происходит с консолью Linux. В ядре Linux доступно множество реализаций системной консоли. Конкретная установка Linux может решить, какое конкретное устройство должно служить консолью. Его можно указать, передав параметры ядра при загрузке, или, возможно, существуют другие методы. Реализация tty является реализацией по умолчанию и, возможно, де-факто стандартом, но существуют и другие, такие как последовательная консоль .
/ dev / console
имеет свой собственный основной: второстепенный. Почему? Поскольку само ядро является основным пользователем устройства ядра, когда отправляет туда аварийные сообщения. Имеется объект ядра struct tty_driver * console_driver
, указывающий на необходимые подпрограммы. Тогда почему бы не предоставить к нему интерфейс и для пользовательских программ? Понятия не имею, является ли / dev / console
, для настройки по умолчанию, действительно эквивалентным / dev / tty0
, или есть некоторые отличия.
Теперь об управлении заданиями на tty0
.Как это могло быть возможно, если tty0
на самом деле не эмулирует терминал, а указывает только на tty
, который в настоящее время активен ? Ядро Linux предотвращает подключение процессов к tty0
, «устройству», которое периодически конфликтует с tty1
,… tty7
и так далее. Поскольку tty0
не может управлять процессами, управление заданиями невозможно (кстати, для каких законных целей вообще может tty0
загружать оболочку?). Но это не имеет ничего общего с возможностью управлять заданиями, которые выполняются на конкретных виртуальных консолях. Остальные пронумерованные tty
фактически являются допустимыми терминалами для любых целей консольного приложения.
Оказывается, поскольку файл такой большой, zip
не может его обработать (максимальный размер файла составляет 2 Гб ). Вместо этого я могу использоватьjar
:
$ jar xvf RowlandMetaG_part1.zip
inflated: RowlandMetaG_part1/296E-7-26-17-O_S23_L001_R1_001.fastq.gz
# etc...
Возможно, попробуйте распаковать его с помощью утилиты tar
tar xvf <file-name>
Возможно, эта ссылка будет актуальна:
https://apple.stackexchange.com/questions/208139/how-to-deal-with-unzip-error-on-a-large-file-in-osx
Существует вероятность того, что хотя файл заканчивается на «.zip», это не zip-файл.
Вы можете подтвердить, что это zip-файл (, и в то же время определить фактический формат файла )с помощью утилиты file
:
file RowlandMetaG_part1.zip
Как только формат файла определен, вы можете использовать соответствующий инструмент для его разархивирования.