لینوکس‌لرنینگ

دستور ساخت پوشه در لینوکس

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

دستور اصلی ایجاد دایرکتوری در لینوکس: mkdir

برای ایجاد یک دایرکتوری در لینوکس می‌توانیم از دستور mkdir در لینوکس که مخفف make directory است در خط فرمان استفاده کنیم. mkdir یکی از دستورات لینوکس است که با استفاده از آن می‌توانیم به طور همزمان چندین پوشه ایجاد کنیم و به هر کدام از آن‌ها مجوزهای لازم را اعطا کنیم. هر کاربری که یک دایرکتوری ایجاد می‌کند باید مجوزهای کافی در دایرکتوری والد داشته باشد در غیر این صورت ممکن است با خطای permission denied به معنای رد مجوز برخورد کند.

سینتکس دستور mkdir:

mkdir [options..] [directories..]

در این دستور پس از mkdir باید از آپشن‌های موردنیاز استفاده کنیم و در ادامه نام دایرکتوری را وارد خواهیم کرد. 

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

  • -m: برای تنظیم سطح مجوز پوشه. اگر به صورت پیش فرض باشد، یعنی مجوز مشخص نشده باشد، همان مجوز والد خود را می‌گیرد.
  • -p: ساختارهای دایرکتوری‌ها را از مسیر والد ایجاد می‌کند.
  • -v: دایرکتوری‌های ایجاد شده را به صراحت چاپ می‌کند.
  • -Z: به طور پیش فرض، امنیت SELinux را تنظیم می‌کند.

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

mkdir book_titles

خروجی:

ls

book_titles

برای ایجاد یک دایرکتوری در یک پوشه خاص می‌توانید از دستور زیر استفاده کنید:

mkdir /tmp/examples

خروجی:

cd /tmp

ls

examples

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

mkdir book_titles/history book_titles/social_science

خروجی:

cd book_titles

ls -R

.:

history  social_science

./history:

./social_science:

چندین فهرست با استفاده از کاراکترهای خاص ایجاد کنید:

mkdir book_titles/{maths,science,biology}

خروجی:

cd book_titles

ls -R

.:

biology  history  maths  science  social_science

./biology:

./history:

./maths:

./science:

./social_science:

چگونه در لینوکس یک پوشه بسازیم؟

برای ایجاد یک پوشه در لینوکس می‌توانیم از گزینه‌های مختلفی مانند موارد زیر استفاده کنیم. توضیحات هر گزینه برای درک بهتر ذکر شده است.

گزینه‌هاتوضیحات
-m، –mode=MODEدر تنظیم حالت فایل مانند دستور chmod کمک خواهد کرد.
 -p, –parentsساختارهای پوشه را از دایرکتوری‌های والد ایجاد می‌کند، در صورت وجود خطا ایجاد نمی‌کند.
-v, –verboseهنگامی که هر دایرکتوری ایجاد می‌شود، پیام‌ها را چاپ می‌کند.
#NAME?داده‌های امنیتی SELinux را در هر دایرکتوری ایجاد شده به طور پیش فرض تنظیم می‌کند.
–context[=CTX]این شبیه به آپشن -Z است، یا اگر CTX در استدلال ارسال شود، داده‌های امنیتی SELinux یا SMACK را روی CTX تنظیم می‌کند.
–helpلیست گزینه‌ها را چاپ می‌کند و خارج می‌شود.
–versionاطلاعات نسخه خروجی را چاپ می‌کند و خارج می‌شود.

آموزش استفاده از آپشن‌های ساخت دایرکتوری در لینوکس

در ادامه هر کدام از آپشن‌های موجود برای دستور mkdir را بررسی و توضیح خواهیم داد.

1- بدون استفاده از آپشن

هنگامی که هیچ آپشنی به همراه دستور mkdir ارسال نمی‌کنید به سادگی دایرکتوری مدنظر در مکان مشخص شده ایجاد می‌شود. همانند دستور زیر به راحتی می‌توانید با این دستور یک یا چند دایرکتوری به صورت هم زمان ایجاد کنید:

سینتکس:

mkdir [directories]

مثال:

mkdir folder1 folder2 folder3

در این مثال سه پوشه با نام‌های folder1،  folder2 و  folder3 ایجاد می‌شود.

2- آپشن –version

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

سینتکس:

mkdir –version

3- آپشن –help

آپشن ‘–help’ تمام گزینه‌های موجود برای دستور ‘mkdir’ را با توضیحات آن نمایش می‌دهد.

سینتکس:

mkdir –help

4- آپشن -v, –verbose

این گزینه اطلاعات دایرکتوری‌های ایجاد شده توسط mkdir را نشان می‌دهد.

سینتکس:

mkdir -v [directories..]

مثال:

mkdir -v fold1 fold2 fold3

5- آپشن -p

گزینه -p به ایجاد دایرکتوری‌ها از مسیر والد کمک می‌کند. همچنین اگر دایرکتوری‌ها وجود داشته باشند، هیچ خطایی نمایش داده نمی‌شود. اگر فلگ «-p» را مشخص نکنیم و سعی کنیم دایرکتوری‌هایی را از مسیر والد ایجاد کنیم، خطای مبنی بر «هیچ فایل یا دایرکتوری یافت نشد» no such file or directory found مشاهده خواهیم کرد. این دستور زمانی استفاده می‌شود که از وجود یک دایرکتوری مطمئن نیستید. زیرا در این دستور اگر یک دایرکتوری والد وجود داشته باشد بدون خطا به ایجاد ادامه دایرکتوری‌های زیر شاخه می‌پردازد.

سینتکس:

mkdir -p [directories]

مثال:

mkdir -p vegitables/roots/carrot

خروجی:

cd vegitables

ls -R

vegitables/:

roots

vegitables/roots:

carrot

vegitables/roots/carrot:

6- آپشن -m

گزینه -m به تنظیم مجوزهای فایل کمک می‌کند. شبیه دستور chmod در لینوکس است. ما می‌توانیم مجوزهای پوشه را طبق نیاز خود مشخص کنیم.

سینتکس:

mkdir -m a=rwx [directories]

مثال:

در اینجا مجوزهای پوشه روی rwx تنظیم شده است که به این معنی است که تمام مجوزها مانند خواندن، نوشتن و اجرا به پوشه داده می‌شود.

mkdir -m a=rwx book_titles

خروجی:

cd book_titles

ls

drwxrwxrwx 2 expert expert 4096 Sep 28 20:45 book_names/

جمع بندی

برای ایجاد یک دایرکتوری در لینوکس از دستور mkdir استفاده می‌شود. این دستور آپشن‌های زیادی دارد که هرکدام یک ویژگی به این دستور اضافه می‌کنند و در صورت نیاز می‌توانید از آن‌ها استفاده کنید. در این مقاله به خوبی یاد گرفتید با استفاده از دستور mkdir یک دایرکتوری ایجاد کنید و نیازهای خود را برطرف کنید. mkdir که یکی از پرکاربردترین دستورات لینوکس برای ایجاد پوشه از طریق CLI به شمار می‌آید.

سؤالات متداول

دستور mkdir برای چیست؟

با استفاده از دستور mkdir می‌توانید یک یا چندین پوشه یا زیر شاخه ایجاد کنید.

چگونه در لینوکس یک دایرکتوری ایجاد کنم؟

با استفاده از دستور mkdir می‌توانید یک دایرکتوری ایجاد کنید. مثال:

mkdir my_folder_name

mkdir -p در لینوکس به چه معناست؟

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

چگونه یک فایل در لینوکس ایجاد کنیم؟

  1. با استفاده از دستور touch
  2. با استفاده از دستور cat 

و سایر دستورهای ایجاد فایل موجود در لینوکس

لینوکس دایرکتوری چیست؟

دایرکتوری مکانی برای ذخیره فایل‌ها در رایانه شما است. دایرکتوری همان پوشه‌های شما است.

پیمایش به بالا