لینوکس

آموزش تغییر نام دایرکتوری در لینوکس با 5 روش آسان!+آموزش تصویری✨

نحوه تغییر نام دایرکتوری در لینوکس|چگونه دایرکتوری ها را در لینوکس تغییر نام دهیم؟|نحوه تغییر نام دایرکتوری در لینوکس با دستور mv را در جت تک مطالعه کنید.

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

داده های ایمن شما

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

دلیلش هر چی باشه تغییر نام دایرکتوری کاری برای داده های موجود در آن انجام نمی دهد. مسیر آن داده ها را تغییر می دهد، اما فایل ها و دایرکتوری های داخل دایرکتوری تغییر نام داده شده شما لمس نمی شوند.

نام دایرکتوری های سیستم را تغییر ندهید . تغییر مسیر به فایل‌های سیستم و دستورات حداقل می‌تواند تأثیر مضری بر عملکرد رایانه شما داشته باشد. اگر برای تغییر نام دایرکتوری نیاز دارید -sudo مگر اینکه واقعاً بدانید چه کاری انجام می دهید – به احتمال زیاد نباید نام آن را تغییر دهید.

آموزش تغییر نام دایرکتوری در لینوکس با دستور mv

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

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

در واقع مخفف “move یا حرکت” است و می توان از آن برای انتقال فایل ها از دایرکتوری به دایرکتوری دیگر استفاده کرد. اگر فایلی را به همان مکانی که قبلاً در آن قرار دارد منتقل کنید و نام جدیدی به آن بدهید، نام فایل را تغییر داده اید. و ما می توانیم همین کار را با دایرکتوری ها انجام دهیم.

دو زیر شاخه در این دایرکتوری وجود دارد.

ls

برای تغییر نام دایرکتوری از دستور mv استفاده می کنیم. ما باید نام فعلی دایرکتوری و نام جدید را ارائه کنیم.

mv old-work archive-2

اگر دایرکتوری که می خواهید نام آن را تغییر دهید در فهرست فعلی شما نیست، مسیر و همچنین نام دایرکتوری را وارد کنید.

mv ~/htg/old-work ~/htg/archive-2
ls

آموزش تغییر نام دایرکتوری در لینوکس با مرورگر فایل

مرورگرهای فایل قادر به تغییر نام دایرکتوری ها هستند. ضربه زدن به کلید در برنامه GNOME Files F2 است. برجسته کردن یک دایرکتوری و ضربه زدن روی کلید F2، گفتگوی “Rename Folder یا تغییر نام پوشه” را باز می کند.

نام جدید را وارد کنید و روی دکمه سبز رنگ “Rename” کلیک کنید.

دایرکتوری برای شما تغییر نام داده است.

به همین سادگی.

آموزش تغییر نام Command

اگر نیازهای شما پیچیده تر از تغییر نام یک دایرکتوری است، ممکن است لازم باشد از دستور rename استفاده کنید. این به شما امکان می دهد از عبارات Perl برای تغییر نام فایل ها و دایرکتوری ها استفاده کنید. این یک روش کاملاً قدرتمندتر و انعطاف پذیر برای تغییر نام دایرکتوری ها ارائه می دهد.

ما در مورد دستور مبتنی بر Perl صحبت خواهیم کرد. یک فرمان قدیمی دیگر به نام وجود دارد به نام rename که بخشی از ابزارهای اصلی لینوکس است. احتمالاً باید rename دستور Perl را که می خواهیم استفاده کنیم را نصب کنید.


مطلب مرتبط: آموزش نصب فایل DEB در لینوکس


برای جلوگیری از تداخل نام با دستور موجود rename، دستور Perl در فدورا و در Manjaro rename فراخوانی می شود. در اوبونتو، دستورات و هر دو پیوندهای نمادین هستند که به یک باینری به نام .prenameperl-renamerenameprenamefile-rename

بنابراین، در Manjaro دستوری که باید استفاده کنید perl-rename، و در فدورا این است prename. در اوبونتو، می توانید از rename یا استفاده کنید prename.

برای نصب تغییر نام پرل، در اوبونتو باید تایپ کنید:

sudo apt install rename

در فدورا لینوکس، دستور این است:

sudo dnf install prename

در Manjaro بسته نامیده می شود perl-rename.

sudo pacman -Sy perl-rename

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

مراحل اول با تغییر نام

این rename دستور عبارات منظم پرل را می گیرد و آنها را در یک فایل یا دایرکتوری یا گروهی از فایل ها یا دایرکتوری ها اعمال می کند.

در دایرکتوری ما مجموعه ای از دایرکتوری های دیگر را داریم.

ls

نام آنها مخلوطی از حروف کوچک، بزرگ و حروف مختلط است. می توانیم با یک عبارت مناسب همه آنها را به حروف کوچک تبدیل کنیم.

rename ‘y/A-Z/a-z/’ *
ls

همه دایرکتوری ها اکنون با حروف کوچک هستند، خواه قبلاً کاملاً بزرگ بودند یا حاوی حروف بزرگ عجیب و غریب.


مطلب مرتبط: آموزش نصب فایل RPM در لینوکس


تمام سحر و جادو در بیان موجود است. این عبارت در یک نقل قول ” ‘” پیچیده شده است. این همان چیزی است که کل دستور به معنای آن است.

  • y : به این معنی است که هر کاراکتری را در محدوده اول کاراکترها جستجو کنید و آن را با کاراکتر مربوطه از دامنه کاراکترهای دوم جایگزین کنید.
  • /AZ/az/ : محدوده اول همه حروف از “A” تا “Z” و محدوده دوم همه کاراکترهای “a” تا “z” است.
  • * : علامت ستاره به این معنی است که این مورد را در همه دایرکتوری ها اعمال کنید.

به عبارت دیگر، دستور به صورت «برای همه فهرست‌ها، حروف بزرگ را با حروف کوچک معادل عوض کنید» خوانده می‌شود.

بدیهی است که می‌توانید با تغییر نام، نام یک دایرکتوری را تغییر دهید، گرچه این کار بیش از حد به نظر می‌رسد. با استفاده از mv سریعتر خواهید بود.

rename ‘s/gamma/epsilon-2/’ *
ls

“s” در این عبارت به معنای جایگزین است. هر دایرکتوری را بررسی می کند تا ببیند آیا نام آن “gamma” است یا خیر. اگر اینطور باشد، آن را با “epsilon-2″ جایگزین می کند. البته توجه داشته باشید که این نیز با دایرکتوری به نام «gamma-zeta» مطابقت دارد، برای مثال، نام آن را به «epsilon-2-zeta» تغییر می‌دهد.

ما می توانیم با اضافه کردن متاکاراکترهای شروع رشته ” ^” و انتهای رشته ” $” به اولین بند عبارت از این امر جلوگیری کنیم.

ls
rename ‘s/^gamma$/epsilon-2/’ *
ls

این دایرکتوری “epsilon-2” را دست نخورده باقی می گذارد.

آموزش تغییر نام دایرکتوری در لینوکس با استفاده از rename با سایر دستورات

می‌توانیم از دستورات دیگری برای یافتن دایرکتوری‌هایی که می‌خواهیم نامشان را تغییر دهیم استفاده کنیم. اگر مجموعه‌ای از دایرکتوری‌های تودرتو داشته باشیم و بخواهیم هر کدام را که به «-old» ختم می‌شود، تغییر نام دهیم تا به «-archive» ختم شود، می‌توانیم با استفاده از find و xargs به آن دست پیدا کنیم.

ما باید از xargs استفاده کنیم زیرا تغییر نام ورودی لوله ای را نمی پذیرد. دستور xargs با پذیرش ورودی لوله شده و اضافه کردن به خط فرمان یک فرمان دیگر به عنوان پارامتر خط فرمان، بر آن مشکل غلبه می کند.

دستور ما به این صورت است:

find . -depth -type d -name “*-old” | xargs -r rename “s/old$/archive/”

به find می گوییم که در فهرست فعلی جستجو را شروع کند. البته این می تواند هر مسیری باشد.

  • depth : از جستجوی اول عمق استفاده کنید. این بدان معناست که محتویات زیر شاخه های تو در تو عمیق تر قبل از زیرشاخه های بالاتر پردازش می شوند.
  • -type d : جستجوی دایرکتوری ها، نه فایل ها.
  • -name “*-old” : سرنخ جستجو. ما به دنبال دایرکتوری هایی می گردیم که اسامی آنها به «-old» ختم می شود.
  • | : خروجی را از find در xargsدستور لوله گذاری می کنیم.
  • xargs -r : -r(بدون اجرا اگر خالی باشد) به این معنی است که اگر دایرکتوری های منطبقی وجود ندارد، دستور را اجرا نکنید.
  • rename “s/old$/archive/” : renameدستوری که باید اجرا شود.

درخت دایرکتوری ما قبل از دستور شبیه به این است.

ما دستور خود را اجرا می کنیم:

و می بینیم که همه دایرکتوری های منطبق از جمله دایرکتوری های تودرتو تغییر نام داده اند.

نتیجه گیری

تغییر نام دایرکتوری به چیزی بیشتر از mv نیاز ندارد. اگر برنامه های رابط کاربری گرافیکی را ترجیح می دهید، می توانید از مرورگر فایل خود استفاده کنید. اگر تعداد زیادی دایرکتوری برای تغییر نام دارید، و به خصوص اگر در یک درخت دایرکتوری پراکنده هستند، به انعطاف پذیری rename نیاز خواهید داشت.

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا