یکی از مهم‌ترین دستورات حین کار با واسط خط دستور در ویندوز و توزیعات مختلف Linux و همین‌طور سیستم عامل macOS اپل، فرمان cd است که برای تغییر دادن فولدر کاری استفاده می‌شود. این فرمان به ظاهر ساده، دارای چند آپشن است و علاوه بر این ترفند‌هایی برای استفاد‌ه‌ی بهینه از آن وجود دارد که شاید تاکنون ندیده باشید. البته آپشن‌ها و عملکرد فرمان cd در ویندوز و مک‌او‌اس و لینوکس دقیقاً یکسان نیست.

در این مقاله به معرفی دستور cd و روش استفاده از آن در لینوکس و همین‌طور برخی ترفندهای جالب و کاربردی می‌پردازیم. با ما باشید.

روش استفاده از دستور cd و تغییر فولدر کاری

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

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

در ویندوز برای سوییچ کردن فولدر کاری به فولدری در یک درایو دیگر، می‌بایست ابتدا پارتیشن را تغییر بدهید. لذا ابتدا نام درایو و دو نقطه را وارد کرده و Enter بزنید تا درایو تغییر کند. سپس دستور cd و آدرس فولدری در درایو موردنظر را وارد کنید.

به عنوان مثال برای تغییر فولدر کاری از درایو C به فولدر desktop در درایو D دو دستور زیر را اجرا کنید:

d:

cd /desktop

اما اولین نکته و ترفند: لازم نیست آدرس کامل مسیر موردنظر را تایپ کنید بلکه می‌توانید از قابلیت Auto-Complete یا تکمیل کردن خودکار استفاده کنید. به عبارت دیگر حین تایپ کردن یک مسیر، زمانی که تعداد حروف تایپ شده کافی باشد، نام فولدرها پیشنهاد می‌شود و می‌توانید کلید Tab را فشار دهید تا نام پیشنهادی سریعاً تایپ شود. این قابلیت در cmd ویندوز هم وجود دارد.

در مورد مثال قبلی زمانی که کلمه‌ی fire را تایپ می‌کنیم، firefox پیشنهاد می‌شود. کافی است Tab را فشار دهید تا نام فایرفاکس به شکل کامل تایپ شود. در ادامه نیز با تایپ کردن حرف b که ابتدای نام فولدر browser است، نام این فولدر پیشنهاد می‌شود و می‌توانیم با زدن Tab، این نام را نیز تکمیل کنیم.

خوشبختانه در تکمیل کردن خودکار نام فولدرها، با زدن Tab کاراکتر / نیز به صورت خودکار اضافه می‌شود و این قابلیت، سرعت کار را بیشتر می‌کند.

برای تغییر دادن فولدر کاری به فولدر خانه می‌توانید از کلید ~ استفاده کنید. به عبارت دیگر دستور زیر فولدر کاری را به فولدر خانه تغییر می‌دهد:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

آدرس‌دهی نسبی حین استفاده از دستور cd

مثال‌های فوق همگی در مورد تغییر فولدر کاری با تایپ کردن آدرس مطلق بود. می‌توانید از آدرس نسبی هم استفاده کنید که معمولاً سریع‌تر است. منظور از آدرس نسبی، آدرس‌ها نسبت به فولدر فعلی است.

به عنوان مثال فرض کنید که در حال حاضر فولدر کاری، فولدری به اسم work است که زیرمجموعه‌ی فولدر Home است و می‌خواهید فولدر کاری را به یکی از زیرمجموعه‌های این فولدر تغییر دهید. برای این منظور می‌توانید ابتدا از دستور tree استفاده کنید تا ساختار درختی فولدرها در محیط Terminal نمایش داده شود. به عبارت دیگر دستور زیر را تایپ کرده و Enter را فشار دهید:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

همان‌طور که در تصویر فوق مشاهده می‌کنید، فولدری به اسم dev در فولدر work موجود است. از طرفی فولدر دیگری با همین نام در فولدر خانه وجود دارد! برای چک کردن این فولدرها می‌توانید از دستور لیست کردن یا ls استفاده کنید.

با اجرا کردن دستورات زیر، مشخصات دو فولدر dev موردبحث نمایش داده می‌شود:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

حال اگر از آدرس‌دهی نسبی استفاده کنید و فرمان زیر را اجرا کنید، فولدری که انتخاب می‌شود، فولدر dev درون فولدر work است. دقت کنید که قبل از dev از کاراکتر / استفاده نشده است تا آدرس‌دهی نسبی باشد:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

و به همین صورت می‌توانید یکی از فولدرهای داخل فولدر dev را فعال کنید:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

تغییر فولدر کاری با دو نقطه یا ..

استفاده از دونقطه یا .. برای اشاره به فولدر بالادست یا فولدر مادر به کار می‌رود. نکته‌ی جالب این است که برای تغییر دادن فولدر کاری به فولدر بالادستی می‌توانید از دستور cd استفاده کنید.

اگر بخواهید به دو فولدر بالاتر مراجعه کنید هم می‌توانید دو بار از دونقطه استفاده کنید. به دستورات زیر توجه کنید که به ترتیب یک پله و دو پله فولدر کاری را به فولدرهای بالادستی تغییر می‌دهند:

و نتیجه‌ی استفاده از دستورات فوق:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

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

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

استفاده از عبارت‌های اختصاری ذکر شده درست مثل کار با دستور cd است.

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

البته عبارت‌های اختصاری تعریف شده با Restart شدن سیستم از بین می‌روند! برای استفاده از عبارت‌های اختصاری حتی پس از ری‌استارت کردن سیستم، می‌بایست موارد پرکاربرد را به .bashrc یا .bash_aliases اضافه کنید.

تغییر و سوییچ سریع بین دو فولدر کاری

کاراکتر خط فاصله یا - هم کاربرد جالبی حین استفاده از دستور cd دارد. با استفاده از این کاراکتر می‌توانید فولدر کاری را به فولدر کاری قبلی تغییر بدهید.

به عنوان مثال فرض کنید ابتدا در فولدر c هستید و با دستور cd به فولدر forth سوییچ کرده‌اید. حال اگر دستور cd - را اجرا کنید، اتفاقی که می‌افتد تغییر فولدر کاری به فولدر c است و اگر همین دستور را یک بار دیگر اجرا کنید، مجدداً فولدر کاری به forth تغییر خواهد کرد.

خوشبختانه قبل از تغییر فولدر کاری، مسیر فولدر کاری جدید نیز ذکر می‌شود تا همه‌چیز روشن باشد. به نتیجه‌ی اجرای دستورات فوق توجه کنید:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

نوع دیگری از آدرس‌دهی نسبی حین کار با cd

حین آدرس‌دهی نسبی، فولدری که در حال حاضر فولدر کاری است به عنوان ریشه و روت در نظر گرفته می‌شود و آدرس‌ها نسبت به آن سنجیده و تفسیر می‌شوند. اما می‌توانید فولدر ریشه را با متغیر محیطی CDPATH تغییر بدهید و فولدر دیگری را معرفی کنید.

به عنوان مثال فرض کنید که می‌خواهیم فولدر پرکاربردی به آدرس work/dev/projects را به عنوان فولدر ریشه معرفی کنید. کافی است فرمان زیر را اجرا کنید:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

از این پس حین اجرا کردن دستور cd، بررسی می‌شود که آیا فولدر آدرس داده شده در فولدر تعریف شده به کمک متغیر محیط CDPATH موجود است یا خیر و در صورت وجود، فولدر کاری جدید، آن فولدر خواهد بود. اما اگر قبل از آدرس فولدر، از / استفاده شود، روشن است که آدرس‌دهی نسبی مدنظر نیست بلکه آدرس‌دهی مطلق است. لذا دقیقاً به مسیر تایپ شده سوییچ می‌شود.

برای روشن شدن موضوع به مثال و دستورات زیر توجه کنید:

و نتیجه‌ی اجرای دستورات فوق:

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

متغیر محیطی CDPATH درست شبیه به متغیرهای محیطی مسیر در ویندوز است که کاربرد آن برای کاربران حرفه‌ای ویندوز روشن است. به مقالات زیر توجه کنید تا موضوع روشن‌تر شود:

اگر بخواهید قبل از جستجو کردن فولدری دیگر که با متغیر محیطی CDPATH تعریف شده، ابتدا فولدر کاری فعلی بررسی شود و در صورت وجود فولدر موردنظر، به آن سوییچ شود، می‌توانید یک . در ابتدای مسیری که تعریف می‌کنید، اضافه کنید. به مثال زیر توجه فرمایید:

استفاده از shopt برای بهبود کاربری فرمان cd

می‌توانید برخی تنظیمات و آپشن‌های Shell را به کمک فرمان shopt تغییر بدهید تا استفاده از فرمان cd ساده‌تر و سریع‌تر شود. برای تنظیم کردن آپشن‌ها از -s استفاده کنید.

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

حال اگر حواستان نباشد و آدرس فولدری به اسم Desktop است را به صورت اشتباه Desktpo تایپ کنید، آدرس به صورت خودکار تصحیح می‌شود و در واقع جای حرف p و o جابجا می‌شود تا با فولدر موردبحث تطبیق پیدا کند.

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک

آپشن مفید دیگر در ارتباط با استفاده از دستور cd، آپشن autocd است. اگر این آپشن را فعال کنید، دیگر نیازی به تایپ کردن فرمان cd نیست! به عبارت دیگر می‌توانید مستقیماً آدرس فولدر کاری موردنظر را تایپ کنید. هر عبارتی که تایپ می‌کنید، اگر دستور، اسکریپت یا فرمانی اجرایی دیگری نباشد، به عنوان آدرس در نظر گرفته شده و مثل این است که فرمان cd قبل از آن تایپ شده باشد.

آشنایی با دستور cd برای تغییر فولدر کاری در لینوکس و همین‌طور ویندوز و مک