В Linux различные места обычно, если их поддерживать в хорошем состоянии, отражают некоторую логику. Например.:
/bin
содержит самые основные инструменты (программы)/sbin
содержит самые основные программы администратора Оба они содержат элементарные команды, используемые при загрузке и устранении основных неполадок. И здесь вы видите первое отличие. Некоторые программы не предназначены для использования обычными пользователями.
Тогда загляните в /usr/bin
. Здесь вы должны найти больший выбор команд (программ ), обычно их более 1000. Это стандартные инструменты, но не такие важные, как в /bin
и /sbin
.
/usr/bin
содержит команды, а файлы конфигурации находятся в другом месте. Это разделяет функциональные объекты (программы )и их файлы конфигурации и другие файлы, но с точки зрения пользовательской функциональности это удобно, так как команды, не смешанные ни с чем другим, позволяют просто использовать PATH
переменная, указывающая на исполняемые файлы. Это также вносит ясность. Все, что есть, должно быть исполняемым.
Взгляните на мои PATH
,
$ echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/home/tomas/bin
/usr/local/bin
/usr/bin
/bin
/usr/local/games
/usr/games
Есть ровно шесть мест, содержащих команды, которые я могу вызывать напрямую (, т.е. не по их путям, а по именам исполняемых файлов ).
/home/tomas/bin
— это мой личный каталог в моей домашней папке для моих личных исполняемых файлов. /usr/local/bin
Ниже я объясню отдельно. /usr/bin
описано выше. /bin
также описано выше. /usr/local/games
представляет собой комбинацию /usr/local
(, которая будет объяснена ниже ), и игры /usr/games
— игры. Не путать с исполняемыми файлами утилит, они находятся в разных местах. Теперь к /usr/local/bin
. Это несколько скользко и уже объяснялось здесь:Что такое /usr/local/bin? . Чтобы понять это, вам нужно знать, что папка /usr
может использоваться многими машинами и монтироваться из сетевого расположения.Команды здесь не нужны при загрузке, как отмечалось ранее, в отличие от команд в /bin
, поэтому местоположение можно смонтировать на более поздних этапах процесса загрузки. Он также может быть смонтирован только для чтения -. /usr/local/bin
, с другой стороны, предназначен для локально установленных программ и должен быть доступен для записи. Таким образом, хотя многие сетевые машины могут совместно использовать общий каталог /usr
, у каждого из них будет свой собственный каталог /usr/local
, смонтированный внутри общего каталога /usr
.
Наконец, взгляните на PATH
моего пользователя root:
# echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
Он содержит эти:
/usr/local/sbin
, который содержит команды администратора типа/usr/local
/usr/local/bin
, которые могут использовать обычные пользователи. Опять же, их тип можно описать как /usr/local
. /usr/sbin
— это второстепенные -утилиты администрирования. /usr/bin
являются необязательными -утилитами администрирования и обычными пользовательскими утилитами. /sbin
являются основными инструментами администратора. /bin
— это основные инструменты администратора и обычного пользователя. Вы больше не можете получить доступ к этим линиям в терминале mate -.
Увеличение количества строк прокрутки тоже не помогает :Терминал не запоминает все строки и показывает только заданное количество; он запоминает только настроенную сумму.
При этом, если данная вкладка терминала все еще открыта, все еще есть некоторая вероятность того, что данные на самом деле не были перезаписаны и могут быть восстановлены путем тщательного расследования; аналогично тому, как удаленные файлы все еще могут быть восстановлены с диска, если они на самом деле не были перезаписаны. Шанс на успех уменьшается на каждую дополнительную прокручиваемую строку, т.е. если данные прокручивались на 5 строк, то скорее всего восстановимы, если прокручивались на миллионы строк, то, скорее всего, перезаписывались.
(Если вы закрыли данную вкладку терминала, то восстановить данные :которые хранятся на диске в зашифрованном файле, невозможно, а ключ шифрования обнуляется в памяти при закрытии терминала.)
Такое исследование требует понимания обработки прокрутки VTE, изучения памяти и открытых файлов терминального процесса и тщательного изучения этих данных. Вероятно, на это уйдут дни тяжелой работы без каких-либо гарантий. Наличие доступа ко всему необработанному диску немного увеличивает шанс, хотя значительно увеличивает требуемое время и делает проблематичным сделать это удаленно.
Если речь шла о каких-то крайне важных данных (, например. пароль к вашему биткойн-кошельку, содержащему ваши сбережения ), вы можете начать изучать внутренности VTE и провести это расследование или нанять кого-нибудь (, например. мне )сделать это для вас. Учитывая, что это «всего лишь» неделя запуска чего-либо, вряд ли оно того стоит для вас, дешевле просто повторно -запустить это.
(Примечание :Я написал большую часть кода, обрабатывающего VTE (, то есть буфер прокрутки )терминала mate -.)