rm -f не может удалить файл

rm -f не может удалить файл

Я скачал шрифт из fonts.google.com. Я распаковал его в ~/.fonts, staticкаталог был создан. Я переместил его содержимое на один уровень выше, в ~/.fonts.

Теперь я не могу удалить каталог, потому что он содержит .uuidфайл. Что меня поразило, так это то, что этот файл нельзя удалить с помощью rm:

[ .fonts/static ]% ls -la
total 12K
drwxr-xr-x 2 me group 4.0K Jun 10 11:49 .
drwxr-xr-x 3 me group 4.0K Jun 10 11:24 ..
-rw-r--r-- 1 me group   36 Jun 10 11:49 .uuid

[ .fonts/static ]% rm -f .uuid
                                                                                                                                 
[ .fonts/static ]% ls -la                                                                                                                                          
total 12K
drwxr-xr-x 2 me group 4.0K Jun 10 11:53 .
drwxr-xr-x 3 me group 4.0K Jun 10 11:24 ..
-rw-r--r-- 1 me group   36 Jun 10 11:53 .uuid

Как это возможно? ~/.fonts- это просто обычный каталог в моем $HOME.

Убунту 21.10

решение1

Его можно удалить, он просто создается заново через несколько секунд, когда fontconfig замечает изменение и повторно сканирует шрифты. (Файлы .uuid каким-то образом связаны с кэшем шрифтов на диске, который создает fontconfig.)

Другими словами, это не тот же файл на обоих снимках экрана. Используйте ls -iдля просмотра номеров инодов или stat .uuidдля просмотра времени "создания", чтобы убедиться в этом.

Используйте rm -rf, он удалит пустую директорию, прежде чем fontconfig заново создаст файл.

Либо переместите каталог в другое место (в место, которое fontconfig не просматривает) изатемудали это.

Связанный контент