Как включить скрытые файлы в команду stat?

Только эмулятор терминала OS X может устанавливать положение курсора при сочетании щелчка левой кнопкой мыши с параметром «Option».

Для эмуляторов терминала Linux эта функция недоступна / не требуется с Q3_2016.

В какой-то момент был запрос на поддержку эмулятора терминала gnome, но я не думаю, что эта функция реализована (пока).

3
24.03.2017, 18:59
2 ответа

stat без проблем работает со скрытыми файлами. Обычно в Unix-подобных системах программы игнорируют файлы и каталоги, начинающиеся с . по умолчанию, но это не мешает этим программам видеть или работать с такими файлами, если они явно указаны.

Ошибка означает именно то, что она говорит; stat пытался работать с несуществующим файлом или каталогом. Скорее всего, это связано с тем, что ваш код сначала сгенерировал список файлов, а затем, перебирая список, .../info/subory был удален, переименован или перемещен до того, как ваш код смог добраться до него.

Учитывая имя родительского каталога, это, вероятно, что-то столь же простое, как очистка корзины на вашем рабочем столе во время выполнения вашего кода либо вручную, либо с помощью какого-либо автоматизированного процесса.

Для временных проблем, подобных этой, самое простое решение — просто игнорировать ошибку и, возможно, перейти к следующей итерации цикла:

stat -c%s $i 2>/dev/null || continue

Или присвоить значение по умолчанию (используя -1, чтобы сигнализировать пошло не так, так как 0 был бы допустимым размером):

size=$(stat -c%s $i || echo -1)

Вы также можете проверить существование файла или каталога перед запуском stat:

test -e $i && stat -c%s $i

Или использовать некоторую комбинацию этих методы.

1
27.01.2020, 21:18

попробуйте это, чтобы показать все файлы ".*"для отображения скрытых файлов и "*"для отображения не скрытых файлов

stat -c%s.* *
4
27.01.2020, 21:18

Теги

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