Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-02-20 16:15:36

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

chmod rekurencyjnie

Witam

mam katalog

Kod:

/home/test

w nim mam katalogi i pliki i teraz chce nadać każdemu plikowi prawa 2660 a katalogowi 2770 może mi ktoś pomóc.

Offline

 

#2  2009-02-20 16:24:01

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: chmod rekurencyjnie

najprościej chyba będie użyć finda z -exec

Kod:

find /home/test -type f -exec chmod 2660 '{}' ';'
find /home/test -type d -exec chmod 2770 '{}' ';'

gdybyś nie potrzebował rozróżnienia, wystarczyłaby flaga -R dla chmod


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#3  2009-02-20 18:56:01

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: chmod rekurencyjnie

Do find doszedłem ale nie wiedziałem jak przekierować dane do chmod
Dzięki tego właśnie szukałem.

Offline

 

#4  2009-02-20 20:04:47

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: chmod rekurencyjnie

Kod:

chmod -R u+rwX,g+srwX,o-rwXx *

Manuale czytać, a nie kombinować. :)


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#5  2009-02-20 22:23:23

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: chmod rekurencyjnie

czadman napisał(-a):

Kod:

chmod -R u+rwX,g+srwX,o-rwXx *

Manuale czytać, a nie kombinować. :)

OK 2660 tak da się zrobić ale ja wybrać tylko pliki a później tylko foldery w chmod

azhag rozwiązał to w 100% a to co powyżej napisałeś to wystarczy dać:

Kod:

chmod -R 2660 *

to samo da i jest chyba lekko prostsze, ale niestety nie jest rozwiązaniem problemu. Jeszcze raz dzięki azhag.

Offline

 

#6  2009-02-20 22:33:07

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: chmod rekurencyjnie

djjanek napisał(-a):

czadman napisał(-a):

Kod:

chmod -R u+rwX,g+srwX,o-rwXx *

Manuale czytać, a nie kombinować. :)

OK 2660 tak da się zrobić ale ja wybrać tylko pliki a później tylko foldery w chmod

azhag rozwiązał to w 100% a to co powyżej napisałeś to wystarczy dać:

Kod:

chmod -R 2660 *

to samo da i jest chyba lekko prostsze, ale niestety nie jest rozwiązaniem problemu. Jeszcze raz dzięki azhag.

Ciężki przypadek, poważna awersja do czytania. :)
Ehh...


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#7  2009-02-20 23:08:32

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: chmod rekurencyjnie

czadman napisał(-a):

Kod:

chmod -R u+rwX,g+srwX,o-rwXx *

Manuale czytać, a nie kombinować. :)

ale jest pewna roznica ... to co zaproponowales nie odbierze wykonywalnosci plikom ktore takowa mialy nadana wczesniej ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#8  2009-02-21 06:16:55

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: chmod rekurencyjnie

bercik napisał(-a):

czadman napisał(-a):

Kod:

chmod -R u+rwX,g+srwX,o-rwXx *

Manuale czytać, a nie kombinować. :)

ale jest pewna roznica ... to co zaproponowales nie odbierze wykonywalnosci plikom ktore takowa mialy nadana wczesniej ...

No dobrze, drobna modyfikacja, wszak nie chodziło mi o szczegóły, ale o coś gorszego.... :)

Kod:

chmod -R u=rwX,g=srwX,o= *

http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#9  2009-02-21 09:14:44

  urug - Członek DUG

urug
Członek DUG
Skąd: Częstochowa
Zarejestrowany: 2008-04-22
Serwis

Re: chmod rekurencyjnie

Szczerze mówiąc, to ja już wolę rozwiązanie z find'em :-P
Jest milsze dla oka.


Pozdrawiam, Tomek

Offline

 

#10  2009-02-21 09:44:32

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: chmod rekurencyjnie

urug napisał(-a):

Szczerze mówiąc, to ja już wolę rozwiązanie z find'em :-P
Jest milsze dla oka.

A mój brat jest silniejszy. ;)

Find służy do szukania, a tu nie ma czego szukać, ale nawet najintymniejsze pragnienia można zaspokoić:

Kod:

find /home/test -exec chmod u=rwX,g=srwX,o= {} \;

Ostatnio edytowany przez czadman (2009-02-21 09:55:01)


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#11  2009-02-21 10:27:02

  urug - Członek DUG

urug
Członek DUG
Skąd: Częstochowa
Zarejestrowany: 2008-04-22
Serwis

Re: chmod rekurencyjnie

Find służy do szukania

Służy do tego, co potrafisz z nim zrobić :-)
Stosuję to 'motto' do wszystkich aplikacji z których korzystam i źle na tym nie wychodzę :P

Ostatnio edytowany przez urug (2009-02-21 10:28:28)


Pozdrawiam, Tomek

Offline

 

#12  2009-02-21 11:48:03

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: chmod rekurencyjnie

urug napisał(-a):

Find służy do szukania

Służy do tego, co potrafisz z nim zrobić :-)
Stosuję to 'motto' do wszystkich aplikacji z których korzystam i źle na tym nie wychodzę :P

Błądziłem po omacku, ale teraz otworzyłeś mi oczy i wiem jak postąpić. :)

Bye.


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#13  2009-02-21 15:19:17

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: chmod rekurencyjnie

czadman napisał(-a):

No dobrze, drobna modyfikacja, wszak nie chodziło mi o szczegóły, ale o coś gorszego.... :)

Kod:

chmod -R u=rwX,g=srwX,o= *

chodzilo mi o to:

man chmod napisał(-a):

execute/search only if the file  is  a  directory  or  already  has  execute permission for some user (X)

czyli:

Kod:

rrp@pc-n17:/tmp$ ls -l ttt/
razem 4,0K
-rw-r--r-- 1 rrp rrp    0  2009-02-21 15:16:00  ppp
-rwxr-xr-x 1 rrp rrp    0  2009-02-21 15:16:03  qqq
drwxr-xr-x 2 rrp rrp 4,0K  2009-02-21 15:16:31  yyy
rrp@pc-n17:/tmp$ chmod -R u=rwX,g=srwX,o= ttt/
rrp@pc-n17:/tmp$ ls -l ttt/
razem 4,0K
-rw-rwS--- 1 rrp rrp    0  2009-02-21 15:16:00  ppp
-rwxrws--- 1 rrp rrp    0  2009-02-21 15:16:03  qqq
drwxrws--- 2 rrp rrp 4,0K  2009-02-21 15:16:31  yyy

"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#14  2009-02-22 12:01:10

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: chmod rekurencyjnie

azhag napisał(-a):

najprościej chyba będie użyć finda z -exec

Kod:

find /home/test -type f -exec chmod 2660 '{}' ';'
find /home/test -type d -exec chmod 2770 '{}' ';'

gdybyś nie potrzebował rozróżnienia, wystarczyłaby flaga -R dla chmod

A ja mam takie pytanie co oznacza koncowka tych dwoch polecen?
'{}' ';'

Offline

 

#15  2009-02-22 13:07:17

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: chmod rekurencyjnie

Podstawia jako argument polecenia z -exec ścieżkę do znalezionego pliku/katalogu.

Notabene za dawnych czasów czytałem, że wykonując find z -exec, średnik należy poprzedzić odwrotnym ukośnikiem żeby przypadkiem nie został zinterpretowany przez powłokę jako zakończenie polecenia find. Coś się od tego czasu (czyt. w ciągu ostatniej dekady) zmieniło?

Offline

 

#16  2009-02-22 15:15:06

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: chmod rekurencyjnie

raczej sie nie zmienilo ... pojedyncze apostrofy tez zabezpieczaja przed powloka ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#17  2009-02-22 16:27:22

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: chmod rekurencyjnie

Oczywiście, nawet o tym nie pomyślałem :) .

Offline

 

#18  2009-02-22 18:01:08

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: chmod rekurencyjnie

Odpowiedź Minia wg mnie jest niesatysfakcjonująca.

Prostsza i, wg mnie lepsza, brzmi:
{} oznacza znaleziony plik (każdy po kolei, jak w pętli for), można używać wielokrotnie
; oznacza koniec polecenia z -exec.

Żeby znaki te nie zostały zinterpretowane przez powłokę, należy je otoczyć apostrofami lub odwrotnymi ukośnikami.


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#19  2009-02-22 21:47:13

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: chmod rekurencyjnie

azhag napisał(-a):

Odpowiedź Minia wg mnie jest niesatysfakcjonująca.

Prostsza i, wg mnie lepsza, brzmi:
{} oznacza znaleziony plik (każdy po kolei, jak w pętli for), można używać wielokrotnie
; oznacza koniec polecenia z -exec.

Żeby znaki te nie zostały zinterpretowane przez powłokę, należy je otoczyć apostrofami lub odwrotnymi ukośnikami.

Takie mialem przeczucie, ze tak to dziala, nie mialem tylko pojecia po co te apostrofy ;-)
Ale juz wszystko jasne.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)