از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
لیست فایل ها را با استفاده از Bash Script کپی کنید
سرفصلهای مطلب
توجه: – $USER خواهد شد print نام کاربری کاربران وارد شده فعلی
اگر کنجکاو هستید چه نسخه ای bash shell در سیستم نصب شده است، می توانیم با استفاده از دستور زیر آن را بررسی کنیم.
ایجاد و اجرای Bash Script
بیایید با ایجاد یک فایل ساده با استفاده از هر ویرایشگر دلخواه شروع کنیم. برای من ویرایشگر vi راحت تر است. برای اجرایی شدن فایل باید shebang (!#) و را اضافه کنیم bash محل مترجم در ابتدای اسکریپت. من یک فایل text.txt ایجاد کرده ام و آن را به bash_demo dir در خانه خود اضافه کرده ام که حاوی متنی برای اهداف نمایشی است.
$ vi bash_demo.sh
خطوط زیر را در ویرایشگر متن خود برای نمونه نمایشی پس از ایجاد یک فایل اضافه کنید. اگر این کار را نکرده اید، ویرایشگر یک فایل جدید ایجاد می کند روی بنویس و ترک کن
cp text.txt /tmp/
echo “فایل کپی شد.”
ما می توانیم اسکریپت را با استفاده از ./ قبل از فایل اسکریپت اجرا کنیم که فایل dir فعلی را تعیین می کند.
هنگامی که اسکریپت را اجرا می کنیم، خطای زیر در ما ایجاد می شود terminal.
وقتی به صورت پیش فرض یک فایل ایجاد می کنیم، کاربر مجوز اجرای فایل را ندارد. برای ارائه مجوز اجرا به کاربر، دستور زیر باید اجرا شود.
فقط فایل ها را از یک دایرکتوری خاص کپی کنید
برای واکشی همه فایل ها و dir از یک مسیر خاص، از حلقه for در اسکریپت استفاده می کنیم و سپس تنها فایل را با استفاده از شرط if فیلتر می کنیم. در مثال زیر، دستور cp را فقط در صورتی اجرا می کنیم که تکرار کننده فایلی باشد که با پرچم -f تعیین شده باشد.
dpath = /var/ورود به سیستم/nginx/*
برای فایل که در $dpath
انجام دادن
اگر [[ -f $FILE ]]
سپس
cp $FILE /خانه/USER $/
دیگر
echo «هیچ فایلی وجود ندارد که در مسیر داده شده.»
فی
انجام شده
تمام فایل های پسوند خاص را کپی کنید
در این مثال، تمام فایلهای با پسوند log را کپی میکنیم. باید *.log را به مسیر اضافه کنیم تا تنها فایل با پسوند log را فقط برای حلقه تکرار کنیم.
برای فایل که در /var/ورود به سیستم/nginx/*ورود به سیستم
انجام دادن
cp $FILE /خانه/USER $/
انجام شده
همه فایل ها از جمله دایرکتوری را کپی کنید
در این مثال، ما تمام فایل ها از جمله دایرکتوری ها را به صورت بازگشتی کپی می کنیم. برای آن، ما فقط باید دستور -R cp را اضافه کنیم که در آن -R به صورت بازگشتی واکشی دایرکتوری را تعیین می کند.
برای فایل که در /var/ورود به سیستم/*
انجام دادن
cp -ر $FILE /خانه/USER $/
انجام شده
فایل ها را از مسیر مشخص شده توسط کاربر کپی کنید
در این مثال، فایلها را از dir مشخص شده توسط کاربر کپی میکنیم. برای انجام این کار، از دستور read برای درخواست مسیر از کاربر استفاده میکنیم، سپس بررسی میکنیم که آیا کاربر مسیر dir را ارائه میکند یا خیر، که با پرچم -d در شرط انجام میشود. پس از تأیید dir، از یک حلقه for برای تکرار همه فایل ها و dir در داخل مسیر داده شده استفاده می کنیم، سپس دوباره تنها فایل ها را با استفاده از شرط if فیلتر می کنیم. اگر شرط مطابقت داشته باشد، دستور cp زیر اجرا می شود.
echo “لطفاً یک مسیر به سمت dir ارائه دهید.”
خواندن مسیر
اگر [[ -d $path ]]
سپس
برای فایل که در مسیر $/*
انجام دادن
اگر [[ -f $FILE ]]
سپس
cp $FILE /خانه/USER $/
دیگر
echo «هیچ فایلی وجود ندارد که در مسیر داده شده.»
فی
انجام شده
دیگر
echo “مسیری به کارگردان مورد نیاز است”
فی
در خانه dir فایل های زیر و dir را دارم.
خروجی هنگام ارائه مسیر به یک فایل.
خروجی هنگام ارائه مسیر مکان dir.
پس از اجرای فایل اسکریپت، می توانیم خروجی را در dir از پیش تعریف شده در اسکریپت بررسی کنیم. در مورد من، من فایل را در خانه خود کپی کرده ام و نتیجه زیر است.
نتیجه
در این مقاله با روش کپی کردن فایل ها با استفاده از آن آشنا می شویم bash اسکریپت نویسی ما میتوانیم از بسیاری از عملیاتهای دیگر مانند حلقه، if-else و غیره استفاده کنیم. اسکریپتنویسی Bash هنگام کار با چند دستور برای انجام وظایف خاص مؤثرتر است. امیدوارم این مقاله را دوست داشته باشید روی کپی کردن فایل ها با استفاده از a bash اسکریپت
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 23:31:03