مسیر، یک مکان منحصر به فرد برای یک فایل یا یک پوشه، در سیستم فایل یک سیستم عامل است. مسیر یک فایل، ترکیبی از کاراکتر اسلش (/) و کاراکترهای عدد و یا حروف است.

 

 

مسیر مطلق

مسیر مطلق، مسیری است که مکان یک فایل یا دایرکتوری را از دایرکتوری root (یعنی /) تعریف می‌کند. به عبارت دیگر، مسیر مطلق، مسیر کاملی است که از بالاترین دایرکتوری سیستم فایل آغاز می‌شود.

برای نوشتن یک مسیر مطلق:

از دایرکتوری root (یعنی /) شروع کرده و به سمت سطوح پایین پیش بروید.

یک اسلش (/)بعد از هر نام دایرکتوری بنویسید. (آخرین اسلش اختیاری است)

 

به عنوان مثال :

$cat abc.sql

دستور بالا، تنها درصورتی کار می‌کند که abc.sql در دایرکتوری فعلی شما موجود باشد. با این حال، اگر این فایل در دایرکتوری کنونی شما وجود نداشته باشد و در مسیر home/kt/ قرار داشته باشد، زمانی که دستور به صورت زیر وارد شود، دستور به درستی اجرا می‌گردد:

cat /home/kt/abc.sql

 

این مطلب نیز ممکن است برای شما مفید باشد: نگهداری مسیر دایرکتوری با دستور CP

 

چنانچه اولین کاراکتر یک مسیر / باشد، مکان فایل باید با توجه به ریشه مشخص شود. هنگامی‌که بیش از یک / در یک مسیر باشد، به‌ازای هر /، باید یک سطح در سیستم فایل پایین بیایید، به عنوان مثال در کد بالا، abc.sql در پوشه kt است که یک سطح از دایرکتوری home پایین‌تر است. بنابراین abc.sql دو سطح پایین‌تر از root است.

 

مسیر نسبی

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

نوشتن یک مسیر نسبی:

به عنوان مثال، با توجه به شکل زیر اگر به دنبال photos هستید، مسیر مطلق آن به صورت home/jono/photos/ مشخص می‌شود، اما با فرض اینکه در حال حاضر در دایرکتوری jono قرار دارید، مسیر نسبی را برای آن می‌توان تنها بصورت photos نوشت.

 

استفاده از کاراکترهای . و .. در مسیر مطلق

،UNIX نمادهایی را در مسیر نسبی ارائه می‌دهد که برای مشخص نمودن مسیر نسبی از دایرکتوری کنونی یا والد استفاده می‌کند. این دو نماد به شرح زیر است:

  • . (یک کاراکتر dot): نشان‌دهنده دایرکتوری کنونی است.
  • .. (دو کاراکتر dot): نشان دهنده دایرکتوری والد است.

به عنوان مثال با توجه به شکل بالا، اگر در حال حاضر در دایرکتوری home/kt/abc/ قرار دارید، با استفاده از کاراکتر .. به عنوان آرگومان دستور cd می‌توانید، به دایرکتوری والد یعنی home/kt/ منتقل شوید:

$pwd
/home/kt/abc
$cd ..               ***moves one level up***
$pwd
/home/kt

 

توجه: در زمان استفاده از .. کاراکتر / معنای دیگری خواهد داشت؛ بدین معنی که به جای پایین آمدن از سطوح سیستم فایل، یک سطح به سمت بالا حرکت می‌کند:

$pwd
/home/kt/abc        ***moves two level up***
$cd ../..
$pwd
/home

 

نمونه‌ای از مسیر مطلق و نسبی

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

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

$pwd
/home/kt
$cd abc                   
$pwd
/home/kt/abc       

تغییر دایرکتوری با مفهوم مسیر مطلق:

$pwd
/home/kt
$cd /home/kt/abc
$pwd
/home/kt/abc

 

 

منبع:

geeksforgeeks