Если проблема возникает в первую очередь во время входа в систему, одним из вариантов является отсрочка Liferea до тех пор, пока остальные процессы входа в систему не успокоятся:
Как уменьшить время, затраченное на регистрацию, откладывая / задерживая запуск Приложения?Если проблема связана исключительно с использованием ЦП, подумайте о том, как запустить Lifearea под cpulimit:
Как уменьшить время, затраченное на регистрацию, откладывая или задерживая некоторые запущенные приложения?Если Nautilus ничего не показывает, а ls -a показывает только . и .., то в этом каталоге ничего нет.
Каталог . представляет текущий каталог, это способ справочные файлы и каталоги с использованием относительного пути. Например. ./subdir1/subdir2/somefile
Когда вы даете команду ls, под капотом это переводится на ls .
То же самое верно для .., это способ обратитесь к родительскому каталогу. Например. [F9].
Эти две записи являются неотъемлемой частью файловых систем на вашем компьютере и присутствуют в списке, возвращенном функциями низкоуровневого каталога ядра.
Как говорили другие, .. является ссылка на родительский каталог, а . - ссылка на текущий каталог.
Некоторые интерфейсы, такие как nautilus, скрывают эти две записи, потому что они не так важны в графической среде, но они все еще там.
Почему они существуют?
Это ярлыки для удобства. Они реализованы во всей файловой системе, чтобы гарантировать, что независимо от того, какое приложение вы используете, они будут работать - они не зависят от поддержки отдельных приложений. Они будут работать везде, где разрешен путь к каталогу, включая файлы конфигурации.
Ярлык .. позволяет ссылаться на родителя каталога с directory/.., его дедушкой и бабушкой с помощью directory/../.. и скоро. Ярлык . позволяет явно ссылаться на текущий каталог, в случаях, когда приложение требует, чтобы вы указали каталог (или каталоги) для поиска, и вы хотите выполнить поиск в текущем каталоге. Например, . может быть добавлен к переменной среды PATH, позволяя по умолчанию искать текущий каталог для соответствия исполняемых файлов. Или, если он не существует в PATH, вы можете использовать ./myscript для запуска скрипта в текущем каталоге, даже если переменная среды PATH в противном случае не будет выглядеть в текущем каталоге исполняемого файла.Почему они существуют?
В большинстве традиционных файловых систем записи . и .. реализованы на диске как записи в каталоге, которые делятся inode с указанными каталогами, то есть они похожи на жесткие ссылки на текущий и родительский каталог, за исключением того, что их нельзя удалить или изменить.
С помощью ядра операционной системы Запись .. даже работает через точки монтирования, гарантируя, что корень точки монтирования будет иметь запись .., реализованную как ссылка на родительский каталог, в котором находится mount. Это происходит независимо от типов файловой системы - это произойдет даже в виртуальных файловых системах, таких как /proc.
. и .. являются зарезервированными именами файлов - невозможно создать фактический файл или каталог и дать это . или .. как имя (хотя вы можете inode имя файла с этими символами).
. и .. являются записи, которые обычно присутствуют в каждом каталоге. Их значение не связано с рабочим каталогом процесса (например, shell), но с каталогом, в котором находится запись.
.. обеспечивает двустороннюю привязку структуры дерева каталогов, а . - удобное имя для обращения к самому каталогу. Путь directory/. совпадает с directory. Теоретически пустую строку можно было бы выбрать для обозначения самой директории, но на самом деле это не так: ls '' не работает, а значение пустой строки было бы неоднозначным, поскольку в начале пути, к которому оно относится, корневой каталог уже: /file1 означает file1 в корневом каталоге или file1 в текущем рабочем каталоге?
Как показало thomasrutter, в качестве обычных записей в каталоге вы можете использовать . и .. на пути. Например, ./-filename можно использовать, чтобы избежать интерпретации символа тире - в качестве введения параметров командной строки. Путь directory1/../directory2 по сути такой же, как ./directory2, который совпадает с directory2.
Файл ( и каталог) имена с . в начале по умолчанию скрыты в Unix-подобных системах, поэтому по умолчанию большинство инструментов не будут показывать каталоги . и ... Это полезно, потому что мы уже знаем, что . и .. обычно присутствуют в каждом каталоге.
Команда ls -a показывает все записи в каталоге. В Nautilus Ctrl + H отображает скрытые записи, но за исключением . и .., потому что они обычно не очень полезны в графическом диспетчере файлов. Для подобного поведения в командной строке вы можете использовать ls -A.
Да, в часто используемой файловой системе они , (как напомнил Джонатан Леффлер). Как мы можем это проверить?
# prepare the directory
cd /tmp ; mkdir testdir1
# test 1
ls -lid testdir1 testdir1/. testdir1/..
1179767 drwxrwxr-x 2 pabouk pabouk 4096 Nov 12 11:52 testdir1
1179767 drwxrwxr-x 2 pabouk pabouk 4096 Nov 12 11:52 testdir1/.
1179650 drwxrwxrwt 14 root root 4096 Nov 12 15:17 testdir1/..
Номер inode (1-й столбец), ссылающийся на структуру данных самого каталога / файла, одинаковый для одного и того же каталога testdir1 и testdir1/.. Количество ссылок (3-й столбец), показывающее количество записей в каталоге, относящихся к inode (каталог / файл), равно 2 сразу после создания каталога, потому что в /tmp и . в /tmp/testdir1 есть testdir1. Индекс /tmp/testdir1/.. (/tmp) имеет 14 ссылок, потому что у него есть 12 подкаталогов, содержащих .. + 2 записи в качестве каждой директории.
# test 2
touch testdir1/tesfile1 # to have a regular file too
debugfs /dev/sda2 -R 'ls -l /tmp/testdir1' | cat
debugfs 1.42.12 (29-Aug-2014)
1179767 40775 (2) 1000 1000 4096 12-Nov-2015 11:52 .
1179650 41777 (2) 0 0 4096 12-Nov-2015 15:46 ..
1179771 100664 (1) 1000 1000 0 12-Nov-2015 11:52 tesfile1
Утилита debugfs читает ext2 ( и более новые) данные файловой системы непосредственно из дисковых секторов (обход файловой системы в ядре Linux).
# test 3
debugfs /dev/sda2 -R 'dump /tmp/testdir1 '>(od -tax1)
debugfs 1.42.12 (29-Aug-2014)
0000000 w nul dc2 nul ff nul soh stx . nul nul nul stx nul dc2 nul
77 00 12 00 0c 00 01 02 2e 00 00 00 02 00 12 00
0000020 ff nul stx stx . . nul nul { nul dc2 nul h si bs soh
0c 00 02 02 2e 2e 00 00 7b 00 12 00 e8 0f 08 01
0000040 t e s f i l e 1 s o c k e t nul nul
74 65 73 66 69 6c 65 31 73 6f 63 6b 65 74 00 00
0000060 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0010000
Если вы не верите в список каталогов debugfs, вы можете изучить исходный дамп каталога и убедитесь, что записи . и .. действительно присутствуют.
. - текущий каталог, а .. - родительский каталог. В качестве примера возьмем следующую иерархию каталогов:
foo
└── bar
foo/. и foo/bar/.. являются foo.