जवाबों:
मुझे पूरा यकीन है कि -R
झंडा काम करता है - यह हमेशा मेरे लिए वैसे भी होता है। क्या काम नहीं करेगा, और मेरी कमांड लाइन के उपयोग में मुझे जल्दी क्या मिला, *
छिपी हुई फ़ाइलों / निर्देशिकाओं के साथ निर्देशिका में उपयोग कर रहा है। इसलिए कर रहे हैं
$ chown -R /home/user/*
छिपी हुई फ़ाइलों और निर्देशिकाओं को नहीं करेगा। हालाँकि अगर आप इसका पालन करते हैं
$ chown -R /home/user/.[^.]*
फिर आप सभी छिपी हुई फाइलें करेंगे, (लेकिन ऐसा नहीं करेंगे .
या ..
जैसा /home/user/.*
करेंगे)। यह सब कहने के बाद, मैं उम्मीद करूंगा
$ chown -R /home/user
सभी छिपी हुई फ़ाइलों और निर्देशिकाओं को अंदर लाने के लिए /home/user
- हालांकि वह निश्चित रूप से निर्देशिका की अनुमतियों को भी बदल देगा, जो कि आप का इरादा नहीं हो सकता है।
chown nginx:nginx -R /path/to/.[^.]*
और यह केवल छिपी हुई फ़ाइलों को .dot करने के लिए स्वामित्व बदल गया। सब नहीं।
*
पालन करना चाहिए और उसका पालन करना चाहिए .[.^]*
।
मेरा मानना है कि इसके लिए निम्नलिखित कमांड को काम करना चाहिए
chown -hR userid:usergroup /nameofdirectory/nameofsubdir/
"chown -R" काम करता है, लेकिन एक विकल्प खोज का उपयोग करेगा।
find /path/to/dir -exec chown USER {} \;
+
बजाय ;
टर्मिनेटर के रूप में उपयोग करना -exec अधिक कुशल होगा क्योंकि यह फ़ाइल / निर्देशिका के बजाय एक कांटा की न्यूनतम आवश्यक संख्या का उपयोग करेगा / निर्देशिका
के लिए लूप के साथ का उपयोग ls -A
विकल्प, हम सब छिपा फ़ाइलों पा सकते हैं और निर्देशिका को बाहर .
और ..
और फिर सभी छिपा फ़ाइलों और निर्देशिका के लिए स्वामित्व बदल जाते हैं।
for i in `ls -A | grep "^\."`;do chown -R user:group $i;done
के xargs
साथ विकल्प का उपयोग करेंls -A
ls -A | grep "^\." | xargs chown user:group
अधिक जानकारी के लिए यहां क्लिक करें और मेरी साइट पर जाएं
इसके अलावा, अगर आप मेरे जैसे हैं, तो आप संभवतः वर्तमान निर्देशिका से ही चलेंगे। मैं इसे इस तरह से चलाने का आदी था chown rails.rails -R *
:। बस तारांकन चिह्न को एक डॉट (वर्तमान निर्देशिका के लिए छोटा) में इस तरह बदलना: chown rails.rails -R .
सभी छिपी निर्देशिकाओं में लाता है।
chown
छिपी हुई फ़ाइलों और निर्देशिकाओं के साथ काम करेगा। निम्नलिखित उदाहरण में, हम सभी फ़ाइलों के लिए उपयोगकर्ता और समूह के स्वामित्व को बदल देंगे ~/some/folder
। सभी फाइलों में स्तर और नीचे सभी छिपी हुई फाइलें (जैसे .bashrc
, .profile
आदि) और फ़ोल्डर्स शामिल ~/some/folder
हैं। विशेष रूप से ध्यान दें कि हम स्वामित्व को बदलना नहीं चाहते हैं ~/some
, और इसलिए हम फ़ाइल ~/some/..
को स्वामित्व परिवर्तन से बाहर कर देंगे ।
$ cd ~/some/folder
$ sudo chown -R usrname:grpname .
$
आप कुछ ऐसा कर सकते थे
for i in `ls -A`;do chown -R user:group $i;done
-A
( राजधानी ए) यह शामिल नहीं के रूप में महत्वपूर्ण है '।' तथा '..'
chown
निर्देशिका पर दुष्प्रभाव यह है कि आप निर्देशिका खुद के साथ-साथ इसकी सामग्री है, जो या नहीं हो सकता है हो सकता है कि आप क्या चाहते के सभी पर अनुमतियों को बदलने की है।