ফ্রিবিএসডি এবং লিনাক্সেও আমি কীভাবে chmod
কোনও ফাইলের সংখ্যাসূচক মান পেতে পারি ? উদাহরণস্বরূপ, 644
পরিবর্তে -rw-r--r--
? বাশ স্ক্রিপ্টের জন্য আমার একটি স্বয়ংক্রিয় উপায় দরকার।
ফ্রিবিএসডি এবং লিনাক্সেও আমি কীভাবে chmod
কোনও ফাইলের সংখ্যাসূচক মান পেতে পারি ? উদাহরণস্বরূপ, 644
পরিবর্তে -rw-r--r--
? বাশ স্ক্রিপ্টের জন্য আমার একটি স্বয়ংক্রিয় উপায় দরকার।
উত্তর:
আপনি স্ট্যাট আউটপুট ফর্ম্যাট ব্যবহার করে সরাসরি মূল্য পেতে পারেন, যেমন BSD / OS X:
stat -f "%OLp" <file>
বা লিনাক্সে
stat --format '%a' <file>
এবং ব্যস্তবক্সে
stat -c '%a' <file>
busybox
ব্যবহারেরstat -c '%a' <file>
--format
সংক্ষিপ্ত করা যেতে পারে -c
। এটি কাজ করে:stat -c %a <file>
stat YOUR_FILE
গণনা করা স্ক্রিপ্ট না লিখে ব্যবহার করুন :
rwx rwx rwx ==> ( r = 4 ) if set + ( w = 2) if set + (x = 1) if set , for example:
You have :
-rw-wxrw- => (4+2+0)(0+2+1)(4+2+) = 0636
First argument before 9 permissions is one of :
- = regular file
d = directory
b = block device
c = character device
s = socket
p = pipe
f = fifo
উপায় দ্বারা, আমি ব্যবহার stat command
উপর Linux box
না freebsd
, কারণ এটি তদন্ত HFS
সম্ভবত এর সাথে কাজ UFS
।
FreeBSD box
, ব্যবহার stat -x YOUR_FILE
অধীনেFreeBSD box
stat -r YOUR_FILE |awk '{print $3}'
আপনার অনুমতি দেয়
666
বা কোড -rw-wxrw-
নয় প্রতিটি পাঠের অনুমতি সম্পর্কে ব্যাখ্যা সহ একটি পাঠ্য।
awk
সংখ্যাসূচক ফলাফল পুনরুদ্ধার করতে একটি লিখতে ভাল ।
অতিরিক্ত কিছু তথ্য এতে stat
:
$ stat -c %a file.txt
777
$ stat -c %A file.txt
-rwxrwxrwx
stat -f %A file.txt
ম্যাকের আওতায় রয়েছে, এটি 644 বা অন্য কোনও 3 ডিজিটাল নম্বর ফিরে আসবে।
সব তালিকা করার জন্য এই চেষ্টা করুন
stat --format "%a %n" *