Я пытаюсь изменить владельца и права доступа к некоторым файлам (и каталогам) в текущем каталоге. Я попробовал это:
chown username:groupname .
... ожидая, что это повлияет на все файлы в текущем каталоге, но повлияет только на каталог, в котором я нахожусь (что противоположно тому, что я хочу сделать). Я хочу изменить его для всех файлов, не затрагивая текущий каталог, в котором я нахожусь.
Как я могу chown и chmod все файлы в текущем каталоге?
man chown
иman chmod
легко ответить на ваш вопрос.chmod
. Он встроен в оболочку. Кроме того, чтение документации о глобализации высасывает из вас жизнь (я потратил много времени на изучение всех возможностей zsh).chown -R user:group .
Ответы:
Вы хотите использовать
chown username:groupname *
, и позволить оболочке расширить*
содержимое текущего каталога. Это изменит разрешения для всех файлов / папок в текущем каталоге, но не для содержимого папок.Вы также можете сделать это
chown -R username:groupname .
, что приведет к изменению прав доступа к текущему каталогу, а затем откроется внутри него и всех вложенных папок, чтобы изменить права доступа.chown -R username:groupname *
рекурсивно изменит права доступа ко всем файлам и папкам, оставив текущий каталог в покое. Этот стиль и первый стиль - это то, чем я чаще всего пользуюсь.источник
chown -R username:groupname .
вchown -R username:groupname /
. Создание 2-секундного задания 2-дневного кошмара.-v
на всех моих рекурсивных команд, но слишком ленивchown -R username:groupname directoryname
Я думаю, что вы хотите это:
chown username:groupname *
Если вы также хотите рекурсивно изменять подкаталоги, вам понадобится переключатель
-R
(-r
не рекомендуется):chown -R username:groupname *
источник
chown
отлично, если вы суперпользователь. У меня была проблема, когда кто-то еще работалmake
в моем каталоге, и теперь у меня были некоторые файлы, которые я не мог изменить. Вот мой обходной путь, который обрабатывает файлы и каталоги, хотя он оставляет каталоги без суффикса,.mkmeowner
если не может их удалить.Примеры:
mkmeownerone
был на вашем пути.mkmeowner:
mkmeownerone:
источник
mkmeownerone
в поиск PATH.mkmeowner
взорвется, если это не будет сделано. (3) Пожалуйста, узнайте, как (то есть, когда и где) использовать кавычки в командах и сценариях оболочки. Сказать${f}
не полезная альтернатива; см это . … (Продолжение)expr
устарел. Более эффективно выполнять простое сопоставление строк в оболочке; bash также поддерживает сопоставление регулярных выражений. В этом случае вы можете выполнить проверку имени файла вfind.
(6). Вашаexpr match
команда проверяет,${f}
заканчиваетсяmkmeowner
ли она, а не заканчивается.mkmeowner
. Поэтому скрипт не будет работать сам по себе. … (Продолжение)dirorfile
трудно читать и понимать (сравнить сdir_or_file
), и когда я увиделmkmeowner
, моя первая мысль была о кошке (mk
+meow
+ner
).