একটি ডিরেক্টরিতে সমস্ত ডিরেক্টরি নির্বাচন করার জন্য ওয়াইল্ড কার্ড কী


13

আমি ফাইলগুলি বাদ দিয়ে কোনও ডিরেক্টরিতে সমস্ত ডিরেক্টরিতে স্টিকি বিট সেট করতে চাই। এটি করার জন্য কোনও ওয়াইল্ড কার্ড আছে?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>

উত্তর:


24

*/শুধুমাত্র ডিরেক্টরি মেলে ব্যবহার করুন ।

chmod g+s /var/www/*/

সমস্ত ডিরেক্টরি এবং উপ-ডিরেক্টরি ব্যবহারের সাথে মিল রাখতে **/*/( globstarআপনি বাশ সক্রিয় করেছেন):

shopt -s globstar
chmod g+s /var/www/**/*/

2
ভাল কাজ করে তবে প্রসারিত কমান্ড লাইনের দৈর্ঘ্য কমান্ড লাইনের দৈর্ঘ্য সীমা ছাড়িয়ে যাওয়ার সাথে সাথেই তা ভেঙে যাবে। -> cyberciti.biz/faq/argument-list-too-long-error-solution
Bonsi স্কট

1
হ্যাঁ, আমি এটি সম্পর্কে ভালভাবে অবগত। তবে ওপি "ওয়াইল্ডকার্ড" চেয়েছিল।
কুকবনে 4'13

হ্যাঁ! আমি ওয়াইল্ডকার্ড চেয়েছিলাম, থানক।
নেকটবি

আমি জানি যে তিনি একটি ওয়াইল্ডকার্ড-সমাধান চেয়েছিলেন। আমি কেবল উল্লেখ করেছি যে এটি কিছু পরিস্থিতিতে ব্যর্থ হবে। অন্য যে এখানে দেখার জন্য কোনও সমালোচক (আমি এখনও আপত্তিযুক্ত মন্তব্য করিনি, কারণ এটি বেশিরভাগ ক্ষেত্রে কার্যকর সমাধান) ^^
বনসী স্কট

13

আপনি খুঁজে পেতে পারেন, নীচের উদাহরণ দেখুন

find /var/www/ -type d -exec chmod g+s {} \;

3
এটি দুর্দান্ত, তবুও কোনও ওয়াইল্ডকার্ড নয় - তবে এটি অনেকগুলি ডিরেক্টরিতে ব্যর্থ না হওয়ার সুবিধা রয়েছে
বনস স্কট

নোট করুন যে এটি ডিফল্টরূপে পুনরাবৃত্ত হয়। আপনি যদি কেবলমাত্র আপনার আদেশটি শীর্ষ স্তরে প্রয়োগ করতে চান তবে আপনি -maxdepth findযুক্তিটি ব্যবহার করতে পারেন ।
ক্রিস হার্পার

0

এই একটি ওয়াইল্ড কার্ড নয় তাই আমি একটি অ-উত্তরের জন্য ক্ষমাপ্রার্থী, তবে ...
ls -al |grep ^d | awk '{print$NF}'বর্তমান দির সব ডিরেক্টরি তালিকা প্রস্তুত করা যাবে, যদি আপনি প্রক্রিয়া করতে চান সিদ্ধান্ত নিতে আপনার উপর নির্ভর করে .এবং ..বা তাদের স্ট্রিপ।

echo $(ls -al |grep ^d | awk '{print$NF}') এটি একটি ওয়াইল্ডকার্ডের মতো আচরণ করে


আপনার ফাইলগুলিতে শীর্ষস্থানীয় বা শ্বেত স্পেস, বা নিউলাইনগুলি থাকলে তা ভঙ্গ হবে।
ক্রিস ডাউন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.