سیستم فایل لینوکس از این نظر که شامل فایلها و دایرکتوریها (directories) میشود ، شبیه به سیستمهای فایل دیگر سیستمعامل ها(operating system’s) است. فایل ها حاوی داده هایی مانند متن قابل خواندن توسط انسان ، برنامه های اجرایی یا داده های باینری هستند که توسط رایانه استفاده می شود. دایرکتوری ها برای ایجاد سازماندهی در سیستم فایل استفاده می شود. دایرکتوری ها می توانند حاوی فایل ها و سایر دایرکتوری ها باشند.
در این مثال ، Documents یک دایرکتوری است که شامل یک فایل (Mission-Statement.txt) و یک زیر شاخه ( Reports) است. دایرکتوری Reports به نوبه خود حاوی یک فایل به نام report2018.txt است. دایرکتوری Documents به عنوان والد دایرکتوری Reports گفته می شود.
نکته : اگر command tree در سیستم شما موجود نیست ، آن را با استفاده از مدیر بسته توزیع لینوکس خود نصب کنید. برای یادگیری نحوه انجام این کار به درس مدیریت بسته مراجعه کنید.
نام فایل ها و دایرکتوری ها ( File and Directory Names) :
نام فایل ها و دایرکتوری ها در لینوکس می تواند شامل حروف کوچک و بزرگ، اعداد، فاصله و کاراکترهای خاص باشد. با این حال ، از آنجایی که بسیاری از کاراکترهای خاص معنای خاصی در پوسته لینوکس دارند ، تمرین خوبی است که هنگام نامگذاری فایل ها یا دایرکتوری ها از فاصله یا کاراکترهای خاص استفاده نکنید. برای مثال ، فضاها نیاز به کاراکتر / دارند تا به درستی وارد شوند :
همچنین به نام فایل report2018.txt مراجعه کنید. نام فایل ها می توانند دارای پسوندی باشند که بعد از نقطه (.) می آید. برخلاف ویندوز، این پسوند در لینوکس معنای خاصی ندارد. برای درک انسان وجود دارد. در مثال ما txt. به ما نشان می دهد که این یک فایل متنی ساده است ، اگرچه از نظر فنی می تواند هر نوع داده ای را در خود داشته باشد.
پیمایش در سیستم فایل (Navigating the Filesystem) :
دریافت موقعیت مکانی فعلی (Getting Current Location) :
از آنجایی که پوسته های لینوکس مانند Bash مبتنی بر متن هستند، مهم است که مکان فعلی خود را هنگام پیمایش در سیستم فایل به خاطر بسپارید. خط فرمان این اطلاعات را ارائه می دهد :
توجه داشته باشید که اطلاعاتی مانند نام کاربری و نام میزبان در بخش های بعدی پوشش داده خواهد شد. از اعلان ، اکنون می دانیم که مکان فعلی ما در دایرکتوری Reports است. به طور مشابه ، دستور pwd فهرست کاری را چاپ می کند:
توجه داشته باشید که خروجی دستور pwd با مسیر داده شده در خط فرمان کمی متفاوت است. به جای /home/user ، خط فرمان حاوی یک tilde (~) است. tilde یک کاراکتر ویژه است که فهرست اصلی کاربر را نشان می دهد. در درس بعدی با جزئیات بیشتری به این موضوع پرداخته خواهد شد.
فهرست کردن محتویات دایرکتوری ( Listing Directory Contents) :
محتویات دایرکتوری فعلی با دستور ls فهرست می شوند :
توجه داشته باشید که ls هیچ اطلاعاتی در مورد دایرکتوری والد ارائه نمی دهد. به طور مشابه، به طور پیش فرض ls هیچ اطلاعاتی در مورد محتویات زیر شاخه ها نشان نمی دهد. ls فقط می تواند آنچه را در دایرکتوری فعلی وجود دارد، ببیند.
تغییر دایرکتوری فعلی (Changing Current Directory) :
Navigation در لینوکس در درجه اول با دستور cd انجام می شود. این دایرکتوری را تغییر می دهد. با استفاده از دستور pwd از قبل ، می دانیم که دایرکتوری فعلی ما /home/user/Documents/Reports است. ما می توانیم دایرکتوری فعلی خود را با وارد کردن یک مسیر جدید تغییر دهیم :
از مکان جدیدمان ، میتوانیم Mission-Statement.txt و گزارشهای زیرشاخهمان را ببینیم ، اما نه محتوای زیر شاخهمان را ، ما میتوانیم به گزارشهایی مانند زیر برگردیم :
اکنون به همان جایی که شروع کرده بودیم برگشتیم.
مسیرهای مطلق و نسبی (Absolute and Relative Paths) :
دستور pwd همیشه یک مسیر مطلق را چاپ می کند. این بدان معناست که مسیر شامل هر مرحله از مسیر، از بالای سیستم فایل (/) تا پایین ( Reports) است. مسیرهای مطلق همیشه با یک / شروع می شوند.
مسیر مطلق شامل تمام اطلاعات مورد نیاز برای رسیدن به گزارش ها از هر نقطه در سیستم فایل است. اشکالش این است که تایپ کردن آن خسته کننده است.
نمونه دوم (Cd Reports) تایپ بسیار ساده تر بود. این نمونه ای از یک مسیر نسبی است. مسیرهای نسبی کوتاهتر هستند اما فقط در رابطه با مکان فعلی شما معنی دارند. این تشبیه را در نظر بگیرید: من در خانه شما به دیدار شما هستم. تو به من می گویی که دوستت در همسایگی زندگی می کند. من آن مکان را درک خواهم کرد زیرا نسبت به مکان فعلی من است. اما اگر این را تلفنی به من بگویید، من نمی توانم خانه دوست شما را پیدا کنم. شما باید آدرس کامل خیابان را به من بدهید.
مسیرهای نسبی خاص (Special Relative Paths) :
پوسته لینوکس راه هایی را در اختیار ما قرار می دهد که مسیرهای خود را هنگام پیمایش کوتاه کنیم. برای آشکار کردن اولین مسیرهای خاص، دستور ls را با پرچم a- وارد می کنیم. این پرچم دستور ls را تغییر میدهد تا همه فایلها و دایرکتوریها ، از جمله فایلها و فهرستهای مخفی ، فهرست شوند
نکته : میتوانید به صفحه man برای ls مراجعه کنید تا بفهمید a- در اینجا چه میکند.
این دستور دو نتیجه اضافی را نشان می دهد: اینها مسیرهای خاصی هستند. آنها فایل ها یا دایرکتوری های جدیدی را نشان نمی دهند، بلکه نشان دهنده دایرکتوری هایی هستند که شما قبلاً می شناسید:
. (1 نقطه)
مکان فعلی را نشان می دهد (در این مورد، گزارش ها)
.. (2نقطه)
دایرکتوری والد را نشان می دهد (در این مورد، Documents)
معمولاً استفاده از مسیر نسبی ویژه برای مکان فعلی غیر ضروری است. تایپ گزارش report2018.txt آسانتر و قابل درکتر از تایپ report2018.txt./ است. اما کاربردهایی دارد که در بخش های آینده خواهید آموخت. در حال حاضر ، ما روی مسیر نسبی دایرکتوری والد تمرکز خواهیم کرد:
مثال cd هنگام استفاده از .. به جای مسیر مطلق بسیار راحت تر است. علاوه بر این، ما میتوانیم این الگو را ترکیب کنیم تا به سرعت در file tree حرکت کنیم.
خلاصه :
در این درس آموختید:
- اصول سیستم فایل لینوکس
- تفاوت بین دایرکتوری های والد و زیر شاخه ها
- تفاوت بین مسیرهای فایل مطلق و مسیرهای فایل نسبی
- مسیرهای نسبی خاص . و ..
- با استفاده از cd در سیستم فایل پیمایش کنید
- مکان فعلی خود را با استفاده از pwd نشان دهید
- فهرست تمام فایل ها و دایرکتوری ها با استفاده از ls -a
دستورات زیر در این درس مورد بحث قرار گرفت :
cd :
دایرکتوری فعلی را تغییر دهید
pwd :
مسیر فهرست کاری فعلی را چاپ کنید
ls :
فهرست محتویات دایرکتوری و نمایش مشخصات فایل ها
mkdir :
یک دایرکتوری جدید ایجاد کنید
tree :
نمایش یک فهرست سلسله مراتبی از directory tree
ترجمه از کتاب :
https://learning.lpi.org/en/learning-materials/010-16