find ... '!' -type d ...
Как сделать все файлы неисполняемыми рекурсивно, используя find, не затрагивая каталоги?
4293
wting
Мне нужно убрать исполняемый флаг из всех файлов в определенном каталоге и подкаталогах. Прямо сейчас я делаю это с двухэтапным процессом
find /dir/ -type f -exec chmod ugo-x {} \; find /dir/ -type d -exec chmod ugo+rx {} \;
Можно ли изменить первую строку, чтобы я мог удалить флаг exec из всех файлов, не входящих в каталог? Поскольку это нужно делать на регулярной основе во многих каталогах и файлах, я бы предпочел не использовать bash-скрипт, который замедлял бы его.
Из любопытства, что именно ваша текущая команда не выполняет должным образом? Предикат `-type f` уже выбирает все файлы (или, что то же самое, все файлы, не являющиеся каталогами, поскольку все, что является файлом, также не может быть каталогом).
David Z 14 лет назад
0
@David: сокеты, FIFO, символические ссылки, устройства и т. Д.
Ignacio Vazquez-Abrams 14 лет назад
0
@Ignacio: Да, но вопрос был о файлах, а не обо всех других не файловых вещах.
David Z 14 лет назад
0
@ Дэвид: это * nix. Все это файл.
Ignacio Vazquez-Abrams 14 лет назад
0
@Ignacio: Конечно, у всего есть путь к файловой системе, но вы не всегда можете сказать, что на самом деле все является файлом. Некоторые люди делают, но другие используют «файл» в смысле обычного файла, то есть что-то, что будет соответствовать предикату `-type f` для` find`. Для меня формулировка этого вопроса настоятельно подсказала последнее значение.
David Z 14 лет назад
1
1 ответ на вопрос
4
Ignacio Vazquez-Abrams
Спасибо, я не понимал, что найти операторы. Нужны ли одиночные кавычки, так как мне удалось заставить их работать без них?
wting 14 лет назад
0
Это зависит от вашей оболочки и ее параметров. bash использует `!` в расширении истории, поэтому хорошая цитата в CLI. Вы вероятно не будете нуждаться в этом в подлиннике все же.
Ignacio Vazquez-Abrams 14 лет назад
1
Расширение истории не активно в скриптах, правильно.
Daenyth 14 лет назад
0
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4