'chmod + x' yerine 'chmod + x'

90

chmod u+x ve sadece chmod +x arasındaki fark nedir? Komut dosyalarını çalıştırılabilir yapmak için u + x kullanacağını söyleyen bir ton öğretici gördüm. Bununla birlikte, chmod yardımında veya kılavuzunda u belirtilmez. Bunu yapmanın da bir etkisi yok gibi görünüyor. Sadece onaylanmamış bir argüman mı? Teşekkürler.

    
sordu schwiz 08.03.2011 23:30

4 cevap

122

chmod adlı kullanıcının sayfası şunları kapsar.

  • u , kullanıcı anlamına gelir.
  • g grup anlamına gelir.
  • o başkalarını temsil eder.
  • a her şeyi temsil eder.

Yani, chmod u+x somefile 'si yalnızca bu dosya yürütme izinlerinin sahibini verirken chmod +x somefile ' si chmod a+x somefile ile aynıdır.

Chmod man sayfası şunları söylüyor:

  

Sembolik modun biçimi   % Co_de%.   Çoklu sembolik işlemler olabilir   verilen, virgülle ayrılmış.

     

'ugoa' harflerinin bir kombinasyonu   hangi kullanıcıların   dosya değiştirilecek: kullanıcı kim   sahip (u), dosyadaki diğer kullanıcılar   grup (g), diğer kullanıcılar   dosya grubu (o) veya tüm kullanıcılar (a). Eğer   bunların hiçbiri verilmez, etki   'a' verildi, ama bit   umask'ta ayarlananlar etkilenmez.

    
verilen cevap Octavian Damiean 08.03.2011 23:33
19

Sadece +x yapmak onu tüm bayraklara uygular: [u] ser, [g] roup, [o] thers.

Daha fazla bilgi için man chmod yazın.

    
verilen cevap matpie 08.03.2011 23:34
7

chmod u+x , dosyayı kullanıcı için yürütülebilir hale getirecektir (yalnızca kullanıcı için ekleyecektir, ancak grup sahibi tarafından zaten yürütülebilir olsa da, veya "diğer").

chmod +x veya chmod a+x ('all plus çalıştırılabilir bit'), dosyayı herkes tarafından yürütülebilir hale getirir.

Bunu bir dizine yaparsanız, bunun yerine dizini aranabilir hale getirir. Yani, + x iznine sahip olduğunuz bir dizinin içeriğini listeleyebilirsiniz.

    
verilen cevap belacqua 08.03.2011 23:51
1
  • chmod u+x file , umask değerini göz ardı ederek, yürütülebilir biti dosyanın sahibine eklemek demektir (Modunuz ayarlanamaz, soru sorulmaz).

  • chmod +x file , umask değerini göz önünde bulundurarak çalıştırılabilir biti, sahibi, grubu ve diğerlerine eklemek anlamına gelir (Önce umask ile kontrol edin, ardından modları uygulayın, umask'in değerine göre farklı etkileri olabilir).

İki dosya oluşturalım:

$ touch file1 file2
$ ls -l file1 file2
-rw-rw-rw- 1 ravexina ravexina 0 Aug  5 01:45 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug  5 01:45 file2

Artık, çalıştırılabilir bitleri kaldırmak için umask değerini "111" olarak ayarlıyorum: umask 111 .

$ chmod u+x file1
$ chmod  +x file2
$ ls -l file1 file2
-rwxrw-rw- 1 ravexina ravexina 0 Aug  5 01:47 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug  5 01:47 file2

Gördüğünüz gibi chmod , umask öğesini yoksaydı ve dosya1 sahibi için çalıştırılabilir biti elde etti, ancak ikincisi umask'in değerini düşündüğü için hiçbir şey yapmadı.

    
verilen cevap Ravexina 04.08.2017 23:21

Etiketlerdeki diğer soruları oku