.\" -*- nroff -*- .\" qcmd.1 - Manual page for qcmd, qmv and qcp. .\" .\" Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008 Oskar Liljeblad .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 3 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU Library General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA .\" .TH QCMD "1" "December 4, 2007" "qcmd (renameutils)" .SH "نام (NAME)" qmv, qcp \- تغییر نام یا رونوشت سریع فایل‌ها با ویرایش نام آن‌ها در یک ویرایشگر متن .SH "خلاصه دستور (SYNOPSIS)" .B qcp .RI [ OPTION ]... " " [ FILE ]... .B qmv .RI [ OPTION ]... " " [ FILE ]... .B qcmd .RI --command= COMMAND " " "" [ OPTION ]... " " [ FILE ]... .SH "توضیحات (DESCRIPTION)" این صفحهٔ راهنما دستورهای \fBqcp\fP، \fBqmv\fP و \fBqcmd\fP را شرح می‌دهد. برنامهٔ \fBqmv\fP امکان تغییر نام فایل‌ها را از طریق ویرایش نام‌های آن‌ها در هر ویرایشگر متنی فراهم می‌کند. با تغییر یک حرف در یک سند متنی، می‌توان حرفی را در نام فایل تغییر داد. از آنجا که فایل‌ها پشت سر هم فهرست می‌شوند، اعمال تغییرات مشترک بسیار سریع‌تر انجام می‌گیرد. برنامهٔ \fBqcp\fP مانند qmv عمل می‌کند، اما به‌جای انتقال فایل‌ها، از آن‌ها رونوشت (کپی) می‌گیرد. برنامهٔ \fBqmv\fP با در نظر گرفتن ایمنی ساخته شده است \- با انجام بیشترین بررسی‌های ممکن، از تغییر نام‌های نادرست ناشی از خطای انسانی جلوگیری می‌شود. به همین دلیل، \fBqmv\fP از یک حالت تعاملی پشتیبانی می‌کند که در آن هر مرحله از فرآیند تغییر نام را می‌توان به صورت دستی اجرا کرد. حالت پیش‌فرض اجرای \fBqmv\fP در حالت غیرتعاملی است. با این حال، در صورت بروز تداخل یا خطا، \fBqmv\fP به حالت تعاملی بازمی‌گردد (به‌جای اینکه تمام تغییرات اعمال‌شده توسط کاربر از دست برود). برای اطلاعات بیشتر دربارهٔ فرآیند تغییر نام و حالت تعاملی، بخش زیر را ببینید. این موارد برای \fBqcp\fP نیز صدق می‌کند. برنامهٔ \fBqcmd\fP دقیقاً مانند \fBqmv\fP و \fBqcp\fP کار می‌کند اما به شما امکان می‌دهد مشخص کنید چه دستوری اجرا شود. برنامهٔ \fBls\fP(1) برای فهرست کردن فایل‌ها جهت تغییر نام یا رونوشت به کار می‌رود. بنابراین \fBqmv\fP، \fBqcp\fP و \fBqcmd\fP برخی از گزینه‌های \fBls\fP را می‌پذیرند. .SH "فرآیند تغییر نام/رونوشت (RENAMING/COPYING PROCESS)" فرآیند تغییر نام یا رونوشت فایل‌ها از چندین مرحله تشکیل شده است: .TP .B فهرست کردن فایل‌ها تولید فهرستی از فایل‌ها جهت تغییر نام از روی آرگومان‌های خط فرمان با استفاده از \fBls\fP(1). .TP .B ایجاد یک فایل متنی قابل ویرایش قالب ویرایش، یک فایل متنی قابل ویرایش شامل نام‌های فایل‌ها ایجاد می‌کند. .TP .B اجرای ویرایشگر ویرایشگر متن را اجرا کرده و تا اتمام ویرایش توسط کاربر منتظر می‌ماند. .TP .B خواندن فایل متنی ویرایش‌شده قالب ویرایش، فایل متنی ویرایش‌شده را که اکنون حاوی نام‌های به‌روزشده است می‌خواند. .TP .B بررسی تغییر نام و بازآرایی برای حل تداخل‌ها (فقط در qmv) این یک مرحلهٔ پیچیده است که وظایف زیر را در بر دارد: علامت‌گذاری تغییر نام‌هایی که در آن‌ها فایل مقصد از قبل وجود دارد، مواردی که در آن‌ها فایل قدیمی اکنون مفقود یا غیرقابل دسترسی است، و مواردی که در آن‌ها نام جدید تغییر نکرده است. انجام یک مرتب‌سازی توپولوژیک روی تغییر نام‌ها، به طوری که تغییر نام b\->c و a\->b امکان‌پذیر باشد. حل ارجاعات متقاطع با تغییر نام موقت، به طوری که تغییر نام e\->f و f\->e (یا e\->f و f\->g و g\->e و غیره) ممکن شود. نتیجهٔ این مرحله یک برنامهٔ اجرایی (plan) برای تغییر نام‌ها است. .TP .B نمایش برنامهٔ اجرایی برنامهٔ اجرایی را به کاربر نشان می‌دهد. .TP .B اعمال برنامهٔ اجرایی اعمال برنامهٔ اجرایی با تغییر نام یا رونوشت واقعی فایل‌ها (مگر اینکه \-\-dummy مشخص شده باشد). .PP اگر در هر یک از مراحل بالا (به جز مرحلهٔ اول) خطایی رخ دهد، \fBqmv\fP/\fBqcp\fP به حالت تعاملی تغییر وضعیت می‌دهد. بدین ترتیب هیچ تغییری از دست نخواهد رفت و خطاها را می‌توان پیش از ادامه به صورت دستی تصحیح کرد. برای شرح حالت تعاملی بخش زیر را ببینید. .SH "گزینه‌ها (OPTIONS)" این برنامه‌ها از ساختار نحوی معمول خط فرمان GNU پیروی می‌کنند که در آن گزینه‌های طولانی با دو خط تیره (`-') آغاز می‌شوند. .TP .B \-a, \-\-all (به \fBls\fP ارسال می‌شود.) ورودی‌هایی که با «.» آغاز می‌شوند را پنهان نمی‌کند. .TP .B \-A, \-\-almost\-all (به \fBls\fP ارسال می‌شود.) ورودی‌های ضمنی `.' و `..' را فهرست نمی‌کند. .TP .B \-B, \-\-ignore\-backups (به \fBls\fP ارسال می‌شود.) ورودی‌های ضمنی که به `~' ختم می‌شوند را فهرست نمی‌کند. .TP .B \-c (به \fBls\fP ارسال می‌شود.) مرتب‌سازی بر اساس ctime (زمان آخرین تغییر وضعیت فایل). .TP .B \-\-command=\fICOMMAND\fR اجرای \fICOMMAND\fR به‌جای mv یا cp. .TP .B \-d, \-\-directory (به \fBls\fP ارسال می‌شود.) فهرست کردن ورودی‌های دایرکتوری به‌جای محتویات آن‌ها. .TP .B \-r, \-\-reverse (به \fBls\fP ارسال می‌شود.) معکوس کردن ترتیب در مرتب‌سازی. .TP .B \-R, \-\-recursive (به \fBls\fP ارسال می‌شود.) فهرست کردن بازگشتی زیرپوشه‌ها. .TP .B \-S (به \fBls\fP ارسال می‌شود.) مرتب‌سازی بر اساس اندازهٔ فایل. .TP .B \-\-sort=\fIWORD\fR (به \fBls\fP ارسال می‌شود.) مرتب‌سازی بر اساس پسوند (\-X)، هیچ‌کدام (\-U)، اندازه (\-S)، زمان (\-t)، نسخه (\-v)، وضعیت (\-c)، زمان دسترسی (\-u) یا دستیابی (\-u). .TP .B \-\-time=\fIWORD\fP (به \fBls\fP ارسال می‌شود.) اگر مرتب‌سازی بر اساس زمان انجام شود (\-\-sort=time)، بر اساس atime، access، use، ctime یا زمان وضعیت (status time) مرتب می‌کند. .TP .B \-t (به \fBls\fP ارسال می‌شود.) مرتب‌سازی بر اساس زمان تغییر محتوا. .TP .B \-u (به \fBls\fP ارسال می‌شود.) مرتب‌سازی بر اساس زمان آخرین دسترسی. .TP .B \-U (به \fBls\fP ارسال می‌شود.) مرتب نمی‌کند؛ ورودی‌ها را به ترتیب موجود در دایرکتوری فهرست می‌کند. .TP .B \-X (به \fBls\fP ارسال می‌شود.) مرتب‌سازی الفبایی بر اساس پسوند ورودی‌ها. .TP .B \-f, \-\-format=\fIFORMAT\fP تغییر قالب ویرایش فایل متنی. برای مقادیر ممکن بخش زیر را ببینید. .TP .B \-o, \-\-options=\fIOPTIONS\fP ارسال گزینه‌ها به قالب ویرایش انتخاب‌شده. \fIOPTIONS\fP در این قالب است: \fIOPTION\fP[=\fIVALUE\fP][,\fIOPTION\fP[=\fIVALUE\fP]...] برای دریافت فهرستی از گزینه‌های موجود برای هر قالب، از \-\-options=help استفاده کنید یا بخش زیر را ببینید. .TP .\".B \-\-show-control-chars .\"Show non graphic characters as-is when editing renames. .\".TP .B \-i, \-\-interactive شروع در حالت دستوری (برای اطلاعات دربارهٔ این حالت بخش زیر را ببینید). .TP .B \-e, \-\-editor=\fIPROGRAM\fP مشخص کردن برنامه‌ای که فایل متنی با آن ویرایش شود. برنامهٔ پیش‌فرض از متغیر محیطی \fBVISUAL\fP، یا در صورت تنظیم نبودن آن از متغیر محیطی \fBEDITOR\fP تعیین می‌شود. اگر هیچ‌یک تنظیم نشده باشند، از برنامه‌ای با نام \fBeditor\fP استفاده می‌شود. .TP .B \-\-ls=\fIPROGRAM\fP مشخص کردن مسیر برنامهٔ ls. در صورت حذف دایرکتوری، فایل اجرایی در دایرکتوری‌های مشخص‌شده در متغیر محیطی PATH جستجو خواهد شد. .TP .B \-v, \-\-verbose توضیحات بیشتر دربارهٔ عملیاتی که در حال انجام است. .TP .B \-\-dummy انجام تمام کارها طبق معمول، بدون تغییر نام واقعی فایل‌ها (حالت «صوری»). .TP .B \-\-help نمایش خلاصه‌ای از گزینه‌ها. .TP .B \-\-version نمایش اطلاعات نسخه و خروج..SH "قالب‌های ویرایش (EDIT FORMATS)" یک قالب ویرایش مسئول تولید یک فایل متنی برای ویرایش و تجزیه (parse) آن پس از ویرایش است. قالب پیش‌فرض، دو ستونی (dual-column) است، اما قالب‌های دیگری نیز وجود دارند. همهٔ قالب‌های ویرایش گزینه‌های یکسانی نمی‌پذیرند. بنابراین، مشخص کردن آن‌ها با استفاده از گزینهٔ \-\-options (\-o) ضروری است. این گزینه فهرستی از «زیرگزینه‌ها» را می‌پذیرد، مشابه گزینهٔ \-o در \fBmount\fP(8). قالب‌های ویرایش موجود عبارتند از `single-column' (یا `sc')، `dual-column' (یا `dc') و `destination-only' (یا `do'). قالب پیش‌فرض، dual-column است. .SH "قالب دو ستونی (DUAL-COLUMN FORMAT)" قالب \fBdual-column\fP (`dual-column' یا `dc') فایل‌ها را در دو ستون نمایش می‌دهد. این قالب پیش‌فرض و توصیه‌شده است. ستون سمت چپ معمولاً نام فایل مبدأ است (که نباید ویرایش شود) و ستون سمت راست نام فایل مقصد است. .PP گزینه‌های پشتیبانی‌شده: .TP .B swap جابه‌جایی مکان نام‌های قدیم و جدید هنگام ویرایش؛ یعنی ستون سمت چپ نام فایل مقصد و ستون سمت راست نام فایل مبدأ خواهد بود. .TP .B separate قرار دادن یک خط خالی بین تمام تغییر نام‌ها. .TP .B tabsize=\fISIZE\fP به‌طور پیش‌فرض، نویسه‌های تب با اندازهٔ ۸ برای جداسازی ستون‌ها استفاده می‌شوند. با این گزینه می‌توان عرض این نویسه‌های تب را تغییر داد. .TP .B spaces استفاده از نویسه‌های فاصله به‌جای نویسه‌های تب هنگام ایجاد تورفتگی. .TP .B width=\fIWIDTH\fP این گزینه موقعیت نویسه (به‌صورت افقی) را که نام فایل دوم از آن شروع می‌شود، مشخص می‌کند. .TP .B autowidth در حالت عادی، اگر نام فایل مبدأ طولانی‌تر از تعداد نویسه‌های \fBwidth\fP باشد، نام مقصد در خط بعدی چاپ می‌شود. اما با فعال بودن این گزینه، qmv/qcp عرض را به‌گونه‌ای تنظیم می‌کند که نام فایل‌های مبدأ و مقصد در یک خط نمایش داده شوند. اگر پیش از \fBautowidth\fP عرضی با استفاده از \fBwidth\fP مشخص شده باشد، از آن عرض به‌عنوان حداقل عرض استفاده خواهد شد. مثال: فرض کنید \fBwidth=10,autowidth\fP مشخص شده باشد. حتی اگر تمام نام‌های فایل‌های مبدأ کوتاه‌تر از پنج نویسه باشند، عرض تفکیک ۱۰ خواهد بود. اگر نام فایلی با طول بیش از ۱۰ نویسه وجود داشته باشد، عرض نهایی بیش از ۱۰ نویسه خواهد شد. این گزینه به‌طور پیش‌فرض فعال است. .TP .B indicator1=\fITEXT\fP متنی که پیش از نام فایل نخست (ستون اول) قرار می‌گیرد. .TP .B indicator2=\fITEXT\fP متنی که پیش از نام فایل دوم (ستون دوم) قرار می‌گیرد. .TP .B help نمایش خلاصهٔ گزینه‌های قالب ویرایش. .SH "قالب تک ستونی (SINGLE-COLUMN FORMAT)" قالب \fBsingle-column\fP (`single-column' یا `sc') فایل‌ها را در یک ستون نمایش می‌دهد \- ابتدا نام فایل مبدأ و در خط بعدی نام فایل مقصد. .PP گزینه‌های پشتیبانی‌شده: .TP .B swap جابه‌جایی مکان نام‌های قدیم و جدید هنگام ویرایش؛ یعنی خط نخست شامل نام فایل مقصد و خط بعدی شامل نام فایل مبدأ خواهد بود. .TP .B separate قرار دادن یک خط خالی بین تمام تغییر نام‌ها. .TP .B indicator1=\fITEXT\fP متنی که پیش از نام فایل نخست قرار می‌گیرد. .TP .B indicator2=\fITEXT\fP متنی که پیش از نام فایل دوم قرار می‌گیرد. .TP .B help نمایش خلاصهٔ گزینه‌های قالب ویرایش. .SH "قالب فقط مقصد (DESTINATION-ONLY FORMAT)" قالب \fBdestination-only\fP (`destination-only' یا `do') فقط نام فایل مقصد را نمایش می‌دهد، هر کدام در یک خط. عموماً استفاده از این قالب توصیه نمی‌شود، زیرا تنها راه تشخیص نام فایل مبدأ بررسی شمارهٔ خط است؛ اما ممکن است با برخی از ویرایشگرهای متن مفید باشد. .PP گزینه‌های پشتیبانی‌شده: .TP .B separate قرار دادن یک خط خالی بین تمام تغییر نام‌ها (نام‌های فایل). .SH "حالت تعاملی (INTERACTIVE MODE)" در حالت تعاملی \fBqmv\fP/\fBqcp\fP دستورها را از صفحه‌کلید خوانده، آن‌ها را تجزیه و اجرا می‌کند. این کار با استفاده از GNU readline انجام می‌شود. .PP دستورهای زیر در دسترس هستند: .TP .B ls, list \fR[\fIOPTIONS\fR].. [\fIFILES\fR].. انتخاب فایل‌ها برای تغییر نام. اگر فایلی مشخص نشود، تمام فایل‌های موجود در دایرکتوری جاری انتخاب می‌شوند. گزینه‌های پذیرفته‌شده مواردی هستند که به \fBls\fP(1) ارسال می‌شوند. برای نمایش فهرستی از آن‌ها از `help ls' استفاده کنید. .TP .B import \fIFILE\fR خواندن فایل‌ها برای تغییر نام از یک فایل متنی. هر خط باید متناظر با یک فایل موجود برای تغییر نام باشد. .TP .B ed, edit ویرایش موارد تغییر نام در یک ویرایشگر متن. اگر این دستور قبلاً اجرا شده باشد و `all' مشخص نشود، تنها موارد تغییر نام دارای خطا ویرایش می‌شوند. .TP .B plan نمایش طرح فعلی تغییر نام. (این طرح پس از اجرای `edit' ایجاد می‌شود.) .TP .B apply اعمال طرح فعلی، یعنی تغییر نام فایل‌ها. تنها فایل‌هایی که در طرح وضعیت OK دارند تغییر نام خواهند یافت. .TP .B retry اگر برخی تغییر نام‌ها پیش‌تر در هنگام `apply' ناموفق بوده باشند، این دستور آن موارد را دوباره امتحان می‌کند. .TP .B show نمایش مقدار متغیر پیکربندی مشخص‌شده، یا تمام متغیرها در صورت مشخص نشدن هیچ متغیری. برای مشاهدهٔ فهرستی از متغیرهای پیکربندی به بخش زیر مراجعه کنید. .TP .B set \fRVARIABLE VALUE تنظیم مقدار یک متغیر پیکربندی. .TP .B exit, quit خروج از برنامه. در صورت وجود تغییرات اعمال‌نشده، به کاربر اطلاع داده خواهد شد و برای خروج از برنامه لازم است این دستور یک بار دیگر اجرا شود. .TP .B help \fR[\fIls\fP|\fIusage\fP] در صورت تعیین `ls'، گزینه‌های فهرست‌بندی را نمایش می‌دهد. اگر `usage' مشخص شده باشد، گزینه‌های پذیرفته‌شدهٔ خط فرمان را نمایش می‌دهد. در غیر این صورت، راهنمای دستورها در حالت تعاملی را نمایش خواهد داد. .TP .B version نمایش اطلاعات نسخه..SH "متغیرها (VARIABLES)" متغیرهای زیر در حالت تعاملی در دسترس هستند: .TP .\".B show-control-chars \fIBOOLEAN\fP .\".TP .B dummy \fIBOOLEAN\fP .TP .B editor \fISTRING\fP .TP .B format \fISTRING\fP .TP .B options \fISTRING\fP این متغیرها متناظر با گزینه‌هایی با همین نام هستند. .TP .B tempfile \fISTRING\fP این متغیر شامل نام فایل موقتی است که با `edit' ویرایش می‌شود. این متغیر نمی‌تواند مقداردهی شود؛ تنها با `show' خوانده می‌شود. .PP یک مقدار بولی با `0'، `false'، `no'، `off' یا `1'، `true'، `yes' و `on' مشخص می‌شود. رشته‌ها بدون علامت نقل‌قول مشخص می‌شوند. .SH "مثال‌ها (EXAMPLES)" ویرایش نام فایل‌ها در دایرکتوری جاری. .br \fBqmv\fP .PP ویرایش نام فایل‌های دارای پسوند `.c'. مرتب‌سازی فایل‌ها بر اساس زمان تغییر. .br \fBqmv \-t *.c\fP .PP ویرایش نام فایل‌ها با استفاده از ویرایشگر nedit و با عرض ستون 100. .br \fBqmv \-enedit \-owidth=100\fP .SH "گزارش باگ‌ها (BUGS)" گزارش باگ‌ها به <\fIoskar@osk.mine.nu\fP>. .SH "نویسندگان (AUTHORS)" نویسندهٔ \fBrenameutils\fP و این صفحهٔ راهنما Oskar Liljeblad <\fIoskar@osk.mine.nu\fP> است. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" حق نشر \(co 2001, 2002, 2004, 2005, 2007, 2008, 2011 Oskar Liljeblad این یک نرم‌افزار آزاد است؛ برای شرایط تکثیر، سورس‌کد را ببینید. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص.