جدول محتوایی
فایل های اجرایی در لینوکس
در خط فرمان لینوکس تازه کار هستید و نمیدانید چگونه یک اسکریپت bash یا فایل های اجرایی دیگری بسازید؟ در این پست آموزشی میتوانید نحوه انجام آن را ببینید. خرید هاست لینوکس.
هر فایلی که در یک سیستم فایل سازگار با POSIX (Ext4، Btrfs، XFS، JFS و غیره) قرار دارد، “بیت های حالت” به خود اختصاص داده است. برای تنظیم بیت حالت اجرایی، از دستور chmod به صورت زیر استفاده می شود. همچنین با آن می توانید فایل مذکور را از ترمینال اجرا کنید:
chmod u+x <file>
./file
کد هایی که بالا استفاده کردیم یک خلاصه بود تا پیش زمینه ای برایتان فراهم شود. در ادامه، بطور دقیق تر نحوه ایجاد فایل اجرایی را به آموزش میدهیم.
ساخت فایل اجرایی در لینوکس
راه های مختلفی وجود دارد که می توانید یک فایل را در لینوکس قابل اجراکنید. رایج ترین روش ها شامل استفاده از دستور chmod به روش های مختلف است. برای بررسی اینکه آیا می توانید یک فایل را اجرا کنید، از فلگ -l با دستور ls استفاده کنید.
$ ls -l lhb.txt -rw-r--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt
در ستون اول، -rw-r–r– نشان می دهد که مالک می تواند بخواند و بنویسد، کاربران گروه فقط می توانند بخوانند و بقیه فقط می توانند فایل را بخوانند. به عدم وجود x در نمادهای مجوز توجه کنید. این بدان معنی است که lhb.txt قابل اجرا نیست.
روش 1: اجرایی کردن فایل برای همه
اولین روش و ساده ترین روش این است که با استفاده از دستور زیر یک فایل قابل اجرابسازید:
chmod +x <file>
پرچم x برای تنظیم یا لغو تنظیم مجوز اجرایی یک فایل است. و استفاده از علامت + قبل از x به این معنی است که می خواهیم آن را به عنوان یک فایل اجرایی تنظیم کنیم. این باعث می شود که فایل برای مالک، گروه و سایر افراد قابل اجرا باشد. هر کس در سیستم، می تواند آن را نیز اجرا کند.
$ ls -l lhb.txt -rw-r--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt $ chmod +x lhb.txt $ ls -l lhb.txt -rwxr-xr-x 1 pratham staff 0 Mar 10 20:49 lhb.txt
همانطور که اکنون می بینید، همه، مالک، گروه و دیگران مجموعه بیت x قابل اجرا را دارند. این بدان معناست که همه می توانند این فایل را اکنون اجراکنند.
روش 2: فایل را فقط برای کاربر یا گروه خاصی قابل اجرا کنید.
اگر نمیخواهید همه را قادر به اجرای یک فایل کنید، باید قبل از افزودن/حذف مجوزهای فایل، کلاسها را مشخص کنید. کلاس های موجود عبارتند از:چ
- u : مجوزهای مالک/کاربر
- g: مجوزهای گروه
- o : مجوز برای دیگران
- a: مجوز برای همه
وقتی کلاسی را مشخص میکنید، سینتکس بسیار شبیه به چیزی است که در روش اول مشاهده کردید.
chmod <class>+x <file>
مثلا اگر بخواهیم فایل را طوری اجرایی کنیم که فقط صاحب فایل بتواند آن را اجراکند و نه هیچ کس دیگری، باید از دستور زیر استفاده کنم: (مثال را هم مشاهده کنید)
chmod u+x <file>
$ ls -l lhb.txt -rw-r--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt $ chmod u+x lhb.txt $ ls -l lhb.txt -rwxr--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt
به طور مشابه، برای قابل اجراکردن آن فایل برای همه افراد گروهی که آن فایل را دارند، باید از دستور زیر استفاده کنم: (مثال را هم مشاهده کنید)
chmod g+x <file>
$ ls -l lhb.txt -rw-r--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt $ chmod g+x lhb.txt $ ls -l lhb.txt -rw-r-xr-- 1 pratham staff 0 Mar 10 20:49 lhb.txt
وقتی کلاس a را مشخص می کنید، تقریباً انگار هیچ یک را مشخص نکرده اید. بیایید نگاهی بیندازیم. این دستورات ممکن است متفاوت ظاهر شوند، اما نتیجه یکسانی دارند.
$ ls -l lhb.txt -rw-r--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt $ chmod +x lhb.txt $ ls -l lhb.txt -rwxr-xr-x 1 pratham staff 0 Mar 10 20:49 lhb.txt $ chmod 644 lhb.txt #reset permissions $ chmod a+x lhb.txt $ ls -l lhb.txt -rwxr-xr-x 1 pratham staff 0 Mar 10 20:49 lhb.txt
روش 3: استفاده از اعداد octal
اگر از روش اول پیروی کنید، فقط با انجام +x فلگ اجرایی یک فایل را فعال میکنید و آن را طوری میسازید که هر کسی بتواند آن را اجرا کند. اما، گاهی اوقات ممکن است نخواهید همه یک فایل را اجرا کنند، شاید به برخی از امتیازات نیاز داشته باشد. در آن صورت، می توانید مجموعه کامل مجوزها را مشخص کنید.
این کار معمولاً با ارائه یک مقدار اکتال یا یک مقدار نمادین برای فعال کردن مجوزهای فایل انجام می شود. این به شما امکان می دهد کنترل دقیق تری بر نحوه تنظیم فلگ ها داشته باشید. در زیر دستور استفاده از مقادیر اکتال با دستور chmod را میبینید:
chmod <octal> <file>
اگر کار با اعداد اکتال برایتان سخت است، میتوانید از یک ماشین حساب آنلاین chmod استفاده کنید. که به شما کمک میکند مقادیر اکتال درستی ایجاد کنید و بنابراین از استفاده از مقدار اشتباه و به هم ریختن مجوزهای فایل جلوگیری کنید.چ
مثلا اگر بخواهیم فایل را فقط برای مالک و گروه قابل اجرا کنیم، ابتدا باید مجوزهای فعلی آن را بدانم و با استفاده از [chmod-calculator] بیتهای اجرایی را در بالای آن اضافه کنم. بیایید ببینیم چگونه باید این کار را انجام دهیم:
$ ls -l lhb.txt -rw-r--r-- 1 pratham staff 0 Mar 10 20:49 lhb.txt $ chmod 754 lhb.txt $ ls -l lhb.txt -rwxr-xr-- 1 pratham staff 0 Mar 10 20:49 lhb.txt
همانطور که می بینید، فقط مالک و گروه می توانند فایل را اجراکنند.
نتیجه
در این مقاله ساخت فایل اجرایی در سیستم لینوکس را یاد گرفتید. که عمدتاً بر روشهای مختلف استفاده از دستور chmod تمرکز داشت. امیدواریم از این آموزش لذت برده باشید. سپاس از همراهیتان.
ممنون هرچی در مورد این موضوع میخواستم به راحتی عنوان کرده بودید
ممنونم ازتون
مهندس من همیشه سایت شمارو دنبال میکنم خدایش مطالبتون عالی هستند
کارتون خوبه سپاسگذارم
تخفیف هاست هم دارید .؟
چندین سایت گشتم اما هیچکدوم مثل سایت شما مطالبش تکمیل نبود
با سپاس