ممكن است گاهي اوقات نمايش سطوح دسترسي فايل و فولدرها به جاي اينكه به صورت rwx باشد، به شكل octal براي شما مفيدتر باشد و يا شايد شما بخواهيد هر دو شكل را ببينيد.
به جای اینکه از دستور قدیمی و خوب ls -l استفاده کنید، در بیشتر توزیع های لینوکسی پیشرفته (البته نه همه) شما دستور "stat" رو پيدا خواهيد كرد كه یک ابزار براي نمايش وضعیت file یا filesystem ميباشد.
زماني كه دستور را بدون argument و تنها با يك نام فايل به همراهش اجرا كنيم، نمايش خوبي از اطلاعات فايل يا فولدر خواهيم گرفت. اگر با آپشن -c استفاده شود به شما امكان مشخص كردن يك فرمت خروجي را خواهد داد. اين آپشن يكي از موارد جالب براي ماست.
برای نمایش سطح دسترسی تمام فایل ها در دایراکتوری جاری به صورت octal دستور زیر را تایپ کنید :
نمونه خروجی :
توضیحات کامند بالا :
%n : به معنی file name میباشد.
%a : به معنی سطح دسترسی به صورت octal میباشد.
همچنين شما مي توانيد آرگومان %a را به %A اضافه كنيد تا به دستور stat پاس داده شود و پرميژنها را به فرمت rwx هم مشاهده كنيد. (مشاهده هر دو فرمت)
نمونه خروجی :
نمونه خروجی :
برای دیدن file type در خروجی، شما میتوانید آپشن %F را به ترتیب اضافه کنید :
چندين فرمت ديگر هم هست كه ميتوانيد مشخص كنيد براي اين منظور به صفخه man دستور stat رجوع كنيد :
در این مقاله کوتاه، یکی از ابزارهای مهم لینوکسی به نام stat را مورد بحث قرار دادیم، که به شما برای نمایش وضعیت یک فایل یا فایل سیستم کمک میکند. ما تمرکز اصلی مان در اینجا تبدیل سطوح دسترسی rwx از خروجی دستور سنتی ls -l به صورت octal بوده است.
همانطور که قبلا ذکر شده بود، بسیاری از توزیع های پیشرفته لینوکسی ابزار stat را دارند. اما همیشه باید به خاطر داشته باشید که ممکن است shell شما stat با ورژن مربوط به خودش (ورژن stat در همان شل) را بهمراه داشته باشد، بنابراین برای کسب اطلاعات بیشتر درباره آپشن ها و اینکه چطور از آن استفاده کنید به داکیومنت های shell خودتان مراجعه کنید.
به جای اینکه از دستور قدیمی و خوب ls -l استفاده کنید، در بیشتر توزیع های لینوکسی پیشرفته (البته نه همه) شما دستور "stat" رو پيدا خواهيد كرد كه یک ابزار براي نمايش وضعیت file یا filesystem ميباشد.
زماني كه دستور را بدون argument و تنها با يك نام فايل به همراهش اجرا كنيم، نمايش خوبي از اطلاعات فايل يا فولدر خواهيم گرفت. اگر با آپشن -c استفاده شود به شما امكان مشخص كردن يك فرمت خروجي را خواهد داد. اين آپشن يكي از موارد جالب براي ماست.
برای نمایش سطح دسترسی تمام فایل ها در دایراکتوری جاری به صورت octal دستور زیر را تایپ کنید :
کد PHP:
# stat -c '%n %a' *
کد PHP:
[root@linux-zone log]# stat -c '%n %a' *
anaconda.ifcfg.log 600
anaconda.log 600
anaconda.program.log 600
anaconda.storage.log 600
anaconda.syslog 600
anaconda.xlog 600
anaconda.yum.log 600
asterisk 755
yum.log 600
توضیحات کامند بالا :
%n : به معنی file name میباشد.
%a : به معنی سطح دسترسی به صورت octal میباشد.
همچنين شما مي توانيد آرگومان %a را به %A اضافه كنيد تا به دستور stat پاس داده شود و پرميژنها را به فرمت rwx هم مشاهده كنيد. (مشاهده هر دو فرمت)
کد PHP:
# stat -c '%n %A' *
کد PHP:
[root@linux-zone log]# stat -c '%n %A' *
anaconda.ifcfg.log -rw-------
anaconda.log -rw-------
anaconda.program.log -rw-------
anaconda.storage.log -rw-------
anaconda.syslog -rw-------
anaconda.xlog -rw-------
anaconda.yum.log -rw-------
asterisk drwxr-xr-x
audit drwxr-x---
boot.log -rw-r--r--
کد PHP:
[root@linux-zone log]# stat -c '%n %a %A' *
anaconda.ifcfg.log 600 -rw-------
anaconda.log 600 -rw-------
anaconda.program.log 600 -rw-------
anaconda.storage.log 600 -rw-------
anaconda.syslog 600 -rw-------
anaconda.xlog 600 -rw-------
anaconda.yum.log 600 -rw-------
asterisk 755 drwxr-xr-x
کد PHP:
# stat -c '%c -F %a'
کد PHP:
# man stat
همانطور که قبلا ذکر شده بود، بسیاری از توزیع های پیشرفته لینوکسی ابزار stat را دارند. اما همیشه باید به خاطر داشته باشید که ممکن است shell شما stat با ورژن مربوط به خودش (ورژن stat در همان شل) را بهمراه داشته باشد، بنابراین برای کسب اطلاعات بیشتر درباره آپشن ها و اینکه چطور از آن استفاده کنید به داکیومنت های shell خودتان مراجعه کنید.