بخش ۱۱ – تغییر دایرکتوری در لینوکس با دستور cd

""

۱. مقدمه: چرا دستور cd اینقدر مهم است؟

در دنیای لینوکس، خط فرمان (Terminal) همانند یک نقشه از شهر بزرگ فایل‌ها و پوشه‌هاست.
دستور cd (مخفف Change Directory) ابزاری است برای حرکت در این شهر.

می‌توانی تصور کنی که هر پوشه مثل یک خیابان فرعی یا یک محله جدید است. برای رفتن از یک محل به محل دیگر، باید آدرس بدهی و با cd حرکت کنی.

اگر pwd به تو می‌گوید «الان کجایی»، cd است که تو را به جای جدید می‌برد.


۲. ساختار کلی دستور cd

فرم کلی:

cd [مسیر]
  • [مسیر] می‌تواند مطلق یا نسبی باشد (همان‌طور که در بخش ۹ یاد گرفتیم).
  • اگر [مسیر] خالی باشد، cd شما را به دایرکتوری خانگی می‌برد.

۳. کار با مسیر مطلق در cd

مسیر مطلق همیشه از / شروع می‌شود:

cd /etc
pwd
# /etc

در این حالت، مهم نیست الان کجا باشید، چون آدرس کامل را داده‌اید.


۴. کار با مسیر نسبی در cd

مسیر نسبی نسبت به مکان فعلی شما محاسبه می‌شود:

pwd
# /home/ali
cd Documents
pwd
# /home/ali/Documents

نکته: مسیر نسبی هیچوقت با / شروع نمی‌شود.


۵. کاراکترهای مهم در cd

نمادمعنیمثالتوضیح
.دایرکتوری فعلیcd .در واقع جا‌به‌جایی خاصی نمی‌کند
..یک سطح بالاترcd ..از /home/ali به /home می‌برد
~دایرکتوری خانگیcd ~همیشه به /home/username می‌رود
-دایرکتوری قبلیcd -بین دو پوشه آخر سوئیچ می‌کند

مثال با cd -

cd /etc
pwd
# /etc
cd /var/log
pwd
# /var/log
cd -
# /etc
cd -
# /var/log

این روش برای جابه‌جایی سریع بین دو مسیر مفید است.


۶. تغییر به مسیر خانگی (Home Directory)

سه روش:

  1. ساده:
cd
  1. با تیلدا:
cd ~
  1. با مسیر مطلق:
cd /home/$USER

۷. رفتن به مسیر با فاصله (Spaces in Path)

اگر مسیری فاصله دارد، باید آن را داخل کوتیشن بگذاری یا فاصله را Escape کنی:

روش کوتیشن:

cd "My Documents"

روش Escape:

cd My\ Documents

۸. خطاهای رایج با cd

۸.۱. مسیر اشتباه

cd /not/exist
# bash: cd: /not/exist: No such file or directory

راه حل: با ls مسیر را چک کن یا با Tab Completion مسیر را کامل کن.


۸.۲. دسترسی نداشتن

اگر به پوشه‌ای خواندن/اجرا (x) نداشته باشی:

cd /root
# bash: cd: /root: Permission denied

راه حل: یا با کاربر Root وارد شو (sudo -i) یا اجازه‌ها را بررسی/تغییر بده.


۹. ترفندهای حرفه‌ای با cd

۹.۱. استفاده از متغیرهای محیطی

تمام مسیرهای مشخص مثل /home/user را می‌توانی ذخیره و استفاده کنی:

MYDIR=/var/www/html
cd $MYDIR

۹.۲. رفتن به چند مسیر پایدار

اگر مدام بین چند پوشه جابه‌جا می‌شوی، می‌توانی Alias بسازی:

alias cdoc='cd ~/Documents'
alias cwww='cd /var/www/html'

و بعد فقط بگو:

cdoc

۱۰. کاربرد cd در اسکریپت‌ها

در Bash Script تغییر مسیر فقط داخل همان اسکریپت اثر دارد.
مثال:

#!/bin/bash
cd /tmp
echo "Now in: $(pwd)"

این باعث می‌شود اجرای بقیه دستورات در همان مسیر باشد.


۱۱. نمونه سناریوهای واقعی

سناریو ۱: بکاپ گرفتن

cd /var/www/html
tar -czf ~/backup.tar.gz .

سناریو ۲: کار با پروژه

cd ~/projects/myapp
git status

سناریو ۳: انتقال سریع بین دو دایرکتوری

cd /etc
cd /home/user/projects
cd -
cd -

۱۲. تمرین‌های عملی

  1. حرکت بین مسیرها
   cd /
   cd /var/log
   cd ~
   cd /etc
   cd -
  1. استفاده از ..
   cd /usr/local/bin
   cd ..
   pwd
  1. آدرس با فاصله
   mkdir ~/My\ Test\ Folder
   cd ~/My\ Test\ Folder
  1. ذخیره مسیر در متغیر
   MYWORK=~/projects
   cd $MYWORK

۱۳. نکات ایمنی و بهینه‌کاری

  • همیشه قبل از اجرای دستور حساس (rm -r, mv) → با pwd مطمئن شو مسیر درست است.
  • از Tab Completion برای نوشتن مسیر استفاده کن تا اشتباه تایپی نداشته باشی.
  • به خاطر بسپار که cd فقط به دایرکتوری می‌رود، نه به فایل.

۱۴. جمع‌بندی

  • cd = Change Directory.
  • می‌تواند با مسیر مطلق، نسبی یا نمادهای خاص (., .., ~, -) کار کند.
  • برای پوشه‌هایی با نام دارای فاصله باید از کوتیشن یا \ استفاده شود.
  • با cd - می‌توان بین دو مسیر آخر جابجا شد.
  • ترفندها: alias برای مسیرهای پر استفاده، ذخیره مسیر در متغیر، استفاده در اسکریپت‌ها.
محمد وب‌سایت

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *