اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

دستور stat برای تبدیل Permission های rwx به فرمت عددی در Linux

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    دستور stat برای تبدیل Permission های rwx به فرمت عددی در Linux

    ممكن است گاهي اوقات نمايش سطوح دسترسي فايل و فولدرها به جاي اينكه به صورت rwx باشد، به شكل octal براي شما مفيدتر باشد و يا شايد شما بخواهيد هر دو شكل را ببينيد.

    به جای اینکه از دستور قدیمی و خوب 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-
    برای دیدن file type در خروجی، شما میتوانید آپشن %F را به ترتیب اضافه کنید :
    کد PHP:
    # stat -c '%c -F %a' 
    چندين فرمت ديگر هم هست كه ميتوانيد مشخص كنيد براي اين منظور به صفخه man دستور stat رجوع كنيد :
    کد PHP:
    # man stat 
    در این مقاله کوتاه، یکی از ابزارهای مهم لینوکسی به نام stat را مورد بحث قرار دادیم، که به شما برای نمایش وضعیت یک فایل یا فایل سیستم کمک میکند. ما تمرکز اصلی مان در اینجا تبدیل سطوح دسترسی rwx از خروجی دستور سنتی ls -l به صورت octal بوده است.

    همانطور که قبلا ذکر شده بود، بسیاری از توزیع های پیشرفته لینوکسی ابزار stat را دارند. اما همیشه باید به خاطر داشته باشید که ممکن است shell شما stat با ورژن مربوط به خودش (ورژن stat در همان شل) را بهمراه داشته باشد، بنابراین برای کسب اطلاعات بیشتر درباره آپشن ها و اینکه چطور از آن استفاده کنید به داکیومنت های shell خودتان مراجعه کنید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 08-30-2019, 06:50 PM.
در حال انجام ...
X