خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش انتقال فایل ها و دایرکتوری ها در لینوکس
جابجایی فایل ها و دایرکتوری ها یکی از کارهای ساده و پایه ای است که اغلب باید در سیستم لینوکس انجام دهید و هر کاربری باید انجام آن را بداند.
در این آموزش نحوه استفاده از دستور mv برای جابجایی فایل ها و دایرکتوری ها را توضیح خواهیم داد.
Syntax کلی استفاده از دستور mv بصورت زیر می باشد:
SOURCE می تواند یک یا چند فایل یا دایرکتوری باشد و DESTINATION می تواند یک فایل یا دایرکتوری باشد.
وقتی چندین فایل یا دایرکتوری به عنوان سورس معرفی می شود، DESTINATION باید یک دایرکتوری باشد. در این حالت فایل های SOURCE به دایرکتوری DESTINATION منتقل می شوند.
اگر یک فایل را به عنوان SOURCE مشخص کنید، و DESTINATION یک دایرکتوری موجود است، آنگاه فایل به دایرکتوری مشخص شده منتقل می شود.
اگر یک فایل را به عنوان SOURCE و یک فایل را به عنوان DESTINATION مشخص کنید، نام فایل rename خواهد شد.
وقتی SOURCE یک دایرکتوری یا فولدر است و DESTINATION هم وجود نداشته باشد، نام SOURCE به DESTINATION تغییر خواهد یافت. در غیر این صورت اگر DESTINATION وجود داشته باشد، SOURCE به داخل دایرکتوری DESTINATION انتقال یا move می شود.
برای جابجایی یک فایل یا دایرکتوری، باید مجوز write هم در SOURCE و هم DESTINATION داشته باشید. در غیر این صورت، یک خطای permission denied دریافت خواهید کرد.
به عنوان مثال، برای انتقال file1 از دایرکتوری جاری به دایرکتوری tmp/ دستور زیر را اجرا کنید:
برای rename کردن فایل باید نام فایل مقصد را مشخص کنید:
syntax انتقال یا move کردن دایرکتوری ها دقیقا مثل جابجایی فایل ها است(در این خصوص به دو لینک فوق می توانید مراجعه کنید).
در مثال زیر، اگر دایرکتوری dir2 وجود داشته باشد، دستور dir1 را به داخل dir2 منتقل می کند. اگر dir2 وجود نداشته باشد، dir1 به dir2 تغییر نام خواهد داد:
دستور mv همچنین به شما امکان می دهد از تطبیق الگو استفاده کنید. به عنوان مثال، برای انتقال همه فایل های pdf از دایرکتوری جاری به Documents باید دستور را به شکل زیر اجرا کنید:
گزینه هایی که در دستور mv می توانید استفاده کنید، در واقع رفتار این دستور را می تواند کنترل کند. مثلا در دستور زیر از گزینه i- استفاده خواهیم کرد. در این دستور از قصد داریم file1 را به دایرکتوری tpm/ انتقال دهیم. حالا اگر file1 از قبل در دایرکتوری مذکور وجود داشته باشد، فایل را overwrite می کند.
اگر فایل از قبل وجود داشته باشد، خروجی زیر را دریافت خواهید کرد:
اگر می خواهید انتقال انجام بگیرد، باید توجه داشته باشید که فایل شما overwrite خواهد شد و برای این منظور باید Y را تایپ و Enter کنید.
اگر بخواهید یک فایلی که read-only است را overwrite کنید، دستور mv از شما می خواهد که آیا می خواهید فایل را overwrite کنید:
برای اینکه هیچ درخواستی به شما نمایش داده نشود، دستور را f- که نماد Force است همراه کنید.
این گزینه به ویژه زمانی مفید است که نیاز به overwrite چندین فایل read-only دارید.
چنانچه نمی خواهید overwrite انجام شود، دستور mv را با n- همراه کنید. بدین ترتیب هرگز هیچ فایل موجود را بازنویسی نمی کند.
اگر file1 وجود داشته باشد، دستور بالا هیچ کاری انجام نمی دهد. در غیر این صورت فایل را به فولدر tmp/ انتقال می دهد.
وقتی کاری با دستور mv انجام می دهید، از نتیجه کار چیزی در خروجی دستور در ترمینال مشاهده نخواهید کرد. اما با کمک v- می توانید از هر کاری دستور mv انحام می دهد، مطلع شوید.
در این آموزش نحوه استفاده از دستور mv برای جابجایی فایل ها و دایرکتوری ها را توضیح خواهیم داد.
نحوه استفاده از دستور mv در لینوکس
دستور mv مخفف move بوده و برای تغییر نام و انتقال فایل ها و دایرکتوری ها از یک مکان به مکان دیگر استفاده می شود.Syntax کلی استفاده از دستور mv بصورت زیر می باشد:
mv [OPTIONS] SOURCE DESTINATION
SOURCE می تواند یک یا چند فایل یا دایرکتوری باشد و DESTINATION می تواند یک فایل یا دایرکتوری باشد.
وقتی چندین فایل یا دایرکتوری به عنوان سورس معرفی می شود، DESTINATION باید یک دایرکتوری باشد. در این حالت فایل های SOURCE به دایرکتوری DESTINATION منتقل می شوند.
اگر یک فایل را به عنوان SOURCE مشخص کنید، و DESTINATION یک دایرکتوری موجود است، آنگاه فایل به دایرکتوری مشخص شده منتقل می شود.
اگر یک فایل را به عنوان SOURCE و یک فایل را به عنوان DESTINATION مشخص کنید، نام فایل rename خواهد شد.
وقتی SOURCE یک دایرکتوری یا فولدر است و DESTINATION هم وجود نداشته باشد، نام SOURCE به DESTINATION تغییر خواهد یافت. در غیر این صورت اگر DESTINATION وجود داشته باشد، SOURCE به داخل دایرکتوری DESTINATION انتقال یا move می شود.
برای جابجایی یک فایل یا دایرکتوری، باید مجوز write هم در SOURCE و هم DESTINATION داشته باشید. در غیر این صورت، یک خطای permission denied دریافت خواهید کرد.
به عنوان مثال، برای انتقال file1 از دایرکتوری جاری به دایرکتوری tmp/ دستور زیر را اجرا کنید:
mv file1 /tmp
برای rename کردن فایل باید نام فایل مقصد را مشخص کنید:
mv file1 file2
syntax انتقال یا move کردن دایرکتوری ها دقیقا مثل جابجایی فایل ها است(در این خصوص به دو لینک فوق می توانید مراجعه کنید).
در مثال زیر، اگر دایرکتوری dir2 وجود داشته باشد، دستور dir1 را به داخل dir2 منتقل می کند. اگر dir2 وجود نداشته باشد، dir1 به dir2 تغییر نام خواهد داد:
mv dir1 dir2
انتقال چندین فایل و دایرکتوری با دستور mv در لینوکس
برای جابجایی چندین فایل و دایرکتوری، فایل هایی را که می خواهید منتقل کنید به عنوان سورس مشخص کنید. به عنوان مثال، برای move کردن فایل های file1 و file2 به فولدر dir1 دستور زیر را اجرا کنید:mv file1 file2 dir1
دستور mv همچنین به شما امکان می دهد از تطبیق الگو استفاده کنید. به عنوان مثال، برای انتقال همه فایل های pdf از دایرکتوری جاری به Documents باید دستور را به شکل زیر اجرا کنید:
mv *.pdf ~/Documents
گزینه هایی که در دستور mv می توانید استفاده کنید، در واقع رفتار این دستور را می تواند کنترل کند. مثلا در دستور زیر از گزینه i- استفاده خواهیم کرد. در این دستور از قصد داریم file1 را به دایرکتوری tpm/ انتقال دهیم. حالا اگر file1 از قبل در دایرکتوری مذکور وجود داشته باشد، فایل را overwrite می کند.
mv -i file1 /tmp
اگر فایل از قبل وجود داشته باشد، خروجی زیر را دریافت خواهید کرد:
mv: overwrite '/tmp/file1'?
اگر می خواهید انتقال انجام بگیرد، باید توجه داشته باشید که فایل شما overwrite خواهد شد و برای این منظور باید Y را تایپ و Enter کنید.
اگر بخواهید یک فایلی که read-only است را overwrite کنید، دستور mv از شما می خواهد که آیا می خواهید فایل را overwrite کنید:
mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)?
برای اینکه هیچ درخواستی به شما نمایش داده نشود، دستور را f- که نماد Force است همراه کنید.
mv -f file1 /tmp
این گزینه به ویژه زمانی مفید است که نیاز به overwrite چندین فایل read-only دارید.
چنانچه نمی خواهید overwrite انجام شود، دستور mv را با n- همراه کنید. بدین ترتیب هرگز هیچ فایل موجود را بازنویسی نمی کند.
mv -n file1 /tmp
اگر file1 وجود داشته باشد، دستور بالا هیچ کاری انجام نمی دهد. در غیر این صورت فایل را به فولدر tmp/ انتقال می دهد.
وقتی کاری با دستور mv انجام می دهید، از نتیجه کار چیزی در خروجی دستور در ترمینال مشاهده نخواهید کرد. اما با کمک v- می توانید از هر کاری دستور mv انحام می دهد، مطلع شوید.
mv -v file1 /tmp
renamed 'file1' -> '/tmp/file1'
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: