chmod ফাইলগুলি কেবলমাত্র সমস্ত উপ-ডিরেক্টরিতে


54

দয়া করে কেউ আমাকে chmod সাথে সহায়তা করুন, আমার নিম্নলিখিত ফাইলের কাঠামো রয়েছে

-dir1
--file1
--file2
--dir1a
---file1a1
---file1a2
--dir1b
---file1b1
---file1b2

আমি dir1 এবং সমস্ত সাবডিরের অধীনে সমস্ত ফাইলগুলিতে 655 কে কীভাবে chmod করব? সুতরাং সমস্ত ফাইলের 655 অনুমতি থাকবে এবং সমস্ত দির যেমন ছিল তেমন থাকবে।

ধন্যবাদ

উত্তর:


108

ব্যবহার করা ভাল

find . -type f -exec chmod 655 -- {} +

@ সাগরচালাইস থেকে প্রস্তাবিত অন্যান্য সমাধান যদি ফাইলের নামগুলিতে ফাঁক থাকে বা ড্যাশ দিয়ে শুরু করে তবে কাজ করবে না।


16
সম্পর্কিত, সমস্ত ডিরেক্টরি chmod করতে আপনি ব্যবহার করতে পারেন find . -type d -exec chmod 755 {} +সমস্ত ডিরেক্টরি 755- এ পরিবর্তিত করতে পারেন
— ক্রিস হার্পার

2
+ কিসের জন্য?
— ব্রেটস্কি

3
@ ব্রেটস্কি: ফাইল পাথের তালিকাতে (বা এটির অংশ যদি খুব দীর্ঘ হয় তবে) +সাইনটি প্রসারিত করা findহবে।
— enzotib

3
কি জন্য - জন্য?
— ওরিয়েন্ট

2
--কমাণ্ড লাইন অপশন সম্বন্ধে শেষ নির্দেশ করে। এটি হাইফেন দিয়ে শুরু হওয়া কোনও ফাইলকে কমান্ড লাইন বিকল্প হিসাবে ব্যাখ্যা করা থেকে বাধা দেয় কারণ এটি পরে আসবে --।
— টিম টিসডাল

8

আমি মনে করি ভিতরে যাচ্ছি dir1এবং

find . -type f | xargs chmod 655

কৌতুক করবে


খুব কাজ করে কিন্তু আমি "না এমন ফাইল অথবা ডাইরেক্টরি" সঙ্গে কিছু সতর্কতা পেয়েছেন
— netic

@ মানেটিক: এটি আমার উত্তর হিসাবে যেমনটি ফাঁকা স্থান রয়েছে সেগুলির উপর নির্ভর করে।
— এনজোটিব

4
সম্পূর্ণতার জন্য, এটির জন্য এটি পরিবর্তন করা। -প্রকার চ-প্রিন্ট 0 | xargs -0 chmod 655 স্পেসের সমস্যার সমাধান করবে বলে আমি বিশ্বাস করি, যদিও @ এনজোটিবের উত্তর আরও সংক্ষিপ্ত
— ম্যাট ফ্রেকে

কি অনুজ্জ্বল freake বলেন
— Sergiy Kolodyazhnyy
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.