این دستور mvposix است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
mv - انتقال فایل ها
خلاصه
mv [-اگر] منبع فایل target_file
mv [-اگر] منبع فایل... target_dir
شرح
در اولین شکل خلاصه، mv ابزار باید فایلی را که توسط منبع فایل
عملوند به مقصد مشخص شده توسط target_file. این اولین فرم خلاصه است
زمانی فرض می شود که عملوند نهایی یک دایرکتوری موجود را نام نمی برد و نمادی نیست
پیوندی که به دایرکتوری موجود اشاره دارد. در این صورت اگر منبع فایل نام یک غیر
فایل دایرکتوری و target_file با یک دنباله به پایان می رسد شخصیت، mv باید این را درمان کند
به عنوان یک خطا و نه منبع فایل عملوندها پردازش خواهند شد.
در فرم خلاصه دوم، mv باید هر فایلی که با a نامگذاری شده است را جابجا کند منبع فایل عملوند به a
فایل مقصد در دایرکتوری موجود با نام target_dir عملوند یا ارجاع داده شده است
if target_dir یک پیوند نمادین است که به دایرکتوری موجود اشاره دارد. مسیر مقصد
برای هر منبع فایل باید الحاق دایرکتوری هدف، یک واحد باشد
اگر هدف به a ختم نمی شد و آخرین مولفه نام مسیر
منبع فایل. این شکل دوم زمانی در نظر گرفته می شود که عملوند نهایی یک موجود را نامگذاری کند
دایرکتوری.
اگر هر عملوندی یک فایل موجود از نوعی را مشخص کند که توسط واسط های سیستم مشخص نشده است
حجم POSIX.1-2008، رفتار پیاده سازی شده است.
برای هر یک از منبع فایل مراحل زیر باید انجام شود:
1. اگر مسیر مقصد وجود داشته باشد، -f گزینه مشخص نشده است و یکی از
شرایط زیر درست است:
آ. مجوزهای مسیر مقصد اجازه نوشتن و استاندارد را نمی دهند
ورودی یک ترمینال است.
ب i گزینه مشخص شده است.
la mv ابزار باید یک دستور به خطای استاندارد بنویسد و یک خط از استاندارد بخواند
ورودی اگر پاسخ مثبت نباشد، mv با جریان دیگر کاری انجام نخواهد داد
منبع فایل و به هر باقی مانده بروید منبع فایلs.
2. اگر منبع فایل نام عملوند و مسیر مقصد همان فایل موجود، سپس
مسیر مقصد نباید حذف شود و یکی از موارد زیر رخ می دهد:
آ. هیچ تغییری در آن ایجاد نمی شود منبع فایل، هیچ خطایی رخ نمی دهد و هیچ تشخیصی صادر نمی شود.
ب هیچ تغییری در آن ایجاد نمی شود منبع فایل، یک تشخیص به خطای استاندارد صادر می شود
شناسایی دو نام، و وضعیت خروج تحت تاثیر قرار می گیرد.
ج اگر منبع فایل ورودی های دایرکتوری متمایز نام مسیر مقصد و عملوند،
سپس منبع فایل عملوند حذف می شود، هیچ خطایی رخ نمی دهد و هیچ تشخیصی وجود ندارد
صادر شده.
La mv ابزار دیگر هیچ کاری با جریان انجام نخواهد داد منبع فایل، و به هر کدام بروید
باقی مانده منبع فایلs.
3. mv ابزار باید اقداماتی معادل تغییر نام دهید() تابع تعریف شده در
حجم System Interfaces POSIX.1-2008، با آرگومان های زیر فراخوانی شده است:
آ. منبع فایل عملوند به عنوان قدیمی بحث و جدل.
ب مسیر مقصد به عنوان استفاده می شود جدید بحث و جدل.
اگر این موفق شد، mv با جریان دیگر کاری انجام نخواهد داد منبع فایل و به ادامه
باقیمانده منبع فایلس اگر به دلایلی غیر از مواردی که توضیح داده شد، این کار انجام نشد
برای ارنو [EXDEV] در جلد سیستم واسط POSIX.1-2008، mv باید بنویسد
یک پیام تشخیصی به خطای استاندارد، با جریان دیگر کاری انجام ندهید منبع فایل,
و به هر باقی مانده بروید منبع فایلs.
4. اگر مسیر مقصد وجود داشته باشد و فایلی از نوع دایرکتوری و منبع فایل is
فایلی از نوع دایرکتوری نیست، یا فایلی از نوع دایرکتوری نیست و منبع فایل is
یک فایل از نوع دایرکتوری، mv باید یک پیام تشخیصی به خطای استاندارد بنویسد، انجام دهید
هیچ چیز بیشتر با جریان منبع فایل، و به هر باقی مانده بروید منبع فایلs.
اگر مسیر مقصد وجود داشته باشد و در مرحله قبلی ایجاد شده باشد، نامشخص است
آیا این به عنوان یک خطا تلقی می شود یا مسیر مقصد بازنویسی می شود.
5. اگر مسیر مقصد وجود داشته باشد، mv برای حذف آن تلاش خواهد کرد. اگر این برای هر کدام شکست بخورد
دلیل، mv باید یک پیغام تشخیصی به خطای استاندارد بنویسد، دیگر کاری با آن انجام ندهید
در حال حاضر منبع فایل، و به هر باقی مانده بروید منبع فایلs.
6. سلسله مراتب فایل ریشه در منبع فایل باید به عنوان یک سلسله مراتب فایل کپی شود
ریشه در مسیر مقصد دارد. اگر منبع فایل یا هر یک از فایل های زیر آن در
سلسله مراتب پیوندهای نمادین هستند، خود پیوندها باید تکرار شوند، از جمله
محتویات آنها، به جای هر فایلی که به آنها ارجاع می دهند. به شرح زیر
ویژگی های هر فایل در سلسله مراتب فایل باید کپی شود:
* زمان آخرین اصلاح داده ها و زمان آخرین دسترسی
* شناسه کاربری و شناسه گروه
* حالت فایل
اگر شناسه کاربر، شناسه گروه یا حالت فایل یک فایل معمولی قابل تکرار نباشد،
بیت های حالت فایل S_ISUID و S_ISGID نباید تکراری شوند.
هنگامی که فایل ها به سیستم فایل دیگری کپی می شوند، پیاده سازی ممکن است به آن نیاز داشته باشد
فراخوانی فرآیند mv دسترسی خواندن به هر فایل در حال تکرار دارد.
اگر فایلهایی که به سیستم فایل دیگری کپی میشوند، پیوندهای سختی به فایلهای دیگر داشته باشند، چنین است
مشخص نیست که آیا فایل های کپی شده در سیستم فایل جدید دارای پیوندهای سخت هستند یا خیر
کپی های حفظ شده یا جداگانه برای فایل های پیوند شده ایجاد می شود.
اگر به هر دلیلی سلسله مراتب فایل تکراری نشد، mv باید بنویسد
پیام تشخیصی به خطای استاندارد، با جریان بیشتر کاری نکنید منبع فایل,
و به هر باقی مانده بروید منبع فایلs.
اگر به هر دلیلی ویژگی های فایل تکراری نشد، mv باید بنویسد
پیام تشخیصی به خطای استاندارد می رسد، اما این شکست نباید باعث شود mv برای اصلاح
وضعیت خروج آن
7. سلسله مراتب فایل ریشه در منبع فایل حذف خواهد شد. اگر این برای هر کدام شکست بخورد
دلیل، mv باید یک پیام تشخیصی به خطای استاندارد بنویسد، دیگر کاری انجام ندهید
با جریان منبع فایل، و به هر باقی مانده بروید منبع فایلs.
OPTIONS
La mv ابزار باید با حجم تعاریف پایه POSIX.1-2008 مطابقت داشته باشد، بخش 12.2,
سودمندی نحو دستورالعمل.
گزینه های زیر باید پشتیبانی شوند:
-f اگر مسیر مقصد وجود دارد، درخواست تأیید نکنید. هر قبلی
وقوع i گزینه نادیده گرفته می شود
i در صورت وجود مسیر مقصد، درخواست تأیید کنید. هر اتفاق قبلی
از -f گزینه نادیده گرفته می شود
مشخص کردن بیش از یکی از -f or i گزینه ها نباید خطا در نظر گرفته شوند. را
آخرین گزینه مشخص شده باید رفتار را تعیین کند mv.
عملگرها
عملگرهای زیر باید پشتیبانی شوند:
منبع فایل
نام مسیر یک فایل یا دایرکتوری که باید منتقل شود.
target_file
یک نام مسیر جدید برای فایل یا دایرکتوری در حال انتقال.
target_dir
نام مسیر دایرکتوری موجود که فایل های ورودی را به آن منتقل می کند.
STDIN
ورودی استاندارد باید برای خواندن یک خط ورودی در پاسخ به هر درخواست استفاده شود
در بخش STDERR مشخص شده است. در غیر این صورت، ورودی استاندارد نباید استفاده شود.
INPUT فایل ها
فایل های ورودی مشخص شده توسط هر کدام منبع فایل عملوند می تواند از هر نوع فایلی باشد.
محیط زیست متغیرها
متغیرهای محیطی زیر باید بر اجرای آن تأثیر بگذارند mv:
زبان یک مقدار پیش فرض برای متغیرهای بین المللی سازی که تنظیم نشده اند یا
خالی. (به جلد تعاریف پایه POSIX.1-2008 مراجعه کنید، بخش 8.2,
بین المللی کردن متغیر برای تقدم بین المللی شدن
متغیرهایی که برای تعیین مقادیر دستههای محلی استفاده میشوند.)
LC_ALL اگر روی یک مقدار رشته ای غیر خالی تنظیم شده است، مقادیر بقیه را لغو کنید
متغیرهای بین المللی سازی
LC_COLLATE
محلی را برای رفتار محدوده ها، کلاس های هم ارزی و چند
عناصر ترکیب کاراکتر مورد استفاده در عبارت منظم توسعه یافته تعریف شده برای
la yesexpr کلمه کلیدی محلی در LC_MESSAGES رده است.
LC_CTYPE محلی را برای تفسیر توالی بایت های داده متنی تعیین کنید
به عنوان کاراکتر (به عنوان مثال، تک بایت در مقابل کاراکترهای چند بایتی در
آرگومان ها و فایل های ورودی)، رفتار کلاس های کاراکتر استفاده شده در
عبارت منظم توسعه یافته تعریف شده برای yesexpr کلمه کلیدی محلی در
LC_MESSAGES رده است.
LC_MESSAGES
محل مورد استفاده برای پردازش پاسخ های مثبت و محلی مورد استفاده را تعیین کنید
برای تأثیرگذاری بر قالب و محتوای پیامهای تشخیصی و درخواستهای نوشته شده در
خطای استاندارد.
nlspath تعیین محل کاتالوگ پیام برای پردازش LC_MESSAGES.
نامتقارن رویدادها
پیش فرض
با توجه به
استفاده نشده.
STDERR
اعلان ها باید بر روی خطای استاندارد تحت شرایط مشخص شده در نوشته شوند
بخش DESCRIPTION. دستورات باید شامل نام مسیر مقصد، اما قالب آنها باشد
در غیر این صورت نامشخص است در غیر این صورت، خطای استاندارد باید فقط برای تشخیص استفاده شود
پیام ها.
OUTPUT فایل ها
فایل های خروجی ممکن است از هر نوع فایلی باشند.
تمدید شده شرح
ندارد.
خروج وضعیت
مقادیر خروجی زیر باید برگردانده شوند:
0 همه فایل های ورودی با موفقیت منتقل شدند.
>0 خطایی روی داد.
آثار OF خطاها
در صورت کپی یا حذف منبع فایل پیش از موعد با یک سیگنال یا خطا خاتمه می یابد،
mv ممکن است یک کپی جزئی از منبع فایل در مبدا یا مقصد را mv سودمندی
نباید هر دو را اصلاح کند منبع فایل و مسیر مقصد به طور همزمان؛ خاتمه در
هر نقطه ای را ترک خواهد کرد منبع فایل یا مسیر مقصد کامل شده است.
La پیروی بخش هستند آموزنده
کاربرد طریقه استفاده
برخی از پیادهسازیها آخرین مهر زمانی تغییر وضعیت فایل تغییر نام را برای بهروزرسانی علامتگذاری میکنند
فایل ها و برخی نه. برنامه هایی که از آخرین تغییر وضعیت فایل استفاده می کنند
برچسب زمانی ممکن است با توجه به فایلهای تغییر نامدادهشده رفتار متفاوتی داشته باشد، مگر اینکه برای این منظور طراحی شده باشند
اجازه دادن به هر یک از رفتارها
مشخصات آن را تضمین می کند mv a a محتویات فایل را تغییر نمی دهد a، و اجازه می دهد
پیاده سازی برای صدور یک خطا که یک فایل نمی تواند به خود منتقل شود. به همین ترتیب،
چه زمانی a و b لینک های سخت به یک فایل هستند، mv a b تغییر نخواهد کرد b، اما اگر تشخیصی باشد
صادر نمی شود، پس مشخص نیست که آیا a دست نخورده باقی می ماند (همانطور که توسط
تغییر نام دهید() تابع) یا بدون پیوند (کاهش تعداد پیوندهای b).
مثال ها
اگر دایرکتوری فعلی فقط حاوی فایل باشد a (از هر نوع تعریف شده توسط سیستم
حجم رابط های POSIX.1-2008)، b (همچنین از هر نوع)، و یک فهرست c:
mv a b c
mv c d
نتیجه با فایل های اصلی a و b ساکن در دایرکتوری d در حال حاضر
دایرکتوری.
منطقی
پیشنهادات اولیه از رویه تاریخی SVID و BSD در مواردی که نیاز داشتند متفاوت بود
که وقتی مسیر مقصد وجود دارد، -f گزینه مشخص نشده است و ورودی a نیست
پایانه، mv شکست می خورد. این برای سازگاری با cp. متن فعلی به
عمل تاریخی لازم به ذکر است که این مطابق با تغییر نام دهید() تابع
تعریف شده در حجم System Interfaces POSIX.1-2008، که نیازی به نوشتن ندارد
اجازه در مورد هدف
برای وضوح مطلق، بند (1)، توصیف رفتار mv هنگام درخواست
تایید، باید به روش زیر تفسیر شود:
if (وجود دارد و (نه f_option) و
((قابل نوشتن نیست و ورودی_ترمینال) OR i_option))
La i گزینه ای در سیستم های BSD وجود دارد و به برنامه ها و کاربران راهی برای اجتناب از آن می دهد
جدا کردن تصادفی فایلها هنگام انتقال دیگران. وقتی ورودی استاندارد a نباشد
ترمینال، 4.3 BSD mv تمام مسیرهای مقصد موجود را بدون درخواست حتی حذف می کند
چه زمانی i مشخص شده است؛ این با رفتار 4.3 BSD ناسازگار است cp سودمندی ،
که همیشه وقتی فایل غیرقابل نوشتن باشد و ورودی استاندارد نباشد، خطا ایجاد می کند
یک ترمینال توسعه دهندگان استاندارد تصمیم گرفتند که استفاده از i درخواست تعامل است،
بنابراین وقتی مسیر مقصد وجود دارد، ابزار از هر چیزی که پاسخ میدهد، دستورالعملها را میگیرد
به ورودی استاندارد
La تغییر نام دهید() تابع قادر به جابجایی دایرکتوری ها در یک سیستم فایل است. مقداری
نسخه های تاریخی از mv توانسته اند دایرکتوری ها را منتقل کنند، اما نه به فایل دیگری
سیستم. توسعه دهندگان استاندارد در نظر گرفتند که این یک ناسازگاری آزاردهنده است، بنابراین
این حجم از POSIX.1-2008 به دایرکتوری ها نیاز دارد که حتی در بین فایل ها نیز جابه جا شوند
سیستم های. وجود ندارد -ر گزینه ای برای تأیید اینکه جابجایی دایرکتوری واقعاً در نظر گرفته شده است،
از آنجایی که چنین گزینه ای برای جابجایی دایرکتوری ها در عمل تاریخی مورد نیاز نبود.
به نظر می رسید که گاهی اوقات، بسته به مقصد، برنامه باید آن را مشخص کند
به همان اندازه ناسازگار معناشناسی از تغییر نام دهید() عملکرد به اندازه حفظ شد
ممکن است. مثلا، mv اجازه "تغییر نام" فایل ها به یا از دایرکتوری ها را ندارد،
حتی اگر ممکن است خالی و قابل جابجایی باشند.
پیاده سازی های تاریخی از mv اگر بودند با وضعیت خروج غیر صفر خارج نشدند
نمیتوان هیچ ویژگی فایلی را هنگام جابجایی فایل در سیستمهای فایل کپی کرد و نه
آیا آنها یک پیام تشخیصی برای کاربر نوشتند؟ رفتار سابق حفظ شده است
برای جلوگیری از شکستن اسکریپت ها؛ یک پیام تشخیصی در حال حاضر مورد نیاز است، با این حال، به طوری که
به کاربران هشدار داده می شود که ویژگی های فایل تغییر کرده است.
فرمت دقیق درخواست های تعاملی مشخص نشده است. فقط ماهیت کلی از
محتویات اعلان ها مشخص شده است زیرا ممکن است پیاده سازی ها توصیفی بیشتری را بخواهند
درخواستها نسبت به مواردی که در پیادهسازیهای تاریخی استفاده میشوند. بنابراین، یک برنامه کاربردی استفاده نمی کند
la -f گزینه یا با استفاده از i گزینه متکی به سیستم برای ارائه مناسب ترین است
بر اساس رفتار مشخص شده، مستقیماً با کاربر گفتگو کنید.
چه زمانی mv با یک فایل سیستم سر و کار دارد و منبع فایل یک پیوند نمادین است، پیوند
خود به عنوان یک نتیجه از وابستگی به تغییر نام دهید() عملکرد، در هر
شرح. در سراسر سیستم های فایل، این باید به صراحت بیان شود.
آینده جهت
ندارد.
با استفاده از خدمات onworks.net از mvposix آنلاین استفاده کنید