Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: как выставить chmod на все файлы  (Прочитано 10765 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн iniweb

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
как выставить chmod на все файлы
« : 22 Сентябрь 2007, 11:46:01 »
Сабж, есть папка test в ней еще много папок и файлов, нужно 1 командой выставить на все файлы из всех папок которые находятся  test права 666.

Оффлайн voland

  • Любитель
  • *
  • Сообщений: 86
  • Линуксоид-стакановец
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #1 : 22 Сентябрь 2007, 11:55:55 »
cd test
chmod 666 *

Оффлайн Ras Dan

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #2 : 22 Сентябрь 2007, 14:44:54 »
с параметром R кажется:
chmod -R test

 :)

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #3 : 22 Сентябрь 2007, 18:49:08 »
Что-то типа
find ./test -type f -exec chmod 666 '{}' \;

Оффлайн xintrea

  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #4 : 22 Сентябрь 2007, 21:26:08 »
Команды в стиле

cd test
chmod ug+rw -R *

поменяют права только обычным файлам и каталогам, и не затронут dot-файлы (имена которых начинаются на точку, обычно это конфигурационные или настроечные файлы).


Можно дать команду

cd test
chmod ug+rw -R .*

тогда поменяются права всем dot-файлам в директории и поддиректории. Но заодно поменяются права и для директорию ".." (то есть для директории на уровень выше, чем test). Так что, чтобы этого не произошло, нада отдавать команду внутри какой-нить поддиректории директории test. А потом руками менять права каждому dot-файлу в директории test, если они есть.

Вот такое удобство.

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #5 : 22 Сентябрь 2007, 22:04:29 »
xintrea использование команды find в купе с chmod решает такие проблемы, пример использования нарисован выше.

Оффлайн xintrea

  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #6 : 23 Сентябрь 2007, 02:11:00 »
Да, согласен. Только нужно в маны каждой команды chown, chmod, rm и. т. д. написать -

"Люди! Не пользуйтесь опциями этой программы для массовых операций с файлами! Всеравно по уму работать не будет! Лучше делайте все через find !"

И пример рядом, как эту программу в качестве exec для find вставлять. Вот тогда у большего числа людей понимание будет. А пока этого нет, все будут пытаться делать действия через программы, предназначенные для этого действия. Понимание, что средства выборки цели у этих программ неподходят даже для естественных операций, может придти и через несколько лет работы с линухом, особенно если рядом нет гуру.


Оффлайн DarkMist

  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #7 : 18 Сентябрь 2008, 12:43:28 »
Что-то типа
find ./test -type f -exec chmod 666 '{}' \;
если небудет трудно можно поподробней(разшифровать)

Intel D915-2.8G  RaM:2G Video:Nvidia GTS450
ubuntu 10.10 (Linux 2.6.35-32 i686 GNU/Linux)

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #8 : 18 Сентябрь 2008, 12:52:36 »
Что-то типа
find ./test -type f -exec chmod 666 '{}' \;
если небудет трудно можно поподробней(разшифровать)
Э-э-э, это подробнейшим образом расшифровано в man find, а вообще, как написано так и читать:
найти find в подкаталоге test текущего каталога ./test элементы типа файл -type f, для найденных элементов ('{}' - это их обозначает, кавычки для экранирования найденных элементов от интерпретации шеллом) выполнить -exec команду chmod 666 конец команды \; (тоже экранированный)

Оффлайн Golova

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #9 : 20 Ноябрь 2008, 14:12:38 »
не хотелось начинать тему, поэтому пишу здесь.
как с помощью chmod поставить права на какую то конкретную группу?
ведь пользователь может входить не только в одну группу.

Оффлайн (s)AINT

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: как выставить chmod на все файлы
« Ответ #10 : 20 Ноябрь 2008, 15:35:57 »
chown -R имя:группа /путь/

 

Страница сгенерирована за 0.147 секунд. Запросов: 23.