Aşağıdaki komutla garip bir sorunum var:
# chown -R myuser:mygroup *
chown: invalid option -- 'i'
Try 'chown --help' for more information.
komut takma ad değil
# type chown
chown is hashed (/bin/chown)
Daha fazla nereye bakabilirim?
Aşağıdaki komutla garip bir sorunum var:
# chown -R myuser:mygroup *
chown: invalid option -- 'i'
Try 'chown --help' for more information.
komut takma ad değil
# type chown
chown is hashed (/bin/chown)
Daha fazla nereye bakabilirim?
Yanıtlar:
Glob (pathname) genişletmesi önce chownçalıştırma tarafından kabuk tarafından yapıldığından , glob deseni önce *geçerli dizindeki tüm dosyalara genişletilir ve chownbunları seçenekleri ve argümanları olarak alır. Geçerli dizinde, ile başlayan bir dosyanız var -i, bu nedenle dosyayı chownargüman (dosya adı) olarak değil, bir seçenek olarak görüyorsunuz.
--Aşağıdakiler için seçeneklerin sonunu belirtmek için kullanmanız gerekir chown:
chown -R myuser:mygroup -- *
Veya açıkça argüman olarak belirtmek için glob kalıbının ( *) önüne ./geçin:
chown -R myuser:mygroup ./*
chown -R myuser:mygroup ./*, bu böler chown, -R, myuser:mygroup, ./*ve daha sonra örneğin karşılık gelen dosya sistemi yolları ile topak biçimlerinin yerine. chown, -R, myuser:mygroup, ./-index.html, ./favicon.ico, ./My -ve Numbers. Chown seçenek argümanlarını ararken yalnızca ilk karakterin tire işareti aradığından, bunların konumsal argümanlar olduğunu varsayar.
Sorun -index.phpklasörde adlandırılan bir dosyaydı, bu nedenle chown onu komut satırı seçeneği olarak yorumladı.
Çözüm çift tireleri kullanıyor chown -R myuser:mygroup -- *
chown -R myuser:mygroup ./*