2013-02-13 27 views
11

numaralı telefondan alabilir. Bu işlem gerçekten çok kolay olmalı, ancak tamamen boş olmalıdır. Ben (manuel dönüşüm yaparak dışarı ile) chmod 755 otherFile.sh gibi chmod ile kullanılmak üzere bir dizi içine çevirmek nasılUNIX/Linux/Mac OSX, dosyanın iznini

-rwxr-xr-x 1 james staff 68 8 Feb 13:33 basic.sh* 
-rw-r--r-- 1 james staff 68 8 Feb 13:33 otherFile.sh* 

: Ben böyle bir şey verebilir -la hangi ls kullanarak dosyaların izni görebilirsiniz.

+1

Araştırmanızı daha kolay hale getirebilecek bir not: Mac OS X, BSD UNIX'tir ve sorunun çözümünde herhangi bir UNIX yöntemi de kullanılabilir. (Pek çok Linux yolu gibi.) – Jesper

+0

Bu harika bir tavsiye, teşekkürler @Jesper. – AJP

cevap

18

stat -f "%Lp" [filename] çalışır.

+0

10.7.5 – AJP

+0

üzerinde çalışmıyor. Garip, 10.7'deki "stat" in mana sayfası, bu seçeneklerin 10.8'deki gibi çalışması gerektiği gibi görünmesini sağlıyor. Ne hatayı alıyorsun? –

+1

Hmmm, bu garip, cevabın şöyle bir şey olduğunu düşündüm: "stat -c"% a% w "[dosyaadı]' çalışmıyor. Cevabın işe yarıyor. – AJP

1

ls yerine stat komutunu kullanabilmeniz gerekir. manpage bakarak, bu dosya izinleri almak için çalışması gerekir:

for f in dir/* 
do 
    perms=$(stat -f '0%Hp%Mp%Lp' $f) 
    echo "$f has permissions $perms" 
done 

(şu anda benim Mac de değilim ve bu nedenle bunu test edemez rağmen). OS X 10.8'de benim için

+0

@AJP, manpage hakkında daha fazla çalışma, tüm dosya izinlerini almak için Hp, Mp ve Lp belirtmeniz gerektiğini düşünüyorum. Lütfen düzenlememe bakın. – trojanfoe

+0

evet düzenlemem sadece '755' parçasını istediğimi göstermek için, okuma, yazma ve yürütme izinlerini değiştirmek için chmod ile kullanabildiğimi göstermekti. Ama cevabınız tüm izinleri veriyor. – AJP

+0

@AJP Her iki cevabın nasıl doğru olabileceğini anlamıyorum. “Stat -f '% Hp% Mp% Lp'' ** ve **' stat -f'% Lp '' aynı sonuçları verdiğini mi söylüyorsunuz? – trojanfoe