Usiłuję zmienić własność i uprawnienia niektórych plików (i katalogów) w bieżącym katalogu. Próbowałem tego:
chown username:groupname .
... spodziewając się, że wpłynie to na wszystkie pliki w bieżącym katalogu, ale zamiast tego wpłynie tylko na katalog, w którym się znajduję (co jest przeciwieństwem tego, co chcę zrobić). Chcę to zmienić we wszystkich plikach bez wpływu na bieżący katalog, w którym się znajduję.
Jak mogę przeglądać i przesyłać wszystkie pliki w bieżącym katalogu?
man chown
iman chmod
łatwo odpowiedz na twoje pytanie.chmod
. Jest wbudowany w powłokę. Również czytanie dokumentacji na temat globowania wysysa z ciebie życie (spędziłem dużo czasu, zastanawiając się nad wszystkimi funkcjami zsh).chown -R user:group .
Odpowiedzi:
Chcesz użyć
chown username:groupname *
i pozwól powłoce rozwinąć*
zawartość do bieżącego katalogu. Spowoduje to zmianę uprawnień do wszystkich plików / folderów w bieżącym katalogu, ale nie do zawartości folderów.Możesz również to zrobić
chown -R username:groupname .
, co zmieni uprawnienia w bieżącym katalogu, a następnie wróci do niego i wszystkich podfolderów, aby zmienić uprawnienia.chown -R username:groupname *
zmieni rekursywnie uprawnienia do wszystkich plików i folderów, pozostawiając sam katalog bieżący sam. Najczęściej używam tego i pierwszego stylu.źródło
chown -R username:groupname .
wchown -R username:groupname /
. Zrobienie 2-sekundowego zadania koszmarem 2-dniowym.-v
ze wszystkich moich rekurencyjnych poleceń, ale zbyt leniwychown -R username:groupname directoryname
Myślę, że chcesz tego:
chown username:groupname *
Jeśli chcesz również rekurencyjnie zmieniać podkatalogi, potrzebujesz przełącznika
-R
(-r
jest przestarzały):chown -R username:groupname *
źródło
chown
jest świetny, jeśli jesteś superużytkownikiem. Miałem problemmake
polegający na tym, że ktoś inny działał w moim katalogu, a teraz posiadałem niektóre pliki, których nie mogłem modyfikować. Oto moje obejście, które obsługuje pliki i katalogi, chociaż pozostawia katalogi z sufiksem,.mkmeowner
jeśli nie można ich usunąć.Przykłady:
mkmeownerone
aby był na twojej drodze.mkmeowner:
mkmeownerone:
źródło
mkmeownerone
ścieżkę wyszukiwania.mkmeowner
wybuchnie, jeśli nie zostanie to zrobione. (3) Dowiedz się, jak (tj. Kiedy i gdzie) używać cudzysłowów w poleceniach i skryptach powłoki. Mówienie${f}
nie jest użyteczną alternatywą; zobacz to . … (Ciąg dalszy)expr
jest przestarzały. Bardziej efektywne jest wykonywanie prostych dopasowań ciągów w powłoce; bash obsługuje również dopasowanie wyrażeń regularnych. W tym przypadku możesz wykonać test nazwy pliku wfind.
(6). Twojeexpr match
polecenie sprawdza, czy${f}
kończy się namkmeowner
, a nie na końcu.mkmeowner
. Dlatego skrypt nie będzie działał na sobie. ... (ciąg dalszy)dirorfile
jest trudny do odczytania i zrozumienia (porównaj zdir_or_file
), a kiedy zobaczyłemmkmeowner
, moją pierwszą myślą był kot (mk
+meow
+ner
).