منبع اصلی نوشتار زیر در این لینک قرار دارد

نگاهی به دستور cd

دستور cd (مخفف Change Directory) برای پیمایش در سیستم فایل و تغییر دایرکتوری به دایرکتوری دیگر در خط فرمان تمامی سیستم عامل های یونیکسی استفاده می شود. چندین علامت در ارتباط با دستور cd وجود دارند : علامت “تک نقطه”، علامت “دو نقطه”، علامت “~”، علامت “-”. علامت “تک نقطه” یعنی دایرکتوری جاری، علامت “دونقطه” یعنی تغییر به یک دایرکتوری قبلِ، دایرکتوری جاری (تغییر به دایرکتوری والدِ، دایرکتوری جاری)، علامت “~” نشان دهنده تغییر به دایرکتوری خانگی (این نماد معادل متغیر HOME$ است که مسیر دایرکتوری خانگی کاربر را ذخیره کرده است) و نماد “-” در استفاده از دستور cd کمی شبیه عملکرد BACK در محیط های گرافیکی در پیمایش سیستم فایل را دارد.در ادامه مثال هایی را نشان می دهیم.

  • تغییر به دایرکتوری خانگی (بجای نوشتن دستور cd /home/amirnami)

cd $HOME

OR

~ cd

  • تغییر به دایرکتوری bin زیر دایرکتوری خانگی ( بجای نوشتن دستور cd /home/amirnami/bin)

cd $HOME/bin

cd ~/bin

  • تغییر به دایرکتوری خانگی دیگران. بطور مثال بجای اینکه کاربر root یا خود user1 کاربر از دستور cd /home/user1 برای رفتن به دایرکتوری خانگی استفاده کند از دستور زیر هم می تواند استفاده کند.

cd ~user1

بطور کلی بصورت cd ~USERNAME

  • تغییر به دایرکتوری test که بصورت Hidden شده زیر دایرکتوری خانگی است یعنی ابتدای نام test یک نقطه وجود دارد. (بجای نوشتن دستور cd /home/amirnami/.test)

cd $HOME/.test

cd ~/.test

  • تغییر به دیارکتوری والد (یک دایرکتوری قبلتر از دایرکتوری جاری)

.. cd

  • تغییر به دو دایرکتوری قبلتر از دایرکتوری جاری

../.. cd

  • مفهوم نماد “-” : در شکل زیر نشان داده شده است که ابتدا به دایرکتوری usr/local/bin/ می رویم و سپس دستور pwd (مخفف print wotk directory) را چاپ می کنیم و سپس به دایرکتوری root/ می رویم و دستور pwd را اجرا می کنیم. دایرکتوری فعلی root/ است و اگر بخواهیم به دایرکتوری قبلی یعنی usr/local/bin/ برویم بجای اجرای دستور cd /usr/local/bin دستور – cd را اجرا می کنیم. با اجرای این دستور دایرکتوری فعلی دوباره usr/local/bin/ خواهد شد. اگر بخواهیم به دایرکتوری قبلی یعنی root/ برویم می توانیم دوباره دستور – cd را اجرا کنیم.

اما چگونه این کار انجام می شود؟ برای هر کاربر دو متغیر محیطی (متغیر درونی) PWD$ و OLDPWD$ وجود دارد که به ترتیب دایرکتوری جاری و دایرکتوری پیشین را در خود نگه می دارند. پس می توان معادل دستور pwd برای نشان دادن دایرکتوری جاری را به صورت زیر نشان داد:

pwd

OR

echo $PWD

  • برخی از متغیر های bash قبلشان یک علامت ~ دارند. دو متغیر +~ و -~ که جلویشان می تواند یک عدد بیاید به ترتیب شنان دهنده دایرکتوری جاری (که معادل متغیر PWD$) و نشان دهنده دایرکتوری پیشین (که معادل متغیر OLDPWD$) هستند.

ایجاد فایل ها توسط نماد “~” : در خط فرمان یا درون یک شل اسکریپت برای ایجاد یک فایل در دایرکتوری خانگی کاربر دلخواه یا دایرکتوری خانگی خودتان از یکی از فرمت های زیر استفاده کنید.

echo “This is first line” > ~USERNAME/FILENAME

echo “This is second line” >> $HOME/FILENAME

cmd OUTPUT >> ~/FILENAME

cat ANY_FILENAME >> ~/FILENAM



برچسب ها : , , , , , , , , , , , ,