ফাইন্ড কমান্ডের সাথে পাওয়া একাধিক ফাইলের অনুমতি কীভাবে পরিবর্তন করবেন?


11

আমার কাছে অসংখ্য ফাইল সহ একটি ডিরেক্টরি রয়েছে। ফাইলগুলির একটি অংশের 755অনুমতি রয়েছে এবং অন্য অংশের 644অনুমতি রয়েছে। আমি 755অনুমতিতে ফাইলগুলিতে রূপান্তর করতে চাই 644। আমি নীচের লাইনটি ডিরেক্টরি থেকে এটি চালিয়ে চেষ্টা করেছি:

find . -perm 755 -exec chmod 644 {}\;

তবে ফলস্বরূপ, অনুমতিটি কেবল ডিরেক্টরি নিজেই পরিবর্তিত হয়েছিল এবং এটি আবার পরিবর্তন করার পরে আমি জানতে পারি যে ফাইলগুলির অনুমতিগুলি অপরিবর্তিত রয়েছে। আমি কি কিছু মিস করছি?


আপনার কমান্ড ডিরেক্টরি থেকে এক্সিকিউটেবল বিটটি সরিয়ে দেয়, এটির chdir করা এবং এতে থাকা ফাইলগুলি লক্ষ্য করা অসম্ভব করে তোলে। এজন্য কমান্ডটি কাজ করছে বলে মনে হচ্ছে না। find ./ -type f -exec chmod -x {} \;পরিবর্তে চেষ্টা করুন।
শাদুর

উত্তর:


17

ঠিক আছে, মনে হচ্ছে সমস্যাটি আমি খুঁজে পেয়েছি। দেখে মনে হচ্ছে এবং এর মধ্যে অবশ্যই একটি বাধ্যতামূলক স্থান থাকতে হবে , সুতরাং কমান্ডটি এর মতো দেখাবে:{}\;

find . -perm 755 -exec chmod 644 {} \;

বরং:

find . -perm 755 -exec chmod 644 {}\;

এছাড়াও ডিরেক্টরি অনুমতিগুলি পরিবর্তন করার সাথে একটি -type fপতাকা যুক্ত করে সমাধান করা যেতে পারে , সুতরাং এটি নীচের মত দেখতে পাবেন:

find . -type f -perm 755 -exec chmod 644 {} \;

6
আপনি তৈরি সাবপ্রসেসের সংখ্যা হ্রাস করার +পরিবর্তে ব্যবহার করতে পারেন \;
কেভিন

-type dডিরেক্টরি খুঁজে পাবেন। -type fফাইল খুঁজে পেতে হবে।
মিক টি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.