وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Bash وجود دایرکتوری را بررسی کنید

0 2
زمان لازم برای مطالعه: 4 دقیقه


دایرکتوری ها و پوشه ها بخش های اصلی و کاملا مهم هر سیستم عامل هستند. بدون دایرکتوری ها و فایل ها، سیستم ما کامل نمی شود. دایرکتوری ها برای ذخیره زیر پوشه ها و فایل هایی که داده ها را در آنها نگهداری می کنند برای کارهای امنیتی و شخصی استفاده می شود. در سیستم عامل لینوکس، ما نیز همان سیستم فایل را داریم، یعنی دایرکتوری ها و زیر پوشه ها. برنامه نویسی Bash برخی از دستورات و دستورات بسیار ساده را برای بررسی اینکه آیا دایرکتوری خاصی از یک فایل در سیستم ما وجود دارد یا خیر، ارائه کرد. بنابراین، ما تصمیم گرفتیم این مقاله را بنویسیم تا بررسی کنیم که آیا دایرکتوری در سیستم لینوکس ما وجود دارد یا خیر.

مثال 01: بررسی کنید که آیا فایل وجود دارد یا خیر

بیایید با مثال اصلی شروع کنیم. ابتدا نگاهی به بررسی یک فایل ساده در سیستم لینوکس خود خواهیم داشت، یعنی اینکه آیا وجود دارد یا نه. بنابراین، ما در حال ایجاد یک فایل نوع متن جدید به نام “new.txt” در پوشه اصلی اوبونتو با دستور “touch” بوده ایم. یک متن تک خطی در فایل اضافه کرده و نمایش داده ایم روی پوسته با استفاده از دستورالعمل “cat” نشان داده شده در زیر. خروجی دستور زیر در تصویر پیوست شده است.

$ دست زدن به new.txt
$ گربه new.txt

Bash وجود دایرکتوری را بررسی کنید

اکنون زمان ایجاد یک جدید است bash فایل را با دستور “touch” با نام “direc.sh” به صورت زیر انجام دهید. ما باید این فایل خالی را باز کنیم تا شروع به کدنویسی در آن کنیم. برای این کار، ما از دستورالعمل “nano” برای راه اندازی آن در داخل استفاده کرده ایم GNU ویرایشگر نانو خروجی دستور زیر در تصویر پیوست شده است.

$ دست زدن به direct.sh
$ نانو direct.sh

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

اکنون فایل خالی در ویرایشگر نانو باز شده است. در خط اول کد، یک متغیر فایل “F” را مقداردهی کرده ایم که مسیری به فایل “new.txt” را به صورت “/home/linux/new.txt” نگه می دارد. عبارت “اگر-آنگاه” از bash در اینجا برای بررسی اینکه آیا فایل “new.txt” وجود دارد یا نه استفاده شده است. بند “if” با کلمه کلیدی “test” و به دنبال آن پرچم “-f” برای فایل ها شروع می شود. در داخل کاماهای معکوس، متغیر “$F” را اضافه کرده ایم. پس از این، عبارت «then» با عبارت «echo» با استفاده از نام متغیر شروع شد تا نشان دهد که آیا وجود دارد یا نه. قسمت “then” دستور “if-then” تنها زمانی اجرا می شود که شرط “اگر” درست باشد.

پیشنهاد می‌کنیم بخوانید:  آموزش Bash PATH

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

بیایید اجرا کنیم bash فایل با استفاده از “bashکلمه کلیدی به دنبال نام یک فایل “direc.sh”. از آنجایی که فایل در فهرست اصلی سیستم ما وجود دارد، دستور echo را اجرا می کند و نشان می دهد که فایل وجود دارد. خروجی دستور زیر در تصویر پیوست شده است.

$ bash direct.sh

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

همین امر را می توان با استفاده از براکت های مربع در اطراف شرط “اگر” بدون استفاده از کلمه کلیدی “تست” مطابق شکل زیر به دست آورد. بیایید آن را اجرا کنیم تا نتیجه آن را در bash صفحه خروجی در داخل پوسته

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

پس از اجرای این کد به روز شده، ما همان نتیجه را داریم، یعنی فایل وجود دارد. خروجی دستور زیر در تصویر پیوست شده است.

$ bash direct.sh

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

مثال 02: بررسی کنید که آیا دایرکتوری وجود دارد یا خیر

بیایید نگاهی به کدی بیندازیم که برای بررسی اینکه آیا دایرکتوری پوشه در سیستم ما وجود دارد یا خیر. برای آن، ما از یک پوشه کاملاً جدید استفاده خواهیم کرد. بنابراین، در داخل terminal ناحیه پرس و جو پوسته، ما دستور “mkdir” را برای ایجاد یک دایرکتوری جدید به نام “new” امتحان کرده ایم. این دایرکتوری جدید ایجاد شده در کد ما برای بررسی وجود یا عدم وجود آن استفاده خواهد شد. دستور list برای دیدن همه دایرکتوری ها و فایل های موجود در پوشه اصلی اجرا می شود. ما می توانیم فهرست “جدید” را در خروجی نشان داده شده در زیر پوشه “Music” و بعد از “Downloads” مشاهده کنیم. خروجی دستور زیر در تصویر پیوست شده است.

$ mkdrir جدید
$ ls

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

بیایید همان فایل “direc.sh” را در ویرایشگر نانو اوبونتو باز کنیم تا یک کد جدید ایجاد کنیم. پس از راه‌اندازی فایل، باید یک متغیر دایرکتوری جدید “D” ایجاد کنیم که مسیری را به یک فهرست جدید به نام “new” به عنوان “/home/Linux/new” نگه می‌دارد. کار کلی برای بررسی وجود دایرکتوری در عبارت if-then-else انجام شده است bash. بنابراین، عبارت “if” با شرط بررسی دایرکتوری در یک سیستم با استفاده از پرچم “-d” برای “directory” همراه با متغیر دایرکتوری در کاماهای معکوس آغاز شده است. این شرایط در براکت های مربع استفاده شده است. اگر شرط برآورده شد و دایرکتوری وجود داشت، دستور “then” همراه با دستور “echo” آن اجرا می شود. در غیر این صورت، قسمت “دیگر” عبارت به همراه دستور “echo” آن استفاده می شود که نشان می دهد پرونده وجود ندارد. بیانیه کلی با کلمه کلیدی “fi” مطابق شکل زیر بسته می شود.

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

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

اکنون زمان اجرای ماست bash کد در terminal پوسته با استفاده از “bash” پرس و جو در تصویر نشان داده شده است. پس از اجرای آن، پیام موفقیت آمیزی دریافت می کنیم که نشان می دهد دایرکتوری وجود دارد. خروجی دستور زیر در تصویر پیوست شده است.

$ bash direct.sh

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

اگر می خواهید به اجرای قسمت else در پوسته برسید terminal، باید دایرکتوری را حذف کنید تا شرط برآورده نشود. بنابراین، ما دایرکتوری خالی تازه ساخته شده “new” را از پوشه اصلی سیستم Ubuntu 20.04 خود حذف کرده ایم. پس از این، محتویات پوشه اصلی را با استفاده از دستور list لیست کردیم و متوجه شدیم که هیچ دایرکتوری با نام “new” مانند زیر وجود ندارد. پس از اجرای همان “direc.sh” bash فایل با “bash” دستورالعمل، ما خروجی داریم که نشان می دهد قسمت دیگر کد اجرا شده است، یعنی دایرکتوری وجود ندارد.

$ ls

$ bash direct.sh

Bash وجود دایرکتوری را بررسی کنیدBash وجود دایرکتوری را بررسی کنید

نتیجه

سرانجام! ما توضیح دادیم که بررسی کنیم آیا دایرکتوری در سیستم Ubuntu 20.04 ما وجود دارد یا خیر. برای این، ما سعی کرده ایم bash اسکریپت برای رسیدن به هدفمان ما همچنین در مورد استفاده از “-f” برای بررسی فایل و “-d” برای بررسی دایرکتوری در سیستم بحث کرده ایم. همه نمونه ها ساده و مطابق با انتخاب کاربر ما هستند.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-30 02:47:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید