LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

مدیریت دایرکتوری

پنجشنبه, ۱۵ خرداد ۱۳۹۳، ۰۳:۰۸ ب.ظ

دایرکتوری فایلی است که میتواند فایل های مختلفی را با اطلاعاتشان در خود نگه دارد. همه فایل ها اعم از فایل های معمولی فایل های اختصاصی و دایرکتوری ها در دایرکتوری نگه داشته می شوند.


یونیکس از یک ساختار سلسله مراتبی برای سازماندهی دایرکتوری ها استفاده میکند. این ساختار به ساختار درختی نیز مشهور است. این درخت یک گره ریشه و اصلی دارد که با / نمایش داده میشود. همه دایرکتوری ها و فایلها زیرمجموعه همین گره هستند.


دایرکتوری home

وقتی که شما به سیستم لاگین میکنید در این دایرکتوری وجود دارید. هر کاربر دایرکتوری home مخصوص به خود را دارد. شما بیشتر کارهای خود را در همین دایرکتوری انجام خواهید داد. شما میتوانید با زدن دستور زیر وارد دایرکتوری home خود بشوید:

$ cd ~
$


علامت ~ نشان دهنده دایرکتوری خانه می باشد.شما میتوانید بعد از این علامت ادامه مسیر خود را مشخص کنید:

$ cd ~/Documents/
user@hostname:~/Documents$ 


شما بوسیله دستور زیر میتوانید به آخرین دایرکتوری که در آن حضور داشتید بازگردید:

$ cd -
$


مسیرهای Absolute  و Relative

همانطور که گفته شد بالاترین حد در سیستم های مبتنی بر یونیکس نود ریشه یا root می باشد که با علامت / نشان داده می شود. هر المان نیز با همین علامت / متمایز میشود. در ادامه به تعدادی مثال برای absolute path اشاره میکنم:

/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/0s3


همچنین توجه شما رو به تعدادی مثال از relative path ها جلب میکنم:

chem/notes
personal/res


همچنین دستوری به نام pwd وجود دارد که absolute path را برای مسیری که در آن حضور دارید نشان میدهد:

$ pwd
/home/user/amrood
$


لیست کردن دایرکتوری ها

برای لیست کردن دایرکتوری ها در لینوکس شما از دستور ls باید استفاده کنید. که قاعده آن به صورت زیر است:

$ ls dirname


همچنین برای دیدن محتویات یک دایرکتوری که میتواند فایل یا خود دایرکتوری دیگری باشد به صورت زیر باید عمل شود که مثالی از آنچه که دربالا گفته شد می باشد:

$ls /usr/local
X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami


ایجاد دایرکتوری

شما میتوانید یک دایرکتوری را با دستور زیر ایجاد کنید که میتواند به صورت absolute یا relative باشد.

$ mkdir dirname
$ mkdir mydir
$ mkdir /tmp/test-dir


همچنین شما میتوانید با این دستور چندین دایرکتوری به صورت زیر ایجاد کنید:

$ mkdir docs pub
$ mkdir /tmp/test-dir /home/user/test-dir2
$


ایجاد دایرکتوری پدر

گاهی ممکن است نیاز باشد تا شما دایرکتوری های تو در تو ایجاد کنید. برای این کار اگر به صورت قبل عمل کنید خطا دریافت خواهید کرد. فرض کنید شما میخواهید درون یک دایرکتوری یک دایرکتوری دیگر و درون آن دایرکتوری دیگری ایجاد کنید اما چون دایرکتوری پدر وجود ندارد خطا به صورت زیر خواهید داشت:

$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test"; 
No such file or directory
$


برای این کار شما می باید از p- برای رفع این خطا استفاده کنید:

$ mkdir -p /tmp/amrood/test
$


حذف دایرکتوری

برای این کار شما میتوانید از دستور rmdir استفاده کنید. که قاعده آن به شکل زیر می باشد:

$ rmdir dirname
$


همچنین شما میتوانید از این دستور برای حذف چندین دایرکتروی استفاده کنید:

$ rmdir dirname1 dirname2 dirname3
$


تغییر مسیر به دایرکتوری های مختلف

شما برای اینکه بتونید از یک دایرکتوری به دایرکتوری دیگه برید میتونید از دستوری به نام cd استفاده کنید. قاعده استفاده از این دستور به صورت زیر می باشد:

$ cd dirname
$


حالا اگر بخوایم به دایرکتوری خاصی بریم میتونیم به صورت زیر عمل کنیم. در ادامه میتونیم از دستور pwd برای اینکه ببینیم آیاد واقعا اونجا هستیم یا نه استفاده کنیم:

$ cd /usr/local/bin
$pwd
/usr/local/bin
$


حالا اگر بخوایم دو تا شاخه از مسیری که در بالا بهش رفته بودیم برگردیم تا به دایرکتوری home بریم باز دو راه وجود داره که من هر دو راه رو پشت سر هم به شما نشون میدم:

$ cd ../../home/amrood
$
یا
$ cd /home/amrood
$


تغییر نام دایرکتوری

برای اینکه بتونید نام دایرکتروی رو به نام دلخواه خودتون تغییر بدید میتوید از دستور mv استفاده کنید:

$ mv olddir newdir
$


مثلا اگر دایرکتوری به نام mydir دارید میتونید اسم اون رو به صورت زیر تغییر بدید:

$ mv mydir yourdir
$


دایرکتوری های نقطه (.) و نقطه نقطه (..)

دایرکتوری نقطه یا . بیانگر دایرکتوری حال حاضر شما و دایرکتوری نقطه نقطه یا .. بیانگر دایرکتوری یک سطح بالاتر از دایرکتوری حاضر شما می باشد.

بعنوان مثال شما میتونید از طریق دستور زیر اطلاعاتی رو در این باره ببینید:

$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
$

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی