Скрытые файлы найдены только по командной строке?

У меня есть каталог с кучей изображений. Идя туда с графическим интерфейсом и нажав CTRL + A (выбрав все файлы), он рассчитан на 5058 изображений. Выполнение `ls. | wc -l-файлов, он насчитывает 5060 файлов.

У меня есть подозрение, что «отсутствующие файлы» являются изображениями, иначе программа, которую я использую на ней, вернула бы сообщение об ошибке (и оно насчитывает 5060 файлы тоже).

1
задан 22 January 2017 в 18:12

1 ответ

Если ваша команда ls сглажена на ls -a или ls -A, ее вывод включает в себя два дополнительных элемента: . и .., которые относятся к самой директории . и ее родительскому объекту (.. ), а также другие файлы, которые начинаются с ведущего ., поэтому есть разница между 5058 и 5060 файлами. Они не отображаются в файловом менеджере графического интерфейса просто потому, что они построены таким образом, однако большинство приложений Unix построены, чтобы распознать существование этих двух.

Кроме того, никогда не используйте ls | wc -l для подсчета файлов. Анализ вывода ls имеет множество проблем, и, как правило, лучше всего избегать такой практики. Если вам нужно подсчитать файлы в каталоге через командную строку, см. Раздел Почему `ls -l` подсчитывает больше файлов, чем я? для правильных методов.

В этом конкретном случае я рекомендую вам использовать find -maxdepth 1. find печатает все файлы и каталоги и не скрывает те файлы или каталоги, которые начинаются с ведущего .

0
ответ дан 23 May 2018 в 02:11

Другие вопросы по тегам:

Похожие вопросы: