Наблюдение журнала в режиме реального времени
Я нашел, что во время завершения работы обычно существует логотип Ubuntu и мигающие индикаторы, который показывают вместо журнала процесса завершения работы. Если существуют ошибки, то их отчасти показывают, но грязно. Однако при закрытии, если я нажимаю клавишу Windows и r
(Metar), затем я добираюсь для наблюдения успеха и отказа системных служб, как они происходят. Таким образом я знаю то, что точно повреждается. Никакая идея, характерно ли это сочетание клавиш для моей установки Kubuntu или что; я не добавил его.. Один из тех я нашел случайно, так или иначе...
Просмотр журналов после перезагрузки
Когда система перезагружается, сообщения об ошибках должны быть сохранены в файл журнала. Какой файл журнала зависит, на котором повреждается/неправильно конфигурируется сервис. Соответствующий журнал почти определенно будет в /var/log/
(или подкаталог этого). ls
, less
, grep
и find
были единственные программы, в которых я нуждался для нахождения сообщений об ошибках в журналах...
После того как Вы нашли ошибку и сервис, который вызвал ее, затем Вы не должны должны быть перезагружать для тестирования новой конфигурации; просто перезапустите сервис.. Надо надеяться, можно протестировать фиксированную конфигурацию с командой как:
sudo service <service name> restart
Наклонная черта вправо /
символ-разделитель, который разделяет каталоги в путях в подобных Unix операционных системах. Этот символ, кажется, был выбран когда-то в 1970-х, и согласно анекдотическим источникам, причины могли бы быть связаны с этим предшественник к Unix, операционной системе Multics, используемой >
символ, поскольку разделитель пути, но разработчики Unix уже зарезервировал символы >
и <
показать перенаправление ввода-вывода на командной строке оболочки задолго до того, как у них была многоуровневая файловая система. Таким образом, когда время настало для разработки файловой системы, они должны были найти, что другой символ показал разделение элемента пути.
Вещь отметить вот состоит в том что в терминале Lear-Siegler ADM-3A, широко использующемся в течение 1970-х, от который среди других вещей практика использования ~
символ для представления корневого каталога происходит, / ключ рядом с> ключ:
Что касается того, почему корневой каталог обозначен синглом /
, это - конвенция, скорее всего, под влиянием того, что корневой каталог является каталогом верхнего уровня иерархии каталогов, и в то время как другие каталоги могут быть под ним, обычно нет причины относиться к чему-либо вне корневого каталога. Так же сама запись каталога не имеет никакого имени, потому что это - граница видимого дерева каталогов.
В компонентах пути на Unix не могут использоваться только два символа: нулевой символ, который завершает строки в C (язык ядра) и наклонная черта, которая резервируется как разделитель пути. Кроме того, компоненты контура не могут быть пустыми строками.
Так, в пути у нас есть только два вида маркеров: наклонная черта и компонент.
Предположим, что, не добавляя новых маркеров, мы хотели бы поддерживать поддержку два типа путей, относительных и абсолютных. Кроме того, мы хотели бы смочь обратиться к корневому каталогу, который не имеет никакого имени (он не имеет никакого родителя, который дал бы ему имя).
Как мы можем представить относительные пути, полные пути, и обратиться к корневому каталогу, с помощью только наклонную черту?
Самый очевидный способ расширить язык (кроме введения нового маркера) состоит в том, чтобы создать новый синтаксис: дайте новое значение комбинациям маркеров, которые являются недопустимым синтаксисом.
Пути, которые начинаются с наклонной черты, не имеют смысла, итак, почему бы не использовать ведущую наклонную черту в качестве маркера, который указывает, "этот путь является абсолютным, а не относительным".
Путь, который содержит только наклонную черту, также недопустим, итак, почему бы не присвоить ей значение "корневой каталог".
Эти два значения сходятся, потому что полный путь начинает искать в корневом каталоге. Другими словами, ведущая наклонная черта может рассматриваться как наличие значения:
Затем мы могли бы также добавить запаздывающую наклонную черту, которая может означать, что "этот путь утверждает, что последний компонент контура является названием каталога, а не регулярного файла или любого другого типа объекта: та запаздывающая наклонная черта обозначает, что каталог так же к пути ведущая наклонная черта обозначает корневой каталог".
Со всем этим выше синтаксиса у нас все еще есть синтаксис с неназначенным значением: удвойте наклонные черты, тройные наклонные черты, и т.д.
Почему не только представляют другой маркер и делают это по-другому. Это, вероятно, потому что разработчики проявили минималистические подходы в целом. (Почему делает ed
редактор только отображает a ?
когда Вы делаете что-то не так?) Наклонную черту легко ввести, не требуя никакого сдвига. Язык пути только с двумя типами маркера (компонент и наклонная черта) легко помнить и использовать.
Другой важный фактор - то, что легкие манипуляции путями являются возможными использующими только строковыми представлениями. Например, мы можем "повторно базироваться" полные пути к новому родительскому каталогу довольно легко:
OLD_PATH=/old/path
NEW_HOME=/new/home
NEW_PATH="$NEW_HOME$OLD_PATH" /new/home/old/path
Это не работало бы, если бы мы указали на полные пути некоторым другим способом, как ведущий знак доллара или безотносительно:
OLD_PATH=^old/path # ^ means absolute path
NEW_HOME=^new/home
# now we need more string kung-fu than just catenation
NEW_PATH="$NEW_HOME/${OLD_PATH#^}"
Этот тип кодирования все еще необходим в некоторых случаях при контакте с путями стиля Unix, но существует меньше из него.
/
использование Вашей правой ноги. Точно так же, как проигрывание фортепьяно.
– Pacerier
23.01.2015, 11:31
Первая иерархическая файловая система, поскольку мы знаем это сегодня, была разработана для Multics. Дизайн описан в “Файловой системе Общего назначения Для Внешней памяти” R.C. Daley и P.G. Neumann. Существенная характеристика этой файловой системы - то, что каталог является файлом, который может содержаться в каталоге как любой другой файл. Файловая структура формирует дерево, в котором все узлы, не являющиеся листом являются каталогами. Корень дерева всегда является каталогом. Каждый файл имеет имя (имя записи), который уникален в рамках его родительского каталога. Корневой каталог не имеет имени, так как он не содержится в другом каталоге.
Для обозначения файла необходимо описать путь от корня дерева. Multics приняла естественный синтаксис для путей где если P
путь к каталогу и F
название файла, затем P>F
синтаксис для названного файла F
в каталоге, путь которого P
.
В течение тех времен, когда Вы не хотите обременять себя каталогами, Multics имела понятие рабочего каталога. Пустое имя файла без признака каталога интерпретируется как файл в рабочем каталоге.
Объединение этих правил, foo
файл в рабочем каталоге; foo>bar
файл в дочернем каталоге foo
из рабочего каталога, и так далее. Эти правила описывают относительные пути, но дополнительное правило необходимо для создания полных путей, начинающих с корневого каталога. Учитывая, что чтение пути слева направо соответствует перемещению от корня до листов дерева, корень должен быть обозначен специальным маркером слева от пути. Так как имена файлов никогда не пусты (потому что это часто сбивало бы с толку), никакой относительный путь никогда не запускается с символа >
, который делает это удобным маркером для абсолютных путей. Таким образом >foo
названный файл foo
в корневом каталоге, >foo>bar
названный файл bar
в названном каталоге foo
в корневом каталоге, и так далее. Это оставляет корневой каталог, который мог быть пустой строкой; однако, часто не удобно использовать пустую строку в качестве пути, так вместо этого это записано >
, который обладает дополнительным преимуществом, что путь является абсолютным, если и только если его первый символ >
.
Unix принял этот дизайн от Multics. Так как Unix уже использовал символ >
для перенаправления вывода в его командном процессоре его разработчики выбрали другой символ /
разделить каталоги в путях.
/
. Файловые системы Unix являются единственным деревом с точками монтирования для различных дисков. – alexis 03.12.2013, 16:53chroot
и такой - Вы ни к чему не можете получить доступ вне нового корня, но это не означает, что они не там. – Bobson 03.12.2013, 17:16chroot()
был представлен, это не имело никаких подобных тюрьме свойств вообще, это просто влияло на разрешение пути. Даже сегодня привилегированные процессы могут убежать из chroot дизайном. Я также упомянулchroot()
в более раннем комментарии. – Thomas Nyman 04.12.2013, 07:59>
как разделитель каталога, но также и<
обращаться к родительскому каталогу:<
отдельно было эквивалентно..
, в то время как<foo
было эквивалентно../foo
. Я всегда находил это эстетически приятным. – Mark Reed 12.12.2013, 01:07