خط فرمان لینوکس

ترجمه فارسی LinuxCommand.org

خط فرمان لینوکس

ترجمه فارسی LinuxCommand.org

راهبری

راهبری

در این درس، من نخست سه فرمان را معرفی خواهم نمود: ‏pwd (‏‎‎print working directory‎ یا چاپ دایرکتوری کاری) و ‏cd ‎(‏‎change directory‎ یا تعویض دایرکتوری)‎، و ‏ls (‏‎list files and directories‎ یا لیست فایلها و دایرکتوریها).

اگر شما قبلاً با رابط خط فرمان کار نکرده‌اید، لازم است توجه دقیق‌تری به این درس داشته باشید، چون مفاهیم با کمی بردباری آسان خواهند شد.

سازمان‌دهی سیستم فایل

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

اکثر محیط‌های گرافیکی امروزه دارای برنامه مدیریت فایل برای نمایش و کار با سیستم فایل هستند. شما اغلب فایل سیستم نمایش داده شده به این شکل را خواهید دید:
directory tree

یک تفاوت مهم میان سیستم عامل منسوخ و سیستم‌عامل‌های یونیکس-مانندی از قبیل لینوکس آن است که لینوکس مفهوم حروف درایوها را به کار نمی‌گیرد. در حالیکه حروف درایو سیستم فایل را به یک سری درخت‌های مختلف (یکی برای هر درایو) تفکیک می‌کند، لینوکس همیشه دارای یک درخت دایرکتوری است. دستگاه‌های ذخیره مختلف می‌توانند شامل انشعاب‌ها مختلفی از درخت باشند، اما درخت همواره یک درخت منفرد است.

pwd

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

آن دایرکتوری که شما در آن قرار دارید دایرکتوری کاری نامیده می‌شود. برای پی بردن به نام دایرکتوری کاری، فرمان pwd را به کار ببرید.

[me@linuxbox me]$ pwd
/home/me

موقعی که نخست به یک سیستم لینوکس وارد می‌شوید، دایرکتوری کاری به دایرکتوری خانه شما تنظیم می‌گردد. اینجا مکانی است که شما فایلهایتان را قرار می‌دهید. روی اکثر سیستم‌ها، دایرکتوری خانه شما ‎/home/your_user_name‎ (نام کاربری شما) خواهد بود، اما بنا بر تمایل مدیر سیستم می‌تواند هر مورد دیگری هم باشد.

برای لیست کردن فایلهای داخل دایرکتوری کاری، فرمان ls را استفاده کنید.

[me@linuxbox me]$ ls


Desktop     Xrootenv.0    linuxcmd
GNUstep     bin           nedit.rpm
GUILG00.GZ  hitni123.jpg  nsmail

من در درس بعدی به ls باز خواهم گردید. موارد جالب بسیاری وجود دارد که می‌توان با آن انجام داد، اما ابتدا من باید یک مقدار در باره نام مسیرها و دایرکتوریها صحبت کنم.

cd

برای تعویض دایرکتوری کاری‌تان (آن دایرکتوری که داخل maze در آن ایستاده‌اید) از فرمان cd استفاده می‌کنید. برای انجام این کار، cd و به دنبال آن نام مسیر دایرکتوری مورد نظر را تایپ کنید. یک نام مسیر خط سیری است که شما را از میان انشعاب‌های درخت به دایرکتوری که می‌خواهید می‌رساند. نام مسیرها به دو روش می‌توانند مشخص گردند، نام مسیرهای مطلق یا نام مسیرهای نسبی. بیایید ابتدا به نام مسیرهای مطلق نگاه کنیم.

یک نام مسیر مطلق همیشه با دایرکتوری ریشه شروع می‌شود و درخت را شاخه به شاخه ادامه می‌دهد تا مسیر دایرکتوری یا فایل مورد نظر تکمیل گردد. برای مثال، در سیستم شما یک دایرکتوری وجود دارد که اکثر برنامه‌ها در آنجا نصب می‌شوند. نام مسیر این دایرکتوری ‎/usr/bin‎ است. این یعنی در دایرکتوری ریشه (نمایش داده شده توسط یک اسلاش مقدم در نام مسیر) یک دایرکتوری به نام usr وجود دارد که شامل یک دایرکتوری به نام bin است.

اجازه بدهید این را عملاً آزمایش کنیم:

[me@linuxbox me]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin
[me@linuxbox bin]$ ls


[                     lwp-request
2to3                  lwp-rget
2to3-2.6              lxterm
a2p                   lz
aalib-config          lzcat
aconnect              lzma
acpi_fakekey          lzmadec
acpi_listen           lzmainfo
add-apt-repository    m17n-db
addpart               magnifier

              ...و بسیار بیشتر

اکنون می‌توانیم ببینیم که دایرکتوری کاری را به ‎/usr/bin‎ تعویض کرده‌ایم و آن دایرکتوری پُر از فایل است. توجه نمایید که چطور اعلان شما تغییر کرده است؟ به عنوان یک مزیت، اعلان فرمان معمولاً برای نمایش نام دایرکتوری کاری تنظیم می‌گردد.

در حالیکه یک نام مسیر مطلق از دایرکتوری ریشه آغاز می‌شود، نام مسیر نسبی از دایرکتوری کاری شروع می‌گردد. برای این منظور یک جفت نماد را جهت نشان دادن موقعیت‌های نسبی در درخت سیستم فایل به کار می‌برد. این نماد های ویژه "." (نقطه) و ".." (نقطه نقطه) می‌باشند.

نماد "." به خود دایرکتوری کاری اشاره می‌کند و نماد ".." به دایرکتوری والد دایرکتوری کاری اشاره می‌کند. اکنون چگونگی کارکرد آن. بیایید دایرکتوری کاری را دوباره به ‎/usr/bin‎ تعویض نماییم:

[me@linuxbox me]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin

بسیار خوب، اکنون اجازه بدهید فرض کنیم که ما می‌خواستیم دایرکتوری کاری را به والد ‎/usr/bin‎ که ‎/usr‎ است تعویض کنیم. حال این کار را به دو روش متفاوت می‌توانیم انجام بدهیم. اول، با یک نام مسیر مطلق:

[me@linuxbox bin]$ cd /usr
[me@linuxbox usr]$ pwd
/usr

یا، با یک نام مسیر نسبی:

[me@linuxbox bin]$ cd ..
[me@linuxbox usr]$ pwd
/usr

دو شیوه متفاوت با نتایج یکسان. شما کدام را باید به کار ببرید؟ آن روشی را که به حداقل تایپ کردن نیاز دارد!

به همچنین، به دو طریق مختلف می‌توانیم دایرکتوری کاری را از ‎/usr‎ به ‎/usr/bin‎ تعویض نماییم. اول با کاربرد نام مسیر مطلق:

[me@linuxbox usr]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin

یا، با یک نام مسیر نسبی:

[me@linuxbox usr]$ cd ./bin
[me@linuxbox bin]$ pwd
/usr/bin

اکنون، مطلب مهمی وجود دارد که باید من در اینجا اشاره کنم. تقریباً در تمام موقعیت‌ها، شما می‌توانید " ‎./‎" را ذکر نکنید. به طور ضمنی به آن اشاره می‌شود. تایپِ:

[me@linuxbox usr]$ cd bin

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

تعدادی میانبر

اگر شما cd را بدون چیزی در ادامه آن تایپ کنید، cd دایرکتوری کاری را به دایرکتوری خانگی شما تعویض می‌کند.

یک میانبر وابسته به آن تایپ ‎cd ~user_name است. در این حالت، cd دایرکتوری کاری را به دایرکتوری خانگی کاربر مشخص شده(م: به جای user_name) تعویض می‌کند.

تایپ ‎cd -‎ دایرکتوری کاری را به دایرکتوری قبلی تعویض می‌کند.(مترجم: یعنی آن دایرکتوری که قبل از آمدن به اینجا در آن مستقر بوده‌اید.)