Я рыл через /var/log/plymouth-debug.log
и определенный эта строка:
[main.c:716] get_cache_file_for_mode:returning cache file '/var/lib/plymouth//boot-duration'
Я думал, что это была опечатка, таким образом, ввел следующее, и конечно же Вы можете иметь как многие ///
между подкаталогами и именем файла, как Вы хотите. Например:
rick@dell:~$ ls -la /var/lib/plymouth/boot-duration
-rw-r--r-- 1 root root 2041 Nov 3 21:39 /var/lib/plymouth/boot-duration
────────────────────────────────────────────────────────────────
rick@dell:~$ ls -la /var/lib/plymouth/////boot-duration
-rw-r--r-- 1 root root 2041 Nov 3 21:39 /var/lib/plymouth/////boot-duration
────────────────────────────────────────────────────────────────
rick@dell:~$ ls -la /var/lib//plymouth///boot-duration
-rw-r--r-- 1 root root 2041 Nov 3 21:39 /var/lib//plymouth///boot-duration
При каких обстоятельствах был бы Вы хотеть использовать два или больше //
вместо сингла /
разделитель?
Этому отвечает очень приятно Gilles в Unix & Linux: Как Linux обрабатывает несколько последовательных разделителей пути (/, размещают////имя пользователя///файл)?
Несколько наклонных черт позволяются и эквивалентны единственной наклонной черте. От Единственной спецификации Unix (версия 3) основывайте определения §3.266 путь: “Несколько последовательных наклонных черт считаются тем же как одной наклонной чертой”.
Существует одно исключение: если путь запускается точно с двух наклонных черт, его можно рассматривать по-другому (касательно: основные определения §4.11 разрешение пути). Сам Linux не делает этого, хотя некоторые приложения могли бы, и другая система выхода Unix делает (например, Cygwin).
Запаздывание
/
в конце пути вынуждает путь обратиться к каталогу. В (POSIX 1003.1-2001 (Единственный Unix v3) основывают определения §4.11 разрешение пути, запаздывание/
эквивалентно запаздыванию/.
. POSIX 1003.1-2008 (Единственный Unix v4) основные определения §4.12 удаляет требование для создания этого эквивалентным/.
, для преодоления несуществующих каталогов (например.mkdir foo/
требуется, чтобы работать, тогда какmkdir foo/.
не был бы — видеть объяснение для изменения).Для программ, которые действуют на запись каталога, если
foo
символьная ссылка на каталог, затем передаваяfoo/
путь состоит в том, чтобы заставить программу действовать на каталог вместо символьной ссылки.¹ Примечание, что это запрашивает разрешение пути только, т.е. при доступе к файлам. Манипуляции именем файла могут работать по-другому. Например,
basename
иdirname
проигнорируйте запаздывание наклонных черт.
В этом случае я принимаю ///
просто программирует излишне предосторожность (некоторое использование dev /
к путям объединения, когда у них уже есть запаздывание или продвижение наклонных черт соответственно).