কিভাবে সব ফাইল ডিরেক্টরি প্রভাবিত ছাড়া ব্যবহার করে recursively অ এক্সিকিউটেবল করতে?


4

আমি নির্দিষ্ট ফাইল এবং সাব ডিরেক্টরি মধ্যে সব ফাইল থেকে এক্সিকিউটেবল পতাকা ফালা প্রয়োজন। এই মুহূর্তে আমি এটি একটি 2 পদক্ষেপ প্রক্রিয়া সঙ্গে করছি

find /dir/ -type f -exec chmod ugo-x {} \;
find /dir/ -type d -exec chmod ugo+rx {} \;

প্রথম লাইনটি সংশোধন করা কি সম্ভব যাতে আমি সমস্ত অ-ডিরেক্টরি ফাইল থেকে অ্যাক্সেস পতাকাটি ফাঁক করতে পারি? যেহেতু এটি অনেকগুলি ডিরেক্টরি এবং ফাইলগুলিতে মোটামুটি নিয়মিত ভিত্তিতে করা প্রয়োজন, তাই আমি একটি ব্যাশ স্ক্রিপ্ট ব্যবহার করতে পছন্দ করি না যা এটি হ্রাস করবে।


কৌতূহল আউট, আপনার বর্তমান কমান্ড সঠিকভাবে কি না? দ্য -type f পূর্বনির্ধারিত ইতিমধ্যে সমস্ত ফাইল নির্বাচন করে (অথবা সমানভাবে, সমস্ত অ-ডিরেক্টরি ফাইল, যেহেতু একটি ফাইল যা কোনও ডিরেক্টরিও হতে পারে না)।
David Z

@ ডেভিড: সকেট, ফিফো, সিমলিংক, ডিভাইস ইত্যাদি
Ignacio Vazquez-Abrams

@ ইগনাসিও: হ্যাঁ, কিন্তু প্রশ্নটি ফাইল সম্পর্কে ছিল, না অন্যান্য সমস্ত নন-ফাইল জিনিস।
David Z

@ ডেভিড: এটি * নিক্স। সবকিছু একটি ফাইল।
Ignacio Vazquez-Abrams

1
@ ইগনাসিও: সবকিছুই একটি ফাইল সিস্টেমের পথ আছে, নিশ্চিত, কিন্তু আপনি সর্বদা বলতে পারেন না যে সবকিছু আসলে একটি ফাইল। কিছু লোক কাজ করে তবে অন্যরা নিয়মিত ফাইলের অর্থে "ফাইল" ব্যবহার করে, অর্থাত্ এমন কিছু যা মিলে যায় -type f পূর্বাভাস find। আমার কাছে, এই প্রশ্নের শব্দের জোরালো অর্থ সুপারিশ।
David Z

উত্তর:


4
find ... '!' -type d ...

ধন্যবাদ, আমি অপারেটরদের খুঁজে পেতে বুঝতে পারছি না। আমি তাদের ছাড়া কাজ পেতে পরিচালিত হিসাবে একক উদ্ধৃতি প্রয়োজনীয়?
wting

1
এটা আপনার শেল এবং তার বিকল্প উপর নির্ভর করে। ব্যাশ ব্যবহার করে ! ইতিহাস সম্প্রসারণে, তাই CLI এ এটি উদ্ধৃত করা একটি ভাল ধারণা। আপনি সম্ভবত একটি স্ক্রিপ্ট এটি প্রয়োজন হবে না যদিও।
Ignacio Vazquez-Abrams

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