intro(1) General Commands Manual intro(1)

intro - مقدمهای بر دستورات کاربری عمومی در لینوکس

بخش ۱ کتابچه راهنما، دستورات و ابزارهای کاربری را شرح می‌دهد؛ برای نمونه، ابزارهای مدیریت و دستکاری فایل، پوسته‌ها، کامپایلرها، مرورگرهای وب، نمایش‌دهنده‌ها و ویرایشگرهای پرونده و تصویر، و مواردی از این دست.

سیستم‌عامل لینوکس گونه‌ای از یونیکس (UNIX) است و دستورات کاربری در یونیکس، مشابه با لینوکس (و بسیاری دیگر از سیستم‌های شبه‌یونیکس مانند FreeBSD) عمل می‌کنند.

در لینوکس، رابط‌های گرافیکی کاربر (GUI) وجود دارند که در آن‌ها می‌توانید با اشاره، کلیک و کشیدن ماوس کارها را پیش ببرید، و امید است بدون نیاز به خواندن حجم زیادی از مستندات به نتیجه برسید. محیط سنتی یونیکس، یک رابط خط فرمان (CLI) است که در آن دستورات را برای گفتن اینکه رایانه چه کاری انجام دهد تایپ می‌کنید. این روش سریع‌تر و قدرتمندتر است، اما مستلزم این است که بدانید دستورات چه هستند و چگونه باید از آن‌ها استفاده کرد. در ادامه، یک راهنمای حداقل و پایه‌ای برای شروع کار شما آورده شده است.

برای شروع به کار، احتمالاً در ابتدا باید یک نشست کاری (session) باز کنید. برنامه login(1) منتظر می‌ماند تا نام کاربری و گذرواژه خود را تایپ کنید، و پس از آن، یک shell (پوسته یا مفسر دستورات) برای شما آغاز به کار خواهد کرد. در صورت ورود گرافیکی، صفحه‌ای با منوها یا آیکون‌ها دریافت می‌کنید و با کلیک ماوس، یک پوسته در قالب یک پنجره باز می‌شود. همچنین ببینید: xterm(1).

دستورات درون shell (پوسته)، مفسر دستور، تایپ می‌شوند. پوسته یک بخش توکار غیرقابل تغییر نیست؛ بلکه برنامه‌ای مانند دیگر برنامه‌هاست. شما می‌توانید پوسته خود را تغییر دهید و هر کس پوسته مورد علاقه خود را دارد. پوسته استاندارد sh نام دارد. همچنین ببینید: ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), zsh(1).

یک نشست کاری ممکن است به شکل زیر باشد:


knuth login: aeb
Password: ********
$ date
Tue Aug  6 23:50:44 CEST 2002
$ cal
     August 2002
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
$ ls
bin  tel
$ ls -l
total 2
drwxrwxr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-rw-r--   1 aeb         37 Aug  6 23:52 tel
$ cat tel
maja    0501-1136285
peter   0136-7399214
$ cp tel tel2
$ ls -l
total 3
drwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-r--r--   1 aeb         37 Aug  6 23:52 tel
-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2
$ mv tel tel1
$ ls -l
total 3
drwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-r--r--   1 aeb         37 Aug  6 23:52 tel1
-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2
$ diff tel1 tel2
$ rm tel1
$ grep maja tel2
maja    0501-1136285
$

در اینجا فشردن Control-D نشست را خاتمه داد.

علامت $ در اینجا اعلان خط فرمان (prompt) بود—این شیوه پوسته است تا نشان دهد برای دریافت دستور بعدی آماده است. اعلان خط فرمان را می‌توان به روش‌های متعددی سفارشی‌سازی کرد، و ممکن است شامل مواردی مانند نام کاربری، نام رایانه، دایرکتوری جاری، زمان و مواردی از این دست باشد. انتساب PS1="What next, master? اعلان را مطابق متن داده‌شده تغییر می‌دهد.

مشاهده می‌کنیم که دستورات date (که تاریخ و زمان را نشان می‌دهد) و cal (که تقویم را نمایش می‌دهد) وجود دارند.

دستور ls محتویات دایرکتوری جاری را فهرست می‌کند—این دستور به شما می‌گوید چه فایل‌هایی دارید. با گزینه -l فهرست را با جزئیات کامل نمایش می‌دهد، که شامل مالک، اندازه و تاریخ فایل و همچنین مجوزهایی است که افراد برای خواندن یا تغییر فایل دارند. برای نمونه، فایل "tel" در اینجا ۳۷ بایت حجم دارد، متعلق به aeb است، و مالک می‌تواند آن را بخواند و بنویسد، در حالی که دیگران تنها اجازه خواندن آن را دارند. مالک و مجوزها را می‌توان با دستورات chown و chmod تغییر داد.

دستور cat محتوای یک فایل را نشان می‌دهد. (این نام برگرفته از عبارت "concatenate and print" است: تمامی فایل‌هایی که به عنوان پارامتر داده می‌شوند، به یکدیگر متصل شده و به "خروجی استاندارد" (ببینید: stdout(3))، که در اینجا همان صفحه ترمینال است، ارسال می‌شوند.)

دستور cp (برگرفته از "copy") یک فایل را کپی می‌کند.

از سوی دیگر، دستور mv (برگرفته از "move") تنها نام آن را تغییر می‌دهد (یا آن را جابه‌جا می‌کند).

دستور diff تفاوت‌های میان دو فایل را فهرست می‌کند. در اینجا هیچ خروجی نمایش داده نشد زیرا هیچ تفاوتی میان دو فایل وجود نداشت.

دستور rm (برگرفته از "remove") فایل را حذف می‌کند؛ مراقب باشید! فایل از بین می‌رود و هیچ سطل زباله‌ای در کار نیست. حذف شدن به معنای از دست رفتن قطعی است.

دستور grep (برگرفته از "g/re/p") موارد وقوع یک رشته را در یک یا چند فایل جستجو می‌کند. در اینجا شماره تلفن Maja را پیدا می‌کند.

فایل‌ها در درختی بزرگ قرار دارند که سلسله‌مراتب فایل‌ها نامیده می‌شود. هر فایل یک نام مسیر (pathname) دارد که مسیر را از ریشه درخت (که / نامیده می‌شود) به فایل توصیف می‌کند. برای نمونه، چنین نام مسیر کاملی می‌تواند /home/aeb/tel باشد. استفاده همیشگی از نام مسیرهای کامل ناخوشایند و دشوار است، و نام یک فایل در دایرکتوری جاری را می‌توان تنها با ذکر آخرین بخش آن به صورت مختصر نوشت. به همین دلیل است که /home/aeb/tel هنگامی که دایرکتوری جاری /home/aeb است، می‌تواند به صورت خلاصه به tel تبدیل شود.

دستور pwd دایرکتوری جاری را چاپ می‌کند.

دستور cd دایرکتوری جاری را تغییر می‌دهد.

دستورات cd و pwd را به تناوب اجرا کرده و کاربردهای گوناگون cd را بررسی کنید: "cd"، "cd ."، "cd .."، "cd /"، و "cd ~".

دستور mkdir یک دایرکتوری جدید ایجاد می‌کند.

دستور rmdir اگر دایرکتوری خالی باشد آن را حذف می‌کند، و در غیر این صورت پیغام خطا می‌دهد.

دستور find (با ساختار نحوی نسبتاً پیچیده و غنی) فایل‌هایی با نام داده‌شده یا سایر خصوصیات را پیدا می‌کند. برای نمونه، دستور "find . -name tel"; فایل tel را با جستجو از دایرکتوری جاری (که . نامیده می‌شود) پیدا می‌کند. و دستور "find / -name tel"; همان کار را با شروع از ریشه درخت فایل‌ها انجام خواهد داد. جستجوهای بزرگ روی یک دیسک چند گیگابایتی زمان‌بر خواهد بود، و در چنین شرایطی ممکن است استفاده از locate(1) بهتر باشد.

دستور mount سیستم‌فایل موجود بر روی یک دیسک (یا فلاپی، دیسک CD-ROM یا موارد مشابه) را به ساختار سلسله‌مراتبی بزرگ سیستم‌فایل متصل می‌کند. و umount مجدداً آن را جدا می‌سازد. دستور df به شما می‌گوید چه مقدار از فضای دیسک هنوز آزاد است.

در یک سیستم یونیکس، فرآیندهای کاربری و سیستمی متعددی به طور همزمان اجرا می‌شوند. فرآیندی که هم‌اکنون با آن در تعامل هستید در پیش‌زمینه (foreground)، و سایر فرآیندها در پس‌زمینه (background) اجرا می‌شوند. دستور ps به شما نشان می‌دهد که چه فرآیندهایی فعال هستند و این فرآیندها چه شماره‌ها و شناسه‌هایی دارند. دستور kill به شما اجازه می‌دهد آن‌ها را ببندید یا متوقف کنید. بدون هیچ گزینه‌ای، این یک درخواست دوستانه برای پایان کار است. و دستور "kill -9" که با شماره فرآیند همراه باشد، باعث خاتمه و بستن فوری آن می‌شود. فرآیندهای در حال اجرا در پیش‌زمینه را معمولاً می‌توان با فشردن کلیدهای Control-C متوقف کرد.

هزاران دستور وجود دارند که هر یک گزینه‌های متعددی را در بر می‌گیرند. به طور سنتی، دستورات در صفحات راهنما (man pages) (مانند همین صفحه) مستندسازی می‌شوند؛ به گونه‌ای که دستور "man kill" نحوه استفاده از دستور "kill" را مستند می‌کند (و "man man" خود دستور "man" را شرح می‌دهد). برنامه man متن را از طریق یک صفحه‌بند (pager)، معمولاً less، نمایش می‌دهد. کلید فاصله (Space) را برای رفتن به صفحه بعدی، و کلید q را برای خروج فشار دهید.

در مستندات، مرسوم است که با ذکر نام و شماره بخش به صفحات راهنما ارجاع داده شود، مانند man(1). صفحات راهنما مختصر و مفید هستند و به شما این امکان را می‌دهند که جزئیات فراموش‌شده را به سرعت بیابید. برای کاربران تازه‌وارد، متون مقدماتی حاوی مثال‌ها و توضیحات بیشتر مفیدتر خواهد بود.

بسیاری از نرم‌افزارهای گنو و بنیاد نرم‌افزار آزاد (GNU/FSF) همراه با فایل‌های info عرضه می‌شوند. دستور "info info" را برای مشاهده مقدمه‌ای بر نحوه استفاده از برنامه info تایپ کنید.

موضوعات تخصصی اغلب در راهنماهای جامع (HOWTO) بررسی می‌شوند. پوشه /usr/share/doc/howto/en را بررسی کرده و در صورت وجود فایل‌های HTML در آن، از یک مرورگر برای مطالعه آن‌ها استفاده کنید.

ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), locate(1), login(1), man(1), xterm(1), zsh(1), wait(2), stdout(3), man-pages(7), standards(7)

2024-06-17 Linux man-pages 6.9.1