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

سرور مجازی NVMe

لیست فایل ها را با استفاده از Bash Script کپی کنید

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


Bash (Bourne Again Shell) نوعی پوسته است که برای اجرای دستورات و اسکریپت ها است. Bash یک نسخه توسعه یافته از پوسته sh بود. Bash Script فایلی است که در آن چندین دستور پوسته برای انجام یک کار خاص اسکریپت می‌شوند. در این مقاله خواهیم دید که چگونه می توانیم چندین فایل را با استفاده از a کپی کنیم bash اسکریپت برای این مقاله، من از اوبونتو 20.04 برای نشان دادن مثال استفاده می کنم.

توجه: – $USER خواهد شد print نام کاربری کاربران وارد شده فعلی

اگر کنجکاو هستید چه نسخه ای bash shell در سیستم نصب شده است، می توانیم با استفاده از دستور زیر آن را بررسی کنیم.

$ bash — نسخه
لیست فایل ها را با استفاده از Bash Script کپی کنید

خروجی نسخه Bash.

ایجاد و اجرای Bash Script

بیایید با ایجاد یک فایل ساده با استفاده از هر ویرایشگر دلخواه شروع کنیم. برای من ویرایشگر vi راحت تر است. برای اجرایی شدن فایل باید shebang (!#) و را اضافه کنیم bash محل مترجم در ابتدای اسکریپت. من یک فایل text.txt ایجاد کرده ام و آن را به bash_demo dir در خانه خود اضافه کرده ام که حاوی متنی برای اهداف نمایشی است.

$ دست زدن به bash_demo.sh
$ vi bash_demo.sh

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

#!/صندوقچه/bash
cp text.txt /tmp/
echo “فایل کپی شد.”

ما می توانیم اسکریپت را با استفاده از ./ قبل از فایل اسکریپت اجرا کنیم که فایل dir فعلی را تعیین می کند.

$ ./bash_demo.sh

هنگامی که اسکریپت را اجرا می کنیم، خطای زیر در ما ایجاد می شود terminal.

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

لیست فایل ها را با استفاده از Bash Script کپی کنیدلیست فایل ها را با استفاده از Bash Script کپی کنید

اجرای اولیه bash فایل.

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

$ chmod +x bash_demo.sh
لیست فایل ها را با استفاده از Bash Script کپی کنیدلیست فایل ها را با استفاده از Bash Script کپی کنید

خروجی پس از اعطای مجوز

فقط فایل ها را از یک دایرکتوری خاص کپی کنید

برای واکشی همه فایل ها و dir از یک مسیر خاص، از حلقه for در اسکریپت استفاده می کنیم و سپس تنها فایل را با استفاده از شرط if فیلتر می کنیم. در مثال زیر، دستور cp را فقط در صورتی اجرا می کنیم که تکرار کننده فایلی باشد که با پرچم -f تعیین شده باشد.

#!/صندوقچه/bash

dpath = /var/ورود به سیستم/nginx/*
برای فایل که در $dpath
انجام دادن
اگر [[ -f $FILE ]]
سپس

cp $FILE /خانه/USER $/
دیگر

echo «هیچ فایلی وجود ندارد که در مسیر داده شده.»
فی
انجام شده

تمام فایل های پسوند خاص را کپی کنید

در این مثال، تمام فایل‌های با پسوند log را کپی می‌کنیم. باید *.log را به مسیر اضافه کنیم تا تنها فایل با پسوند log را فقط برای حلقه تکرار کنیم.

#!/صندوقچه/bash
برای فایل که در /var/ورود به سیستم/nginx/*ورود به سیستم
انجام دادن

cp $FILE /خانه/USER $/
انجام شده

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

در این مثال، ما تمام فایل ها از جمله دایرکتوری ها را به صورت بازگشتی کپی می کنیم. برای آن، ما فقط باید دستور -R cp را اضافه کنیم که در آن -R به صورت بازگشتی واکشی دایرکتوری را تعیین می کند.

#!/صندوقچه/bash
برای فایل که در /var/ورود به سیستم/*
انجام دادن

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

cp $FILE /خانه/USER $/
انجام شده

فایل ها را از مسیر مشخص شده توسط کاربر کپی کنید

در این مثال، فایل‌ها را از dir مشخص شده توسط کاربر کپی می‌کنیم. برای انجام این کار، از دستور read برای درخواست مسیر از کاربر استفاده می‌کنیم، سپس بررسی می‌کنیم که آیا کاربر مسیر dir را ارائه می‌کند یا خیر، که با پرچم -d در شرط انجام می‌شود. پس از تأیید dir، از یک حلقه for برای تکرار همه فایل ها و dir در داخل مسیر داده شده استفاده می کنیم، سپس دوباره تنها فایل ها را با استفاده از شرط if فیلتر می کنیم. اگر شرط مطابقت داشته باشد، دستور cp زیر اجرا می شود.

#!/صندوقچه/bash
echo “لطفاً یک مسیر به سمت dir ارائه دهید.”
خواندن مسیر
اگر [[ -d $path ]]
سپس
برای فایل که در مسیر $/*
انجام دادن
اگر [[ -f $FILE ]]
سپس

cp $FILE /خانه/USER $/
دیگر

echo «هیچ فایلی وجود ندارد که در مسیر داده شده.»
فی
انجام شده
دیگر

echo “مسیری به کارگردان مورد نیاز است”
فی

در خانه dir فایل های زیر و dir را دارم.

لیست فایل ها را با استفاده از Bash Script کپی کنیدلیست فایل ها را با استفاده از Bash Script کپی کنید

خروجی هنگام ارائه مسیر به یک فایل.

لیست فایل ها را با استفاده از Bash Script کپی کنیدلیست فایل ها را با استفاده از Bash Script کپی کنید

خروجی هنگام ارائه مسیر مکان dir.

لیست فایل ها را با استفاده از Bash Script کپی کنیدلیست فایل ها را با استفاده از Bash Script کپی کنید

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

لیست فایل ها را با استفاده از Bash Script کپی کنیدلیست فایل ها را با استفاده از Bash Script کپی کنید

نتیجه

در این مقاله با روش کپی کردن فایل ها با استفاده از آن آشنا می شویم bash اسکریپت نویسی ما می‌توانیم از بسیاری از عملیات‌های دیگر مانند حلقه، if-else و غیره استفاده کنیم. اسکریپت‌نویسی Bash هنگام کار با چند دستور برای انجام وظایف خاص مؤثرتر است. امیدوارم این مقاله را دوست داشته باشید روی کپی کردن فایل ها با استفاده از a bash اسکریپت

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

زمان انتشار: 1402-12-30 23:31:03

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

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

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