دوستان و علاقمندان به مباحث آموزش یونیکس (UNIX) ، این آموزش را از سایت پی وی لرن دنبال خواهیم نمود. مدیریت دایرکتوری در یونیکس (UNIX) را در این بخش از آموزش، مورد بررسی قرار خواهیم داد و مواردی چون، نام مسیرهای مطلق / نسبی، لیست کردن و ایجاد دایرکتوری ها را به همراه ایجاد دایرکتوری های والدین و موارد دیگری شرح خواهیم داد. با ادامه ی آموزش ها همراه ما باشید.
در این بخش، در مورد جزئیات مدیریت دایرکتوری در یونیکس (UNIX) به تفصیل صحبت خواهیم کرد. با ما همراه باشید.
یک دایرکتوری یک فایل کار انفرادی است که برای ذخیره فایل نِیم ها (file names) و اطلاعات مربوطه می باشد. تمام فایل ها ، چه عادی ، خاص ، و یا دایرکتوری ، در دایرکتوری ها قرار دارند.
یونیکس (UNIX) از یک ساختار سلسله مراتبی (درختی) برای سازماندهی فایل ها و دایرکتوری ها استفاده می کند. این ساختار اغلب به عنوان درخت directory نامیده می شود. درخت دارای یک گره ریشه منفرد (root) است ، کاراکتر اسلش (/) و کلیه ی دایرکتوری های دیگر در زیر آن قرار دارد.
دایرکتوری که هنگام ورود به سیستم خود را در آن می یابید ، Home Directory شما نامیده می شود.
شما قسمت های زیادی از کارهای خود را در Home Directory و زیرشاخه هایی که برای سازماندهی فایل های خود ایجاد می کنید انجام می دهید.
می توانید در هر زمان با استفاده از دستور زیر به Home Directory خود بروید.
1 2 | $cd ~ $ |
در این جا ~ home directory را نشان می دهد. فرض کنید شما باید به home directory هر کاربر دیگری بروید ، از دستور زیر استفاده کنید.
1 2 | $cd ~username $ |
برای رفتن به آخرین دایرکتوری خود ، می توانید از دستور زیر استفاده کنید.
1 2 | $cd - $ |
دایرکتوری ها در یک سلسله مراتب با (/) root در بالا مرتب شده اند. موقعیت هر فایل در درون سلسله مراتب با pathname آن توصیف شده است.
عناصر یک pathname توسط یک / جدا می شوند. یک pathname مطلق است ، در صورتی که در رابطه با ریشه توصیف شود ، بنابراین نام های pathname های مطلق همیشه با یک / شروع می شوند.
در زیر چند نمونه از filename های مطلق آمده است.
1 2 3 | /etc/passwd /users/sjones/chem/notes /dev/rdsk/Os3 |
یک pathname همچنین می تواند به دایرکتوری کار فعلی شما وابسته باشد. pathname های Relative هرگز با / شروع نمی شوند. Relative به home directory کاربر amrood ، ممکن است برخی از pathname ها مانند زیر باشند.
1 2 | chem/notes personal/res |
برای تعیین این که در هر زمان کجا در سلسله مراتب سیستم فایل (filesystem) هستید ، برای چاپ دایرکتوری کار فعلی ، دستور pwd وارد کنید.
1 2 3 4 | $pwd /user0/home/amrood $ |
برای لیست کردن فایل ها در یک دایرکتوری ، می توانید از سینتکس زیر استفاده کنید.
1 | $ls dirname |
در زیر مثالی برای لیست تمام فایل های موجود در دایرکتوری /usr/local آمده است.
1 2 3 4 5 | $ls /usr/local X11 bin gimp jikes sbin ace doc include lib share atalk etc info man ami |
اکنون خواهیم فهمید که چگونه یک دایرکتوری ایجاد کنید. دایرکتوری ها با دستور زیر ایجاد می شوند.
1 | $mkdir dirname |
در این جا ، دایرکتوری، pathname مطلق یا نسبی است از دایرکتوری است که می خواهید ایجاد کنید. به عنوان مثال ، دستور:
1 2 | $mkdir mydir $ |
دایرکتوری mydir را در دایرکتوری فعلی ایجاد می کند. در این جا مثال دیگری وجود دارد.
1 2 | $mkdir /tmp/test-dir $ |
این دستور، دایرکتوری test-dir را در دایرکتوری tmp/ ایجاد می کند. اگر با موفقیت دایرکتوری واسته شده را ایجاد کنید ، فرمان mkdir هیچ خروجی تولید نمی کند.
اگر به خط فرمان بیش از یک دایرکتوری بدهید ، mkdir هرکدام از دایرکتوری ها را ایجاد می کند. به عنوان مثال:
1 2 | $mkdir docs pub $ |
دایرکتوری های docs و pub را زیر دایرکتوری فعلی ایجاد می کنید.
در ادامه ی مدیریت دایرکتوری در یونیکس (UNIX) ، ایجاد دایرکتوری های والدین را مورد بررسی قرار می دهیم.
اکنون می خواهیم نحوه ایجاد دایرکتوری های والدین را یاد بگیریم. بعضی اوقات وقتی می خواهید یک دایرکتوری ایجاد کنید ، ممکن است دایرکتوری یا دایرکتوری های والدین آن وجود نداشته باشد. در این حالت ، mkdir پیام خطایی را به شرح زیر ارسال می کند.
1 2 3 4 | $mkdir /tmp/amrood/test mkdir: Failed to make directory "/tmp/amrood/test"; No such file or directory $ |
در چنین مواردی می توانید گزینه p- را به دستور mkdir مشخص کنید. تمام دایرکتوری های لازم را برای شما ایجاد می کند. به عنوان مثال:
1 2 | $mkdir -p /tmp/amrood/test $ |
دستور فوق کلیه دایرکتوری های مورد نیاز والدین را ایجاد می کند.
دایرکتوری ها را می توان با استفاده از دستور rmdir به شرح زیر حذف کرد.
1 2 | $rmdir dirname $ |
توجه – برای حذف یک دایرکتوری ، اطمینان حاصل کنید که آن خالی است و این بدان معنی است که نباید هیچ فایل یا زیر شاخه ای درون این دایرکتوری وجود داشته باشد.
می توانید چندین دایرکتوری را هم زمان به شرح زیر حذف کنید.
1 2 | $rmdir dirname1 dirname2 dirname3 $ |
دستور بالا، دایرکتوری ها dirname1 ، dirname2 و dirname3 را حذف می کند ، در صورتی که خالی باشد. در صورت موفقیت ، دستور rmdir هیچ خروجی تولید نمی کند.
شما می توانید از دستور cd برای انجام کارهای دیگری فقط برای تغییر در home directory استفاده کنید. با مشخص کردن یک مسیر مطلق یا نسبی معتبر ، می توانید از آن برای تغییر در هر دایرکتوری استفاده کنید. سینتکس به شرح زیر است.
1 2 | $cd dirname $ |
در این جا dirname نام دایرکتوری است که می خواهید آن را تغییر دهید. به عنوان مثال ، دستور:
1 2 | $cd /usr/local/bin $ |
تغییر در دایرکتوری usr/local/bin/. از این دایرکتوری می توانید cd را با استفاده از مسیر نسبی زیر به دایرکتوری usr / home / amrood cd/ تغییر دهید:
1 2 | $cd ../../home/amrood $ |
مدیریت دایرکتوری در یونیکس (UNIX) را با تغییر نام دایرکتوری ها ادامه می دهیم.
دستور (mv (move همچنین می تواند برای تغییر نام دایرکتوری ها مورد استفاده قرار گیرد. سینتکس به شرح زیر است.
1 2 | $mv olddir newdir $ |
می توانید دایرکتوری mydir را به yourdir به شرح زیر تغییر نام دهید.
1 2 | $mv mydir yourdir $ |
filename (نقطه) {(dot).} نشان دهنده ی دایرکتوری کار فعلی است. و filename .. (نقطه نقطه) {(dot dot)..} پوشه را در یک سطح بالاتر از دایرکتوری فعلی کار قرار می دهد ، که اغلب به عنوان دایرکتوری والدین شناخته می شود.
اگر دستور را وارد کنیم تا لیستی از دایرکتوری ها / فایل های فعلی را نشان دهیم و از گزینه a- برای لیست کردن تمام فایل ها و گزینه l- برای تهیه لیست طولانی استفاده کنیم ، نتیجه زیر را دریافت خواهیم کرد.
1 2 3 4 5 6 | $ls -la drwxrwxr-x 4 teacher class 2048 Jul 16 17.56 . drwxr-xr-x 60 root 1536 Jul 13 14:18 .. ---------- 1 teacher class 4210 May 1 08:27 .profile -rwxr-xr-x 1 teacher class 1948 May 12 13:42 memo $ |
مدیریت دایرکتوری در یونیکس (UNIX) را در این جا، به پایان می رسانیم.
متشکریم از این که با وب سایت آموزشی پی وی لرن و آموزش لینوکس همراه هستید. در این بخش، مدیریت دایرکتوری در یونیکس (UNIX) را بررسی نمودیم و مباحث مربوط به آن مانند نام مسیرهای مطلق / نسبی، لیست کردن و ایجاد دایرکتوری ها، به همراه ایجاد دایرکتوری های والدین ، تغییر دایرکتوری ها و موارد دیگری را، شرح دادیم. در جلسه ی آینده سطح دسترسی فایل / مدهای دسترسی (File Permission / Access Modes) را بررسی می کنیم. با آموزش های ما از وب سایت پی وی لرن همراه باشید.