Nasıl yinelemeli yürütmek do chmod
veya chown
gizli dosyalar için?
sudo chmod -R 775 *
Gizli dosyalar üzerinde çalışmaz.
Aynı şey için de geçerli sudo chown -R user:group
.
Nasıl yinelemeli yürütmek do chmod
veya chown
gizli dosyalar için?
sudo chmod -R 775 *
Gizli dosyalar üzerinde çalışmaz.
Aynı şey için de geçerli sudo chown -R user:group
.
Yanıtlar:
Ayrıca, geçerli dizini de temizlemeniz yeterliyse, -R
bunu yapın ve ağır kaldırma işlemini yapın. -R
gizli dosyaları görmezden gelmez.
sudo chmod -R 775 .
ls
alınamaz; ayrıştırmaya çalışıyorum sorun istiyor. Doğru yaklaşım, kabuk toplamanın kullanılmasıdır.
sudo chmod 775 -R
yukarı yuvarlanmak, bu yüzden bu cevaba sadık kalmak. .
*
varsayılan olarak gizli dosyaları içermez, ancak bash iseniz, bunu ile yapabilirsiniz:
shopt -s dotglob
Bash builtin
el kitabında bu konuda daha fazla bilgi edinin :
Ayarlanırsa, Bash `` ile başlayan dosya adlarını içerir. dosya adı genişletme sonuçlarında.
Bu da *
gizli dosyaları içerecektir.
chmod -R 775 *
Şununla devre dışı bırak:
shopt -u dotglob
zsh
?
(D)
globbing eleme, örneğinchmod -R 775 *(D)
Geçerli dosyalardaki tüm dosyalar, gizli dosyalar dahil, tekrar tekrar kullanılır:
chmod 755 -R ./* ./.[!.]*
Geçerli dosyalardaki tüm dosyalar , gizli dosyalar dahil , tekrarlı bir şekilde değil :
chmod 755 ./* ./.[!.]*
Bu, örneğin 2 noktadan başlayan bir istisna dosya adını değiştirmez. "./..thisonescapesunharmed.txt"
Ayrıca, "x" bitini çıkarmamaya dikkat edin, aksi halde tüm dizinlerinize erişilemez (biri x bit'in bir dizine cdlenmesi gerekir).
Bu uyarıyı hatırlayın: çıplak kullanmak asla *
ama ./*
bunun yerine.
Dizinlerde izinleri ayarlama sorunlarını önlemek için, find
yerine kullanın.
find . -type f -exec chmod `VALUE` {} \;
* .*
) bunu yapmanın en güvenli yolu değildir. Özellikle, ana dizine tekrar girer, buchmod
da geçerli dizinin kardeşleri anlamına gelir . Doğru yol,* ..?* .[^.]*
veya daha da iyi olurdu (joker karakterlerin hiçbir dosyayla eşleşmeyebileceğini düşünüyoruz)$(ls -A)
.