UUDEVIEW(1) General Commands Manual UUDEVIEW(1)

UUDeview - یک رمزگشای قدرتمند برای فایل‌های باینری

uudeview [گزینه‌ها] [@فایل] فایل(ها)

برنامهٔ UUDeview یک رمزگشای هوشمند برای پیوست‌هایی است که به صورت کدگذاری‌شده از طریق پست الکترونیکی یا یوزنت دریافت کرده‌اید. این برنامه مشابه دستور استاندارد uudecode(1) است، اما راحتی و انعطاف‌پذیری بیشتری را ارائه می‌دهد. UUDeview از روش‌های کدگذاری uuencoding ،xxencoding ،Base64 ،yEncoding و BinHex پشتیبانی می‌کند و قادر است فایل‌های چندبخشی (که در چندین قسمت ارسال شده‌اند) و همچنین چندین فایل را به‌طور هم‌زمان مدیریت کند، که این امر فرایند رمزگشایی را بسیار ساده می‌سازد. معمولاً نیازی به ویرایش دستی فایل‌ها برای آماده‌سازی آن‌ها جهت رمزگشایی نخواهید داشت.

پس از اجرای uudeview، این برنامه تمام فایل‌های داده‌شده را برای یافتن داده‌های کدگذاری‌شده پویش می‌کند، آن‌ها و بخش‌های مربوطه‌شان را مرتب می‌سازد و سپس فهرستی از فایل‌هایی که به نظر می‌رسد به‌درستی قابل رمزگشایی هستند را به شما نمایش می‌دهد. سپس می‌توانید فایل‌ها را به‌صورت جداگانه برای رمزگشایی انتخاب کنید.

حالت تعاملی را غیرفعال می‌کند. پس از پویش فایل‌ها و مرتب‌سازی همه‌چیز، برنامه از شما نمی‌پرسد که آیا فایلی باید رمزگشایی شود یا خیر، بلکه تمام فایل‌های موجود را به‌صورت دسته‌ای رمزگشایی می‌کند. این گزینه هنگام خواندن از ورودی استاندارد پیش‌فرض است.
گزینهٔ تغییر نام خودکار. اگر فایل مقصد از قبل موجود باشد و این گزینه داده شده باشد، یک نقطه و یک شماره ترتیب منحصربه‌فرد به نام فایل افزوده می‌شود؛ یعنی در صورت رمزگشایی دوباره، foo.gif به foo.gif.1 تبدیل می‌شود.
+a
نوع دیگری از تغییر نام خودکار. اگر فایل مقصد از قبل موجود باشد، یک زیرخط (_) و یک شماره ترتیب منحصربه‌فرد پیش از اولین نقطه در نام فایل درج می‌شود؛ یعنی foo.gif به foo_1.gif تبدیل می‌شود.
اجازهٔ بازنویسی فایل‌های موجود در هنگام رمزگشایی را می‌دهد. در حالت تعاملی، پیش‌فرض این است که از کاربر سؤال شود فایل بازنویسی شود، تغییر نام یابد یا نادیده گرفته شود. این گزینه نسبت به -a اولویت دارد. در حالت غیرتعاملی (با استفاده از -f )، پیش‌فرض این است که فایل‌ها بدون پرسش بازنویسی شوند.
+o
بازنویسی فایل‌ها را غیرمجاز اعلام می‌کند. این گزینه در حالت غیرتعاملی مفید است تا فایل‌های موجود دست‌نخورده باقی بمانند. اولویت این گزینه از -a کمتر است.
پاک‌سازی خودکار. تمام فایل‌های ورودی را که با موفقیت رمزگشایی شده‌اند حذف می‌کند. بااحتیاط استفاده کنید! UUDeview فقط بررسی می‌کند که آیا داده‌ای از یک فایل ورودی رمزگشایی شده است یا خیر، اما به سایر محتویات آن فایل ورودی، یا اینکه آیا فایل پیوست ناقصی را نیز در بر داشته است، اهمیتی نمی‌دهد.
مسیری را که فایل‌های رمزگشایی‌شده باید در آن نوشته شوند تعیین می‌کند. این مسیر باید معتبر باشد، در غیر این صورت هنگام تلاش برای رمزگشایی با خطا مواجه خواهید شد. پیش‌فرض، دایرکتوری کاری فعلی است.
نادیده‌گرفتن حالت دسترسی فایل (file mode). فایل‌های با فرمت uuencoded و xxencoded مجوزهای اصلی فایل را در خط begin ذخیره دارند. مگر اینکه این گزینه مشخص شود، UUDeview آن‌ها را بدون بررسی معقول بودن بازنشانی خواهد کرد. با استفاده از این گزینه، مجوزها به مقدار پیش‌فرض 0666 بازنشانی می‌شوند.

پیروی دقیق‌تر از استاندارد MIME را اجباری می‌کند. در حالت عادی، برنامه حتی در بخش‌های متنی سادهٔ “text/plain” پیام‌های MIME نیز به دنبال داده‌های کدگذاری‌شده می‌گردد. با تعیین این گزینه، UUDeview این قابلیت را محدود کرده و پیام‌های کدگذاری‌شدهٔ ظاهراً ناقص (مثلاً داده‌های به‌ظاهر uuencoded بدون خطوط begin یا end) را نمی‌پذیرد. می‌توانید با دو بار مشخص کردن این گزینه یا با استفاده از -z2 این محدودیت را تشدید کنید. در این صورت، UUDeview بخش‌های متنی پیام‌های MIME را اصلاً برای داده‌های کدگذاری‌شده بررسی نخواهد کرد و کاملاً مطابق با استاندارد MIME رفتار می‌کند. هیچ‌یک از این دو حالت بر رفتار برنامه روی فایل‌های ورودی غیر MIME تأثیری ندارند. این گزینه به نام بهتری نیاز دارد، اما حروف الفبا برای گزینه‌ها کم‌کم رو به اتمام است!
از حالت سریع برای پویش فایل‌ها استفاده می‌کند. برنامه فرض می‌کند هر فایل ورودی حداکثر شامل یک بخش است، که معمولاً برای فایل‌ها در دایرکتوری spool اخبار صادق است. این گزینه فرایند رمزگشایی فایل‌های ورودی حاوی چندین مقاله را با مشکل مواجه می‌کند. همچنین برخی از بررسی‌های سلامت غیرفعال می‌شوند که احتمالاً باعث می‌شود فایل‌های نادرست برای رمزگشایی ارائه شوند. گاهی در حین رمزگشایی با پیام‌های خطا مواجه می‌شوید و گاهی صرفاً فایل‌های نامعتبر دریافت خواهید کرد. اگر نمی‌توانید با این مشکلات کنار بیایید، از -f استفاده نکنید.
پیام‌های پاسخ (reply) را نادیده می‌گیرد؛ یعنی تمام پیام‌هایی که عنوان (subject) آن‌ها با Re: شروع می‌شود.
استفاده از پیام‌های متنی ساده. معمولاً UUDeview فقط داده‌های کدگذاری‌شده را برای رمزگشایی ارائه می‌دهد. پیام‌های متنی ساده تنها زمانی نمایش داده می‌شوند که نام فایل مرتبطی داشته باشند. با فعال بودن این گزینه، بخش‌های متنی بدون نام از پیام‌های MIME و پیام‌های کدگذاری‌نشده نیز ارائه می‌شوند. به پیام‌های بدون نام یک نام یکتا در قالب یک عدد چهاررقمی متوالی اختصاص می‌یابد.
برنامه را در حالت اضطراری (desperate mode) قرار می‌دهد. در این حالت، امکان رمزگشایی فایل‌های ناقص به شما پیشنهاد می‌شود. این قابلیت زمانی مفید است که آخرین بخش از یک ارسال ۵۰ بخشی را از دست داده باشید، اما در بیشتر موارد، فایل‌های رمزگشایی‌شده در این حالت صرفاً خراب و غیرقابل‌استفاده خواهند بود. میزان سودمندی یک فایل ناقص به نوع فایل بستگی دارد.
«سیاست قلاب‌ها» (bracket policy) در UUDeview را تغییر می‌دهد. UUDeview به خط عنوان پیام نگاه می‌کند و اعداد درون قلاب‌ها را به عنوان شمارهٔ بخش می‌خواند، مانند (3/7) که به صورت سومین پیام از یک مجموعهٔ هفت‌تایی خوانده می‌شود. به‌طور پیش‌فرض، اعداد داخل پرانتز () بر اعداد داخل براکت [] ترجیح داده می‌شوند. می‌توانید این رفتار را با استفاده از -b یا برای وضوح بیشتر با -b[]. تغییر دهید.
به معنای «کاهش هوشمندی» (minus smartness). این گزینه تشخیص خودکار شمارهٔ بخش از خط عنوان را غیرفعال می‌کند. اگر UUDeview در تجزیهٔ صحیح خط عنوان ناموفق بود و در حدس زدن شمارهٔ بخش‌ها دچار خطا شد که منجر به ترتیب نادرست بخش‌ها می‌شود، این گزینه را امتحان کنید. با این گزینه، بخش‌ها همواره به صورت متوالی کنار هم قرار می‌گیرند (بنابراین بخش‌ها باید در فایل ورودی به درستی مرتب شده باشند). همچنین با این گزینه، برنامه نمی‌تواند کسری بخش‌ها را تشخیص دهد. نکته: شمارهٔ بخش صحیحی که در فایل‌های استاندارد MIME یافت می‌شود همچنان ارزیابی می‌گردد. اگر این گزینه دو بار داده شود، خود عنوان نیز نادیده گرفته شده و برای گروه‌بندی بخش‌ها استفاده نخواهد شد. در صورتی از این حالت استفاده کنید که پیام‌های حامل بخش‌ها خطوط عنوان متفاوتی داشته باشند..SS "سایر گزینه‌ها (OTHER OPTIONS)"
(Quiet) پرگویی (verbosity) را غیرفعال می‌کند. در حالت عادی، برنامه هنگام خواندن فایل‌های ورودی پیام‌های وضعیتی را چاپ می‌کند که در صورت بروز مشکل می‌توانند بسیار مفید باشند. اگر این پیام‌ها باعث مزاحمت شما هستند از این گزینه استفاده کنید. نوارهای پیشرفت را نیز غیرفعال می‌کند. گزینهٔ -n را ببینید.
(disables Verbosity) پیام‌های پرگو را غیرفعال می‌کند؛ به این معنی که یادداشت‌ها نمایش داده نمی‌شوند، اما هشدارها و خطاها حذف نخواهند شد. به اندازهٔ گزینهٔ -q (Quiet) ساکت نیست.
بدون نوار پیشرفت. در حالت عادی، UUDeview نوارهای اسکی (ASCII) را چاپ می‌کند که تا ۱۰۰ درصد بالا می‌روند، اما بررسی نمی‌کند که آیا ترمینال شما توانایی نمایش آن‌ها را دارد یا خیر. اگر ترمینال شما چنین قابلیتی ندارد یا نمایش این نوارها برایتان آزاردهنده است، از این سوئیچ استفاده کنید.
+e exts
تنها فایل‌های با پسوندهای مشخص‌شده را برای رمزگشایی انتخاب می‌کند و سایرین نادیده گرفته می‌شوند. +e .gif.jpg تمام فایل‌های gif و jpeg را رمزگشایی می‌کند، اما فایل‌های tif یا موارد دیگر را نادیده می‌گیرد. فهرست پسوندها بدون حساسیت به حروف کوچک و بزرگ (case-insensitive) عمل می‌کند.
برعکس حالت بالا عمل می‌کند.

اگر تلاش کنید گزینه‌های +e و -e را در خط فرمان ترکیب کنید، نتایج نامطلوبی دریافت خواهید کرد.

فایل‌هایی که باید برای یافتن فایل‌های کدگذاری‌شده اسکن شوند. همچنین می‌توانید یک خط تیرهٔ منفرد «-» برای خواندن از ورودی استاندارد (standard input) وارد کنید. هر تعداد فایلی را می‌توان مشخص کرد، اما معمولاً محدودیتی معادل ۱۲۸ گزینه توسط شل اعمال می‌شود. اگر فهرست فایل‌ها را با نویسه‌های عام (wildcards) ایجاد می‌کنید، مطمئن شوید که تصادفاً فایل‌های باینری را به برنامه ارسال نکنید. این کار منجر به رفتار تعریف‌نشده خواهد شد.
@file
باعث می‌شود UUDeview گزینه‌های بیشتر را از فایل بخواند. هر خط از فایل باید دقیقاً شامل یک گزینه باشد. این فایل پس از پایان کار برنامه پاک می‌شود (is erased). این قابلیت می‌تواند برای مشخص کردن تعداد نامحدودی از فایل‌ها جهت اسکن استفاده شود. در ترکیب با قابلیت‌های find(1)، می‌توان تمام درخت‌های دایرکتوری (مانند دایرکتوری news spool) را پردازش کرد.

گزینه‌ها همچنین می‌توانند در متغیر محیطی $UUDEVIEW تنظیم شوند که پیش از پردازش گزینه‌ها در خط فرمان خوانده می‌شود.

پس از اینکه همهٔ فایل‌های ورودی اسکن شدند، دربارهٔ هر فایل از شما پرسیده می‌شود که با آن چه باید کرد. البته پاسخ معمول رمزگشایی آن است، اما امکانات دیگری نیز وجود دارد. می‌توانید از دستورهای زیر استفاده کنید (هر دستور یک حرف منفرد است):

رمزگشایی ((D)ecode) فایل و نوشتن فایل رمزگشایی‌شده روی دیسک با نام ارائه‌شده.
(Y)es همانند (d) عمل می‌کند.
استخراج (E(x)tract) نیز فایل را رمزگشایی می‌کند.
همهٔ فایل‌های باقی‌مانده را بدون پرسش رمزگشایی می‌کند.
این فایل را بدون رمزگشایی نادیده می‌گیرد (رد می‌کند).
به فایل قبلی بازمی‌گردد.
تغییر نام (Rename). می‌توانید نام دیگری برای فایل انتخاب کنید تا با این نام جدید ذخیره شود.
مسیری را که فایل‌های رمزگشایی‌شده باید در آن نوشته شوند تعیین می‌کند. این مسیر می‌تواند با گزینهٔ خط فرمان -p نیز تنظیم شود.
اطلاعات مربوط به فایل را در صورت وجود نمایش می‌دهد. اگر یک ارسال چندبخشی دارای بخش صفرم باشد، چاپ می‌شود؛ در غیر این صورت بخش اول تا رسیدن به داده‌های کدگذاری‌شده چاپ خواهد شد.
اجرای یک دستور (Execute). می‌توانید هر دستور دلخواهی را وارد کنید، احتمالاً با استفاده از فایل فعلی به عنوان یک آرگومان. تمام علامت‌های دلار «$» در این خط فرمان با نام فایلِ فایل جاری (به بیان دقیق‌تر، نام یک فایل موقت) جایگزین می‌شوند. نباید فرایندهایی را که از این فایل موقت استفاده می‌کنند در پس‌زمینه (background) قرار دهید، چرا که اگر فایل ورودی برنامه‌ها ناگهان ناپدید شود ممکن است دچار مشکل شوند.
فهرست کردن یک فایل (List). از این دستور تنها در صورتی استفاده کنید که مطمئن هستید فایل مورد نظر یک فایل متنی (textfile) است، در غیر این صورت انبوهی از نویسه‌های نامفهوم دریافت خواهید کرد.
بلافاصله از برنامه خارج می‌شود.
?
توضیح کوتاهی از تمام این دستورها را چاپ می‌کند.

اگر دستوری وارد نکنید و صرفاً کلید return را در اعلان (prompt) فشار دهید، دستور پیش‌فرض یعنی رمزگشایی فایل اجرا می‌شود.

در حالت پرگو (verbose) (یعنی اگر پرگویی را با گزینهٔ -v غیرفعال نکرده باشید)، پیام‌های پیشرفت نمایش داده خواهند شد. این پیام‌ها در ردیابی آنچه برنامه انجام می‌دهد بسیار مفید هستند و در صورت درک آن‌ها، می‌توان از آن‌ها برای کشف دلیل عدم امکان رمزگشایی فایل‌ها استفاده کرد. این بخش نحوهٔ تفسیر آن‌ها را توضیح می‌دهد. درک این بخش برای کار با برنامه ضروری نیست.

ابتدا، پیام‌های «Loading» وجود دارند که با رشتهٔ «Loaded» آغاز می‌شوند. هر خط باید شامل موارد زیر باشد:

فایل مبدأ (Source File)
مورد اول فایل مبدأ است که بخشی از آن بارگذاری شده است. بخش‌های متعددی را می‌توان درون یک فایل واحد شناسایی کرد.
خط موضوع (Subject Line)
موضوع کامل درون علامت‌های نقل‌قول تکی بازتولید می‌شود.
شناسه (Identifier)
برنامه یک شناسهٔ یکتا برای این رشته‌پیام (thread) از خط موضوع استخراج می‌کند تا مقالاتی را که به نظر می‌رسد متعلق به یک فایل مشترک هستند گروه‌بندی کند. نتیجهٔ این الگوریتم درون آکولاد ارائه می‌شود.
نام فایل (Filename)
اگر نام فایلی روی خط موضوع یا درون داده‌ها شناسایی شود (برای مثال روی یک خط begin، یا به عنوان بخشی از اطلاعات Content-Type).
شماره بخش (Part Number)
شماره بخش که از خط موضوع استخراج شده است، یا در مورد پیام‌های با قالب‌بندی مناسب MIME، از اطلاعات «part».
آغاز/پایان (Begin/End)
اگر یک نشانهٔ «begin» یا «end» شناسایی شود، در اینجا چاپ می‌شود.
نوع کدگذاری (Encoding Type)
اگر داده‌های کدگذاری‌شده در این بخش شناسایی شوند، یکی از مقادیر «UUdata»،‏ «Base64»،‏ «XXdata» یا «Binhex» در اینجا چاپ می‌شود.

پیام‌های بیشتری پس از پایان اسکن چاپ می‌شوند. برای هر گروه از مقالات یک خط منفرد چاپ خواهد شد. محتوای این خط با مشاهدهٔ یک مثال بهتر درک می‌شود. در اینجا یک نمونه آورده شده است:

Found 'mailfile.gz' State 16 UUData Parts begin 1 2 3 4 5 end 6 OK

این نشان می‌دهد که فایل mailfile.gz یافت شده است. فایل با uuencode کدگذاری شده بود («UUData») و شامل ۶ بخش است. نشانهٔ «begin» در بخش اول و نشانهٔ «end» در بخش ششم پیدا شد. از آنجا که به نظر می‌رسد همه چیز کامل است، این فایل با برچسب «OK» مشخص شده است. State مجموعه‌ای از بیت‌ها است که در آن مقادیر زیر ممکن است با یکدیگر OR بیتی شده باشند:

1
بخش ناموجود (Missing Part)
2
فاقد Begin
4
فاقد End
8
هیچ دادهٔ کدگذاری‌شده‌ای یافت نشد.
16
فایل سالم به نظر می‌رسد (File looks Ok)
32
هنگام رمزگشایی فایل خطایی رخ داد.
64
فایل با موفقیت رمزگشایی شد..SH "نکات (NOTES)" از آن‌جا که برنامه هنگام خواندن یک فایل از ورودی استاندارد نمی‌تواند ورودی پایانه را دریافت کند، حالت تعاملی در این وضعیت به‌طور خودکار غیرفعال می‌شود.

‏UUDeview از پیام‌های MIME آگاه است، اما معمولاً برای یافتن داده‌هایی در آن‌ها که به‌درستی کدگذاری نشده‌اند، انطباق دقیق با MIME را نادیده می‌گیرد؛ به عنوان مثال برای موفقیت در مواردی که بخش‌های مجزای یک فایل uuencode شده با یک کارساز پست الکترونیکی MIME به عنوان پیام‌های MIME ارسال شده‌اند. به همین منظور، تمام بخش‌های "text/plain" یک پیام را برای تشخیص کدگذاری بررسی می‌کند. می‌توانید از گزینهٔ -z (بالا را ببینید) برای انطباق دقیق‌تر با RFC2045 استفاده کنید.

پویشگر تمایل دارد داده‌های کوتاه Base64 (کمتر از چهار خط) خارج از پیام‌های MIME را نادیده بگیرد. در حالت اضطراری (desperate mode) برخی بررسی‌ها برای این وضعیت انجام می‌شود، اما ممکن است باعث تشخیص نادرست داده‌های کدگذاری‌شده و در نتیجه ایجاد فایل‌هایی نامعتبر شوند.

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

uudeview تلاش می‌کند در صورت وجود، تمام اطلاعات لازم را از خط Subject: استخراج کند. اگر این خط حاوی اطلاعات نامعتبر باشد، یا اگر برنامه نتواند شناسهٔ یکتا و شمارهٔ بخش را در آن پیدا کند، uudeview ممکن است همچنان بتواند با استفاده از دیگر روش‌های ابتکاری فایل را رمزگشایی کند، اما در این حالت به شانس بسیار زیادی نیاز خواهید داشت.

با این حال، این موضوع تنها برای فایل‌های چندبخشی نگران‌کننده است. اگر تمام فایل‌های کدگذاری‌شده فقط از یک بخش تشکیل شده‌اند، جای نگرانی نیست.

اگر نام برنامه را تغییر دهید، آن را کپی کنید یا به uudecode پیوند دهید، ممکن است به عنوان یک جایگزین هوشمند برای برنامهٔ استاندارد عمل کند و همان گزینه‌های خط فرمان را بپذیرد. این قابلیت هنوز به‌خوبی آزمایش نشده است.

uuenview(1), uudecode(1), uuencode(1).

صفحهٔ خانگی UUDeview در وب،

http://www.fpx.de/fp/Software/UUDeview

برای خواندن فایلی که نام آن با یک خط تیره «-» آغاز می‌شود، نام یک مسیر مانند «./» را به ابتدای آن اضافه کنید.

مجموع‌های مقابله‌ای (checksums) موجود در داده‌های BinHex نادیده گرفته می‌شوند.

برنامه نمی‌تواند پیام‌های چندبخشی ناقص (پیام‌های چندبخشی به سبک MIME که میان چند پیام پستی تقسیم شده‌اند) را به‌طور کامل مدیریت کند. بخش‌های مجزا شناسایی و به یکدیگر متصل می‌شوند، و پیام چندبخشی جاسازی‌شده در یک فایل متنی ساده «رمزگشایی» می‌شود، که سپس باید دوباره به uudeview داده شود. نگران نباشید، این دسته از پیام‌ها نادر هستند.

‏UUDeview نمی‌تواند سرآیندهای RFC 1522 را رمزگشایی کند.

June 2001