میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

chmod - تغییر حالت فایل

برای تغییر حالت (مجوزها) یک فایل یا دایرکتوری، chmod دستور استفاده می شود. توجه داشته باشید که فقط مالک فایل یا ابرکاربر می تواند حالت یک فایل یا دایرکتوری را تغییر دهد. chmod از دو روش متمایز برای تعیین تغییرات حالت پشتیبانی می کند: نمایش اعداد هشتگانه یا نمایش نمادین. ابتدا نمایش عدد اکتال را پوشش خواهیم داد.


Octal چیست؟

اکتال (پایه 8) و پسر عموی آن، هگزا دسیمال (پایه 16) سیستم های اعدادی هستند که اغلب برای بیان اعداد در رایانه استفاده می شوند. ما انسان ها، به دلیل این واقعیت که ما (یا حداقل اکثر ما) با ده انگشت متولد شده ایم، با استفاده از سیستم عددی پایه 10 می شماریم. از سوی دیگر، رایانه ها تنها با یک انگشت متولد می شوند و بنابراین تمام شمارش خود را به صورت باینری انجام می دهند (پایه 2). سیستم اعداد آنها فقط دو عدد 0 و 1 دارد. بنابراین در باینری، شمارش به این صورت است:

0، 1، 10، 11، 100، 101، 110، 111، 1000، 1001، 1010، 1011...

در اکتال، شمارش با اعداد صفر تا هفت انجام می شود، مانند: 0، 1، 2، 3، 4، 5، 6، 7، 10، 11، 12، 13، 14، 15، 16، 17، 20، 21...

شمارش هگزادسیمال از اعداد صفر تا نه به اضافه حروف "A" تا "F" استفاده می کند:

0، 1، 2، 3، 4، 5، 6، 7، 8، 9، A، B، C، D، E، F، 10، 11، 12، 13...

در حالی که می‌توانیم حس را به صورت باینری ببینیم (از آنجایی که رایانه‌ها فقط یک انگشت دارند)، اکتال و هگزادسیمال برای چه چیزی مفید هستند؟ پاسخ به راحتی انسان مربوط می شود. بسیاری از اوقات، بخش‌های کوچکی از داده‌ها در رایانه‌ها به صورت نمایش داده می‌شوند الگوهای بیت. به عنوان مثال یک رنگ RGB را در نظر بگیرید. در اکثر نمایشگرهای کامپیوتر، هر پیکسل از سه جزء رنگی تشکیل شده است: هشت بیت قرمز، هشت بیت سبز و هشت بیت آبی. یک آبی متوسط ​​دوست داشتنی یک عدد 24 رقمی خواهد بود:

010000110110111111001101

چگونه دوست دارید این نوع اعداد را در طول روز بخوانید و بنویسید؟ من اینطور فکر نمی کردم. اینجا جایی است که یک سیستم اعداد دیگر کمک خواهد کرد. هر رقم در یک عدد هگزا اعشاری نشان دهنده چهار رقم در دودویی است. در اکتال، هر رقم نشان دهنده سه رقم باینری است. بنابراین آبی متوسط ​​24 رقمی ما می تواند به یک عدد هگزادسیمال شش رقمی متراکم شود:

436FCD

از آنجایی که ارقام موجود در عدد هگزادسیمال با بیت های عدد باینری مطابقت دارند، می توانیم ببینیم که جزء قرمز رنگ ما 43، سبز 6F و سی دی آبی است.

این روزها، نمادهای هگزا دسیمال (اغلب به صورت "هگز") رایج تر از هشتی است، اما همانطور که به زودی خواهیم دید، توانایی اکتال برای بیان سه بیت باینری بسیار مفید خواهد بود...


با نماد اکتال، از اعداد اکتال برای تنظیم الگوی مجوزهای مورد نظر استفاده می کنیم. از آنجایی که هر رقم در یک عدد اکتال نشان دهنده سه رقم باینری است، این به خوبی با عدد نگاشت می شود


طرح مورد استفاده برای ذخیره حالت فایل. این جدول منظور ما را نشان می دهد:


جدول 9-4: حالت های فایل در دودویی و اکتال


اکتبر

دوتایی

حالت فایل

0

000

---

1

001

--ایکس

2

010

-که در-

3

011

-wx

4

100

r--

5

101

rx

6

110

rw -

7

111

rwx

با استفاده از سه رقم اکتال می توانیم حالت فایل را برای مالک، مالک گروه و

جهان:



[me@linuxbox ~]$ > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2016-03-06 14:52 foo.txt [me@linuxbox ~]$ chmod 600 foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw------- 1 me me 0 2016-03-06 14:52 foo.txt

[me@linuxbox ~]$ > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2016-03-06 14:52 foo.txt [me@linuxbox ~]$ chmod 600 foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw------- 1 me me 0 2016-03-06 14:52 foo.txt


با تصویب آرگومان "600"، ما توانستیم مجوزهای مالک را برای خواندن و نوشتن تنظیم کنیم و در عین حال همه مجوزها را از صاحب گروه و جهان حذف کنیم. اگرچه یادآوری نگاشت اکتال به باینری ممکن است ناخوشایند به نظر برسد، معمولاً فقط باید از چند مورد معمول استفاده کنید: 7 (rwx) 6 (rw -) 5 (rx) 4 (r--) و 0 (---).

chmod همچنین از یک نماد نمادین برای تعیین حالت های فایل پشتیبانی می کند. نماد نمادین به سه بخش تقسیم می شود: این تغییر بر چه کسی تأثیر می گذارد، کدام عملیات انجام می شود و چه مجوزی تنظیم می شود. برای تعیین اینکه چه کسی تحت تأثیر قرار گرفته است، ترکیبی از نویسه‌های «u»، «g»، «o» و «a» به صورت زیر استفاده می‌شود:


جدول 9-5: نشانه گذاری نمادین chmod


معنی نماد

معنی نماد

u مخفف «user» اما به معنای مالک فایل یا دایرکتوری است.


g مالک گروه.



o مخفف «دیگران»، اما به معنای جهان است.


خلاصه ای برای «همه». ترکیب "u"، "g" و "o".



اگر هیچ کاراکتری مشخص نشده باشد، "همه" در نظر گرفته می شود. این عملیات ممکن است یک "+" باشد که نشان می دهد یک مجوز باید اضافه شود، یک "-" نشان می دهد که یک مجوز باید حذف شود، یا یک "=" که نشان می دهد فقط مجوزهای مشخص شده باید اعمال شوند و همه مجوزهای دیگر اعمال می شوند. قرار است حذف شوند.

مجوزها با کاراکترهای "r"، "w" و "x" مشخص می شوند. در اینجا چند نمونه از نمادهای نمادین آورده شده است:


جدول 9-6: مثال‌های نشانه‌گذاری نمادین chmod


معنی نشانه گذاری

معنی نشانه گذاری

u+x مجوز اجرا را برای مالک اضافه کنید.


ux مجوز اجرا را از مالک حذف کنید.


+x مجوز اجرا را برای مالک، گروه و جهان اضافه کنید.

معادل با a+x.


o-rw مجوز خواندن و نوشتن را از هر کسی بجز مالک و مالک گروه حذف کنید.


go=rw مالک گروه و هر کسی غیر از مالک را برای خواندن و نوشتن تنظیم کنید. اگر مالک گروه یا جهان قبلاً مجوزهای اجرا داشته باشند، حذف می شوند.


u+x,go=rx مجوز اجرا را برای مالک اضافه کنید و مجوزهایی را برای گروه و دیگران برای خواندن و اجرا تنظیم کنید. مشخصات چندگانه ممکن است با کاما از هم جدا شوند.



برخی از مردم ترجیح می دهند از نماد هشتگانه استفاده کنند، برخی از مردم واقعاً نماد را دوست دارند. نماد نمادین این مزیت را ارائه می دهد که به شما امکان می دهد یک ویژگی واحد را بدون ایجاد مزاحمت برای سایر ویژگی ها تنظیم کنید.

نگاهی به chmod صفحه مرد برای جزئیات بیشتر و لیستی از گزینه ها. یک کلمه احتیاط در مورد گزینه "--recursive": این گزینه بر روی فایل ها و دایرکتوری ها عمل می کند، بنابراین آنطور که انتظار می رود مفید نیست، زیرا ما به ندرت می خواهیم که فایل ها و دایرکتوری ها مجوزهای یکسانی داشته باشند.


برترین سیستم عامل Cloud Computing در OnWorks: