آموزش خط فرمان لینوکس - قسمت دوم
سه شنبه, ۲۱ ارديبهشت ۱۳۸۹، ۰۵:۳۵ ب.ظ
گشت و گذار در سیستم فایل
در این قسمت از سه دستور اصلی برای حرکت در سیستم فایل با استفاده از خط فرمان صحبت خواهیم کرد:
ساختمان سیستم فایل
ساختار فایلها در لینوکس، همانند پدر خود یونیکس، به گونهای که به آن «ساختار فهرست سلسلهمراتبی» میگوییم مرتب شده است. این بدان معناست که آنها به صورت فهرستهایی (directory، که در بعضی از ساختارها در سیستمعاملهای دیگر به آنها پوشه یا folder میگویند.) با الگوی درختی چیدهشدهاند که در آن هر فهرست شمال چند فایل و فهرست است. اولین شاخه در سیستم فایل فهرست ریشه یا root directory نامیدهمیشود. فهرست ریشه شامل فایلها و زیر-فهرستهایی که خود آنها نیز ممکن است فایلها و زیر-فهرستهایی داشته باشند، و به همین ترتیب...
بیشتر محیطهای گرافیکی امروزی دارای یک مدیر فایل یا file manager هستند که میتوان با آنها محتویات سیستم فایل را مشاهده کرد. معروفترین این file manager ها، dolphin و konqueror در KDE و nautilus در رابط کاربری Gnome هستند.
یک تفاوت مهم سیستم فایل لینوکس و دیگر سیستم فایلها مانند سیستم فایلهای ویندوزی، اینست که مفهومی به نام درایوها در اینجا وجود ندارد. در سیستم مبتنی بر درایوها، سیستم فایل به چند درایو و در نتیجه درختهای متفاوت شکسته میشود، اما لینوکس تنها یک درخت دارد. دستگاههای ذخیرهسازی مختلف میتوانند زیر درختهای جدا داشته باشند، اما در اینجا فقط یک درخت داریم.
pwd
از آنجا که یک رابط خط فرمان نمیتواند (نمیخواهد) از یک تصویر از سیستم فایل پشتیبانی کند، باید راهحلهای دیگری برای نمایش آن داشته باشد. در سیستم فایل را به صورت یک هزارتو (maze) در نظر بگیرید در جایی از آن ایستادهاید، در هر حرکتی، شما در یک فهرست خاص قرار دارید. داخل آن فهرست، میتوانید راهی که از ریشه به آن وجود دارد و نیز راههایی که از آن به فرزندانش وجود دارند را ببینید.
به فهرستی که در آن ایستادهاید، «فهرست در حال کار» یا «working directory» میگوییم. برای اینکه بهفمید نام فهرست در حال کار چیست میتوانید از دستور pwd استفاده کنید:
وقتی برای اولین بار وارد لینوکس خود میشوید، فهرست در حال کارتان، خانه یا home شما خواهد بود. در بیشتر سیستمها، این آدرس به صورت /home/your_user_name/ است که طبیعتا your_user_name، نام کاربری شما در سیستم است ولی همیشه اینگونه نیست.
ls
برای لیست کردن فایلهای فهرست در حال کارتان، از دستور ls استفاده کنید:
ما در قسمت بعدی در مورد ls بیشتر توضیح خواهیم داد زیرا با استفاده از آن میتوان کارهای جالبی کرد، اما بهتر است در حال حاضر بیشتر در مورد مسیرها و فهرستها صحبت کنیم.
cd
برای تغییر فهرست در حال کار خود، میتوانید از دستور cd استفاده کنید. برای این کار cd و به دنبالش نام مسیر (pathname) مورد نظر را تایپ کنید. ناممسیر یا مسیر در حقیقت راهیست که باید از ریشه طی نمود تا به مکان مورد نظر رسید. مسیرها میتوانند به دو صورت مشخص شوند: مطلق (absolute) و نسبی (relative). بگذارید ابتدا با آدرسهای مطلق کار کنیم.
یک مسیر مطلق با ریشه شروع شده و درخت را شاخه به شاخه طی میکند تا به فهرست مورد نظر برسد. برای مثال آدرس /usr/X11R6/bin/ به این معناست که داخل ریشه، فهرستی به نام usr وجود دارد که داخل آن فهرستی به نامX11R6 موجود است و در داخل آن نیز یک شاخه به نام bin وجود دارد.
بیایید استفاده از cd را برای شاخهی /usr/lib/ امتحان کنیم:
که البته این لیست ادامه دارد و حتی ممکن است انقدر طولانی شود که نتوانیم همهی لیست را در پنجرهی شبیهساز ترمینال خود ببینیم.
در اینجا میتوانید مشاهده کنید که فهرست در حال کار ما /usr/lib/ شده است.
در مقابل آدرسهای مطلق که از ریشه شروع میشوند، آدرسهای نسبی از فهرست در حال کار آغاز میگردند. برای این کار، از یک جفت علامت برای نمایش مکانهای نسبی استفاده میشود. این علامت ها "." (نقطه) و ".." (نقطه نقطه) هستند.
علامت نقطه به فهرست در حال کار اشاره میکند و نقطه نقطه به فهرست والد فهرست در حال کار (برای مثال /usr/ فهرست والد /usr/lib/ است که فهرست والد آن نیز خود ریشه است).
بیایید این مثال را اجرا کنیم. ابتدا با دستور cd آنطور که در مثال قبل دیدید، به usr/lib/ بروید. وقتی در این مکان قرار داریم، دو روش برای رفتن به فهرست والد آن یعنی usr/ وجود دارد. یکی،
و دیگری:
از طرفی وقتی داخل فهرست usr/ هستید میتوانید به دو طریق به usr/lib/ بروید:
یا به شیوهی نسبی:
در بیشتر موارد میتوانید /. را حذف کنید و به سادگی بنویسید:
یک جفت میانبُر
استفاده از cd به تنهایی و بدون نوشتن یک آدرس شما را به فهرست خانهی خودتان میبرد. (مثلا home/majid/)
استفاده از cd ~user_name شما را به فهرست خانهی کاربر user_name خواهد برد.
حقایق مهم در مورد نام فایلها
Powered by Blogilo
در این قسمت از سه دستور اصلی برای حرکت در سیستم فایل با استفاده از خط فرمان صحبت خواهیم کرد:
pwd (print working directory), cd (change directory), and ls (list files and directories).
اگر قبلا با این دستورات تا بحال کار نکردهاید، این قسمت برای شما خیلی مهم است.ساختمان سیستم فایل
ساختار فایلها در لینوکس، همانند پدر خود یونیکس، به گونهای که به آن «ساختار فهرست سلسلهمراتبی» میگوییم مرتب شده است. این بدان معناست که آنها به صورت فهرستهایی (directory، که در بعضی از ساختارها در سیستمعاملهای دیگر به آنها پوشه یا folder میگویند.) با الگوی درختی چیدهشدهاند که در آن هر فهرست شمال چند فایل و فهرست است. اولین شاخه در سیستم فایل فهرست ریشه یا root directory نامیدهمیشود. فهرست ریشه شامل فایلها و زیر-فهرستهایی که خود آنها نیز ممکن است فایلها و زیر-فهرستهایی داشته باشند، و به همین ترتیب...
بیشتر محیطهای گرافیکی امروزی دارای یک مدیر فایل یا file manager هستند که میتوان با آنها محتویات سیستم فایل را مشاهده کرد. معروفترین این file manager ها، dolphin و konqueror در KDE و nautilus در رابط کاربری Gnome هستند.
یک تفاوت مهم سیستم فایل لینوکس و دیگر سیستم فایلها مانند سیستم فایلهای ویندوزی، اینست که مفهومی به نام درایوها در اینجا وجود ندارد. در سیستم مبتنی بر درایوها، سیستم فایل به چند درایو و در نتیجه درختهای متفاوت شکسته میشود، اما لینوکس تنها یک درخت دارد. دستگاههای ذخیرهسازی مختلف میتوانند زیر درختهای جدا داشته باشند، اما در اینجا فقط یک درخت داریم.
pwd
از آنجا که یک رابط خط فرمان نمیتواند (نمیخواهد) از یک تصویر از سیستم فایل پشتیبانی کند، باید راهحلهای دیگری برای نمایش آن داشته باشد. در سیستم فایل را به صورت یک هزارتو (maze) در نظر بگیرید در جایی از آن ایستادهاید، در هر حرکتی، شما در یک فهرست خاص قرار دارید. داخل آن فهرست، میتوانید راهی که از ریشه به آن وجود دارد و نیز راههایی که از آن به فرزندانش وجود دارند را ببینید.
به فهرستی که در آن ایستادهاید، «فهرست در حال کار» یا «working directory» میگوییم. برای اینکه بهفمید نام فهرست در حال کار چیست میتوانید از دستور pwd استفاده کنید:
وقتی برای اولین بار وارد لینوکس خود میشوید، فهرست در حال کارتان، خانه یا home شما خواهد بود. در بیشتر سیستمها، این آدرس به صورت /home/your_user_name/ است که طبیعتا your_user_name، نام کاربری شما در سیستم است ولی همیشه اینگونه نیست.
ls
برای لیست کردن فایلهای فهرست در حال کارتان، از دستور ls استفاده کنید:
ما در قسمت بعدی در مورد ls بیشتر توضیح خواهیم داد زیرا با استفاده از آن میتوان کارهای جالبی کرد، اما بهتر است در حال حاضر بیشتر در مورد مسیرها و فهرستها صحبت کنیم.
cd
برای تغییر فهرست در حال کار خود، میتوانید از دستور cd استفاده کنید. برای این کار cd و به دنبالش نام مسیر (pathname) مورد نظر را تایپ کنید. ناممسیر یا مسیر در حقیقت راهیست که باید از ریشه طی نمود تا به مکان مورد نظر رسید. مسیرها میتوانند به دو صورت مشخص شوند: مطلق (absolute) و نسبی (relative). بگذارید ابتدا با آدرسهای مطلق کار کنیم.
یک مسیر مطلق با ریشه شروع شده و درخت را شاخه به شاخه طی میکند تا به فهرست مورد نظر برسد. برای مثال آدرس /usr/X11R6/bin/ به این معناست که داخل ریشه، فهرستی به نام usr وجود دارد که داخل آن فهرستی به نامX11R6 موجود است و در داخل آن نیز یک شاخه به نام bin وجود دارد.
بیایید استفاده از cd را برای شاخهی /usr/lib/ امتحان کنیم:
که البته این لیست ادامه دارد و حتی ممکن است انقدر طولانی شود که نتوانیم همهی لیست را در پنجرهی شبیهساز ترمینال خود ببینیم.
در اینجا میتوانید مشاهده کنید که فهرست در حال کار ما /usr/lib/ شده است.
در مقابل آدرسهای مطلق که از ریشه شروع میشوند، آدرسهای نسبی از فهرست در حال کار آغاز میگردند. برای این کار، از یک جفت علامت برای نمایش مکانهای نسبی استفاده میشود. این علامت ها "." (نقطه) و ".." (نقطه نقطه) هستند.
علامت نقطه به فهرست در حال کار اشاره میکند و نقطه نقطه به فهرست والد فهرست در حال کار (برای مثال /usr/ فهرست والد /usr/lib/ است که فهرست والد آن نیز خود ریشه است).
بیایید این مثال را اجرا کنیم. ابتدا با دستور cd آنطور که در مثال قبل دیدید، به usr/lib/ بروید. وقتی در این مکان قرار داریم، دو روش برای رفتن به فهرست والد آن یعنی usr/ وجود دارد. یکی،
و دیگری:
از طرفی وقتی داخل فهرست usr/ هستید میتوانید به دو طریق به usr/lib/ بروید:
یا به شیوهی نسبی:
در بیشتر موارد میتوانید /. را حذف کنید و به سادگی بنویسید:
یک جفت میانبُر
استفاده از cd به تنهایی و بدون نوشتن یک آدرس شما را به فهرست خانهی خودتان میبرد. (مثلا home/majid/)
استفاده از cd ~user_name شما را به فهرست خانهی کاربر user_name خواهد برد.
حقایق مهم در مورد نام فایلها
- فایلهایی که نام آنها با . شروع میشود، در لینوکس فایل مخفی محسوب میشوند. بر خلاف سیستم عامل ویندوز، که در آن فایلهای مخفی با تغییر در خصوصیات فایل ایجاد میشوند، در لینوکس با تغییر نام فایلها مخفی میشوند. برای مثال test. یک فایل مخفی است و test یک فایل غیر مخفی. این بدان معنی است که برای مثال دستور ls، فایلهای مخفی را لیست نخواهد کرد و برای دیدن فایلهای مخفی بایستی از دستور ls -a استفاده کنید. بسیاری از فایلهای تنظیمات مخصوص برنامههای مختلف در فهرستها و فایلهای مخفی قرار میگیرند.
- فایلها در لینوکس و یونیکس حساس به بزرگی و کوچکی حروف هستند. یعنی file و File با هم فرق میکنند و هر دو میتوانند در یک شاخه وجود داشته باشند.
- در لینوکس چیزی به اسم file extension مانند ویندوز وجود ندارد و شما فایلها را هر طور که دوست دارید میتوانید نامگذاری کنید.
- لینوکس از نام فایلهای طولانی که در آنها فاصله و کاراکترهای نشانهگذاری نفطه، خط فاصله (-) و زیرخط (_) استفاده شده است پشتیبانی میکند. (البته در این زمینه توضیحات بیشتری لازم است) به هر حال پیشنهاد میکنم عادت کنید که به جای استفاده از فاصله، از _ در نام فایلها استفاده کنید، مثلا به جای نام my file، استفاده از my_file بهتر است. دلیل این پیشنهاد را خودتان بعدها خواهید فهمید!
Powered by Blogilo
۸۹/۰۲/۲۱