تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

خط فرمان لینوکس – تغییر دایرکتوری کاری فعلی و دستور cd

تغییر دایرکتوری کاری فعلی

برای تغییر دایرکتوری کاری مان (جایی که در مارپیچ درختی شکل خود ایستاده‌ایم) از دستور cd استفاده می‌کنیم. برای انجام این کار، cd را تایپ کنید و در ادامه نام مسیر (Pathname) دایرکتوری کاری دلخواه را درج کنید. یک نام مسیر، مسیری است که ما در امتداد شاخه های درخت طی می‌کنیم تا به دایرکتوری موردنظر خود برسیم. ما می‌توانیم نام مسیرها را در قالب یکی از دو روش مختلف نام مسیرهای مطلق یا نام مسیرهای نسبی مشخص کنیم. بیایید ابتدا به نام مسیرهای مطلق بپردازیم.

نام مسیرهای مطلق

نام مسیر مطلق با دایرکتوری ریشه شروع می‌شود و درخت را شاخه به شاخه دنبال می‌کند تا مسیر به دایرکتوری یا فایل موردنظر کامل شود. به عنوان مثال، یک دایرکتوری روی سیستم ما وجود دارد که اغلب برنامه های سیستم ما روی آن نصب شده‌اند. نام مسیر این دایرکتوری /usr/bin است. این بدان معناست که از دایرکتوری ریشه (که با اسلش اول در نام مسیر نمایش داده شده است) یک دایرکتوری به نام “usr” وجود دارد که شامل یک دایرکتوری به نام “bin” است.

تغییر دایرکتوری کاری فعلی در خط فرمان لینوکس با کمک دستور cd /usr/bin و مسیرهای مطلق

اکنون می‌بینیم که دایرکتوری کاری فعلی را به /usr/bin تغییر داده‌ایم و (این دایرکتوری) پر از فایل است. توجه می‌کنید چگونه پرامپت شل تغییر کرده است؟ برای راحتی، معمولاً طوری تنظیم می‌شود که به طور خودکار نام دایرکتوری کاری را نمایش دهد.

نام مسیرهای نسبی

در حالیکه یک مسیر مطلق از دایرکتوری ریشه شروع می‌شود و به مقصد خود منتهی می‌شود، یک نام مسیر نسبی از دایرکتوری کاری شروع می‌شود. برای این منظور، از چند نماد ویژه برای نمایش موقعیت‌های نسبی در درخت سیستم فایل استفاده می‌کند. این نمادهای ویژه عبارتند از “.” (نقطه) و “..” (نقطه نقطه).

نماد “.” به دایرکتوری کاری و نماد “..” به دایرکتوری والد دایرکتوری کاری اشاره می‌کند. اینجا به چگونگی کارکرد آن می‌پردازیم. بیایید مجددا دایرکتوری کاری را به /usr/bin تغییر دهیم.

تغییر دایرکتوری کاری فعلی به /usr/bin با استفاده از دستور cd /usr/bin

حال فرض کنید که می‌خواستیم دایرکتوری کاری را به والد /usr/bin که /usr است تغییر دهیم. ما می‌توانستیم این کار را به دو روش مختلف انجام دهیم، یا با استفاده از یک نام مسیر مطلق:

تغییر دایرکتوری کاری به /usr با استفاده از مسیر مطلق و دستور cd /usr

یا با استفاده از یک نام مسیر نسبی:

تغییر دایرکتوری کاری به /usr با استفاده از مسیر نسبی و دستور cd ..

دو روش متفاوت با نتیجه‌های یکسان. ما باید از کدام یک استفاده کنیم؟ روشی که به کمترین تایپ نیاز دارد!

به طور مشابه، ما می‌توانیم دایرکتوری کاری را از /usr به /usr/bin به دو شیوه مختلف تغییر دهیم، یا با استفاده از یک نام مسیر مطلق:

تغییر دایرکتوری کاری از /usr به /usr/bin با استفاده از مسیر مطلق و دستور cd /usr/bin

یا با استفاده از یک نام مسیر نسبی:

تغییر دایرکتوری کاری از /usr به /usr/bin با استفاده از مسیر نسبی و دستور cd ./bin

حالا، موضوع مهمی وجود دارد که باید اینجا به آن اشاره کرد. تقریباً در همه موارد، می‌توانیم “./” را حذف کنیم. این حالت به صورت ضمنی مشخص شده است. تایپ کردن:

تغییر دایرکتوری کاری از /usr به /usr/bin با استفاده از مسیر نسبی و دستور cd bin

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

چند میانبر مفید

در جدول 2-1 چند روش مفید را مشاهده می‌کنیم که می‌توان دایرکتوری کاری فعلی را به سرعت تغییر داد.

جدول 2-1: میانبرهای cd

میانبر نتیجه
cd دایرکتوری کاری را به دایرکتوری خانه شما تغییر می‌دهد.
cd – دایرکتوری کاری را به دایرکتوری کاری قبلی تغییر می‌دهد.
cd ~user_name دایرکتوری کاری را به دایرکتوری خانه user_name تغییر می‌دهد. برای مثال cd ~bob دایرکتوری را به دایرکتوری خانه کاربر “bob” تغییر می‌دهد.

حقایق مهم در مورد نام فایل ها

در سیستم‌های لینوکسی، فایل‌ها به روشی مشابه سایر سیستم‌ها از جمله ویندوز نام‌گذاری می‌شوند، اما تعدادی تفاوت مهم وجود دارد.

  1. نام فایل هایی که با کاراکتر نقطه شروع می‌شوند پنهان هستند. این فقط به معنی آنست که ls آنها را لیست نمی‌کند مگر اینکه بگویید ls -a. زمانی که حساب کاربری شما ایجاد شد، چند فایل مخفی در دایرکتوری خانه شما قرار گرفت تا چیزهایی را برای حساب کاربری‌تان پیکربندی کند. در فصل 11 نگاهی نزدیک‌تر به برخی از این فایل ها خواهیم داشت تا ببینیم چگونه می‌توانید محیط (لینوکس) خود را شخصی‌سازی کنید. علاوه بر این، برخی از اپلیکیشن ها فایل های پیکربندی و تنظیمات خود را به عنوان فایل های پنهان در دایرکتوری خانه شما قرار می‌دهند.
  2. نام فایل ها و دستورات در لینوکس، همانند یونیکس، به بزرگی و کوچکی حروف حساس هستند. نام های فایل “File1” و “file1” به فایل های مختلفی اشاره دارند.
  3. لینوکس مانند برخی از سیستم عامل های دیگر مفهومی به نام “پسوند فایل” ندارد. شما می‌توانید فایل‌ها را هر طور که مایلید نام‌گذاری کنید. محتویات و یا هدف از یک فایل با روش‌های دیگری تعیین می‌شود. اگرچه سیستم‌عامل‌های شبه-یونیکس از پسوند فایل برای تشخیص محتویات/هدف فایل‌ها استفاده نمی‌کنند، بسیاری از برنامه‌های کاربردی این کار را انجام می‌دهند.
  4. هرچند لینوکس از نام های فایل طولانی که ممکن است حاوی فاصله های جاساز شده و کاراکترهای نقطه گذاری باشند، پشتیبانی می‌کند، اما کاراکترهای نقطه گذاری در نام فایل هایی که ایجاد می‌کنید را به نقطه، خط تیره (dash) و خط زیر (آندراسکور یا underscore) محدود کنید. مهمتر از همه، از قرار دادن فاصله در نام فایل ها خودداری کنید. اگر می‌خواهید فاصله‌هایی را بین واژه‌ها در نام یک فایل نمایش دهید، از کاراکترهای آندراسکور استفاده کنید. شما بعدها (به خاطر این کار) از خودتان ممنون خواهید بود.

جمع بندی

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


متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

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

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