Согласно определению POSIX, пути, запускающиеся с двойной наклонной черты (//) "..., могут быть интерпретированы определенным реализацией способом, хотя больше чем две ведущих наклонных черты нужно рассматривать как единственную наклонную черту". При использовании csh, например, он не действует одинаково:
% bash -c 'cd //; pwd'
//
% csh -c 'cd //; pwd'
/
Bash, кажется, хранит каталог, и pwd сообщает о $PWD, в то время как csh, кажется, использует getcwd()
функция для получения фактического каталога.
Документация для реализации Linux /proc
находится в Documentation/filesystems/proc.txt
в документации ядра.
Остерегайтесь этого /proc
одна из областей, где *ixes отличаются больше всего. Это начало как System V определенную функцию, было затем значительно расширено Linux и находится теперь в процессе того, чтобы быть удержавшим от использования вещами как /sys
. BSDs — включая OS X — не приняли его вообще. Поэтому, если Вы пишете программу или сценарий, это получает доступ к вещам в /proc
, существует хороший шанс, он не продолжит работать другой *ixes.
В основном /proc
имеет файлы, которые хранятся на RAM, когда начальные загрузки системы и остаются там, пока система произошла. Узнавание, что находится в этом файле, похоже на RAM чтения. Вот почему Вы не можете изменить содержание или значения этих файлов с помощью энергии или некоторого любого другого редактора. Они должны быть вынуждены с некоторыми булевыми значениями.
Здесь у меня есть некоторая хорошая документация с целым списком и описаниями каждого объекта.
Да, есть страница man в разделе 5 "Файловые форматы и соглашения":
Удивительно длинная, но - она описывает 189 виды файлов в /proc
.