Все ответы до сих пор (а также Ваш пример в вопросе) предполагают, что Вы хотите touch
все в каталоге, даже при том, что Вы сказали "касание все папки". Если оказывается, что каталог содержит файлы и папки, и Вы только хотите обновить папки, можно использовать find
:
$ find . -maxdepth 1 -mindepth 1 -type d -exec touch {} +
Или если Ваш find
реализация не поддерживает нестандартное -mindepth
/-maxdepth
предикаты:
$ find . ! -name . -prune -type d -exec touch {} +
Это:
$ touch -c -- */
Должен работать в большинстве оболочек за исключением того, что:
touch
символьные ссылки на каталоги в дополнение к простым каталогам*
в оболочках кроме csh
, tcsh
, zsh
, fish
или оболочка Thompson (который сообщил бы об ошибке вместо этого). Здесь, мы используем -c
работать вокруг этого, хотя это могло все еще touch
файл некаталога называют *
.С zsh
, к touch
каталоги только, включая скрытые:
touch -- *(D/)
У Вас должен быть выполнить набор битов на каталоге, чтобы позволить нужному пользователю вводить его и файлы доступа и каталоги внутри, и Вы удалили его (Ваша команда удаляет выполнить бит и из файлов и из папок). Существует информация об этом здесь. Следующая команда должна зафиксировать его:
find ~/Documents -type d -exec chmod a+x {} +