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.