| NOTMUCH-SHOW(1) | notmuch | NOTMUCH-SHOW(1) |
نام (NAME)
notmuch-show - نمایش پیامهای منطبق با عبارتهای جستجوی مشخصشده
خلاصه دستور (SYNOPSIS)
notmuch show [option ...] <search-term> ...
توضیحات (DESCRIPTION)
همه پیامهای منطبق با عبارتهای جستجو را نمایش میدهد.
برای جزئیات نحو پشتیبانیشده برای <search-terms> به notmuch-search-terms <#notmuch-search-terms-7> مراجعه کنید.
پیامها بر اساس رشتههای گفتگو (threading) گروهبندی و مرتب میشوند (همه پاسخها به یک پیام خاص، بلافاصله پس از آن پیام و به ترتیب تاریخ ظاهر میشوند). خروجی بهطور پیشفرض دندانهدار نیست، اما برچسبهای عمق چاپ میشوند تا دندانهگذاری مناسب توسط یک پسپردازشگر (مانند رابط emacs برای notmuch) انجام گیرد.
گزینههای پشتیبانیشده برای show شامل موارد زیر است:
- --duplicate=N
- نمایش رونوشت (duplicate) شماره N در خروجی. شمارهگذاری از ۱ آغاز میشود و با ترتیبی که توسط search --duplicate <#cmdoption-search-duplicate> و search --output=files <#cmdoption-search-output> استفاده میشود، مطابقت دارد.
- --entire-thread=(true|false)
- اگر true باشد، notmuch show همه پیامهای موجود در رشته گفتگوی هر پیامی که با عبارتهای جستجو مطابقت دارد را در خروجی نمایش میدهد؛ اگر false باشد، تنها پیامهای منطبق را در خروجی میآورد. برای --format=json و --format=sexp این گزینه بهطور پیشفرض true است. برای سایر قالبها، پیشفرض false است.
- text (پیشفرض برای پیامها)
- قالب متن ساده (plain-text) پیشفرض تمام بخشهای MIME حاوی محتوای متنی را رمزگشایی میکند. مؤلفههای گوناگون در خروجی، (message، header، body، attachment، و MIME part)، با نشانگرهایی که بهراحتی تجزیه میشوند از هم جدا خواهند شد. هر نشانگر شامل یک نویسه Control-L (کد اسکی دهدهی ۱۲)، نام نشانگر، و سپس یک آکولاد باز یا بسته ('{' یا '}') برای باز یا بستن مؤلفه است. برای یک پیام MIME چندبخشی، این بخشها بهصورت تودرتو خواهند بود.
- json
- خروجی با نشانهگذاری شیء جاوااسکریپت (JSON) قالببندی میشود. این قالب نسبت به قالب متنی برای پردازش خودکار پایدارتر است. ساختار تودرتوی پیامهای MIME چندبخشی در خروجیِ تودرتوی JSON بازتاب مییابد. بهطور پیشفرض خروجی JSON شامل تمام پیامهای یک رشته گفتگوی منطبق است؛ یعنی بهطور پیشفرض، --format=json گزینه --entire-thread را فعال میکند. فراخواننده میتواند با تنظیم --entire-thread=false این رفتار را غیرفعال کند. خروجی JSON همواره به صورت UTF-8 کدگذاری میشود و محتوای هر پیامی که در خروجی گنجانده شود، مجموعهنویسه (charset) آن به UTF-8 تبدیل خواهد شد.
- sexp
- خروجی بهصورت معادل عبارت نمادین لیسپ (Lisp s-expression یا sexp) از قالب JSON بالا قالببندی میشود. شیءها بهصورت فهرستهای ویژگی (property lists) قالببندی میشوند که کلیدهای آنها کلمات کلیدی (نمادهای با پیشوند دونقطه) هستند. مقدار True بهصورت t و مقادیر false و null هر دو بهصورت nil قالببندی میشوند. همانند JSON، خروجی s-expression همیشه با کدگذاری UTF-8 کدگذاری میشود.
- mbox
- تمام پیامهای منطبق در قالب سنتی mbox یونیکس خروجی داده میشوند، بهطوری که هر پیام با خطی که با "From " آغاز میشود شروع شده و یک خط خالی هر پیام را جدا میکند. خطوطی در محتوای پیام که با "From " آغاز میشوند (با پیشوند صفر یا چند نویسه '>')، یک نویسه '>' اضافی دریافت میکنند. این گریزدهی برگشتپذیر، قالب "mboxrd" نامیده شده و جزئیات آن در اینجا شرح داده شده است:
- raw (پیشفرض در صورت مشخص شدن --part)
- نوشتن
بایتهای
خام بخش MIME
دادهشده
از یک پیام
در خروجی
استاندارد.
برای این
قالب،
تعیین
پرسوجویی
که با بیش
از یک پیام
مطابقت
داشته باشد
خطا است.
اگر بخش مشخصشده یک بخش برگ (leaf part) باشد، بدنه بخش پس از انجام رمزگشایی انتقال محتوا (اما بدون تبدیل مجموعهنویسه) در خروجی نوشته میشود. این حالت برای مثال جهت ذخیره پیوستها مناسب است.
برای یک بخش multipart یا message، خروجی شامل سرایندهای بخش و همچنین بدنه (شامل تمام بخشهای فرزند) است. هیچ رمزگشایی انجام نمیشود زیرا بخشهای multipart و message نمیتوانند کدگذاری انتقال محتوای غیربدیهی داشته باشند. مصرفکنندگان این خروجی ممکن است نیاز به پیادهسازی رمزگشایی MIME و توابع مشابه داشته باشند.
- --format-version=N
- استفاده از نسخه مشخصشده قالب خروجی ساختاریافته. این گزینه برای برنامههایی در نظر گرفته شده است که notmuch <#notmuch-1> را بهصورت داخلی فراخوانی میکنند. در صورت حذف، از آخرین نسخه پشتیبانیشده استفاده خواهد شد.
- --part=N
- خروجی دادن
تکبخش MIME
رمزگشاییشده
N از یک
تکپیام.
عبارتهای
جستجو باید
تنها با یک
پیام
مطابقت
داشته
باشند.
بخشهای
پیام در یک
پیمایش
اولعمق (depth-first)
از ساختار MIME
پیام
شمارهگذاری
میشوند و
در
قالبهای
خروجی 'json'، 'sexp'
یا 'text' مشخص
میگردند.
توجه داشته باشید که حتی یک پیام بدون ساختار MIME یا با یک بخش بدنه منفرد نیز دارای دو بخش MIME است: بخش ۰ کل پیام است (سرایندها و بدنه) و بخش ۱ تنها بدنه پیام است.
- --sort=(newest-first|oldest-first)
- این گزینه
میتواند
برای ارائه
نتایج به
ترتیب
زمانی (oldest-first)
یا به ترتیب
زمانی
معکوس (newest-first)
استفاده
شود.
تنها رشتههای گفتگو به عنوان یک کل بازچینی میشوند. ترتیب پیامها درون هر رشته گفتگو تحت تأثیر این پرچم قرار نمیگیرد، چرا که آن ترتیب همواره توسط پاسخهای درون رشته تعیین میشود.
بهطور پیشفرض، نتایج به ترتیب زمانی معکوس نمایش داده خواهند شد (یعنی جدیدترین نتایج ابتدا نمایش داده میشوند).
- --offset=[-]N
- صرفنظر کردن از نمایش N نتیجه اول. با پیشوند '-'، از Nامین نتیجه از انتها آغاز میکند.
- --limit=N
- محدود کردن تعداد نتایج نمایشدادهشده به N.
- --verify
- محاسبه و گزارش اعتبار هرگونه امضای رمزنگاری MIME یافتشده در محتوای انتخابشده (مانند بخشهای "multipart/signed"). وضعیت امضا گزارش خواهد شد (در حال حاضر تنها با --format=json و --format=sexp پشتیبانی میشود)، و بخش multipart/signed با دادههای امضاشده جایگزین خواهد شد.
مقدار stash رفتاری مشابه true دارد، اما پس از رمزگشایی موفق، کلید نشست (session key) پیام را نیز در پایگاهداده ذخیره (stash) کرده و متن رمزنشدهٔ (cleartext) پیام را نمایهسازی میکند که امکان رمزگشایی خودکار را در آینده فراهم میسازد.
اگر auto باشد، و کلید نشست از قبل برای پیام مشخص باشد، پیام رمزگشایی خواهد شد، اما notmuch برای دسترسی به کلیدهای کاربر تلاشی نخواهد کرد.
از false برای جلوگیری حتی از رمزگشایی خودکار استفاده کنید.
رمزگشایی غیرخودکار (stash یا true، در غیاب کلید نشست ذخیرهشده) مستلزم یک gpg-agent(1) https://manpages.debian.org/gpg-agent.1.html فعال است تا اعتبارنامههای لازم را فراهم کند. بدون آن، رمزگشایی با شکست مواجه خواهد شد.
نکته: تنظیم هر یک از مقادیر true یا stash در اینجا به معنی اعمال --verify است.
در اینجا جدولی آمده است که هر یک از این سیاستها را خلاصه میکند:
| false | auto | true | stash | |
| نمایش متن رمزنشده در صورتی که کلید نشست از قبل مشخص باشد | X | X | X | |
| استفاده از کلیدهای مخفی برای نمایش متن رمزنشده | X | X | ||
| ذخیرهٔ کلیدهای نشست تازهبازیابیشده و نمایهسازی مجدد پیام در صورت یافتن | X |
نکته: --decrypt=stash نیازمند دسترسی نوشتن به پایگاهداده است. در غیر این صورت، notmuch show کاملاً در حالت فقطخواندنی عمل میکند.
پیشفرض: auto
- --exclude=(true|false)
- مشخص
میکند که
آیا
رشتهگفتگوهایی
که تنها با
search.exclude_tags مطابقت
دارند از
نتایج
جستجو حذف
شوند
(پیشفرض)
یا خیر. در
هر دو حالت،
پیام
مستثنیشده
با پرچم exclude
علامتگذاری
میشود (به
جز زمانی که
output=mbox باشد که
جایی برای
قرار دادن
پرچم وجود
ندارد).
اگر --entire-thread مشخص شده باشد، کل رشتهگفتگوها در هر صورت بازگردانده میشوند (با تنظیم پرچم مستثنی در صورت لزوم)، اما در صورت تعیین --exclude=true. رشتهگفتگوهایی که تنها در یک پیام مستثنیشده مطابقت داشته باشند بازگردانده نخواهند شد.
پیشفرض --exclude=true. است.
- --body=(true|false)
- اگر true باشد
(پیشفرض)،
دستور notmuch show
بدنهٔ
پیامها را
در خروجی
قرار
میدهد؛
اگر false باشد،
بدنهها
حذف
میشوند.
گزینهٔ --body=false
تنها برای
قالبهای
text، json و sexp
پیادهسازی
شده است و
با --part > 0.
ناسازگار
است.
این گزینه زمانی مفید است که فراخواننده تنها به سرآیندها نیاز داشته باشد، چرا که خروجی بدون بدنه بسیار سریعتر و بهطور چشمگیری کوچکتر است.
- --include-html
- بخشهای "text/html" را به عنوان بخشی از خروجی میگنجاند (در حال حاضر تنها با --format=text، --format=json و --format=sexp پشتیبانی میشود). بهطور پیشفرض، مگر اینکه --part=N برای انتخاب یک بخش خاص استفاده شود یا --include-html برای گنجاندن تمام بخشهای "text/html" به کار رود، هیچ بخشی با نوع محتوای "text/html" در خروجی گنجانده نمیشود.
یک کاربرد رایج notmuch show نمایش یک رشتهگفتگوی منفرد از پیامهای ایمیل است. برای این منظور، از عبارت جستجوی "thread:<thread-id>" استفاده کنید، همانطور که در ستون اول خروجی دستور notmuch-search <#notmuch-search-1> دیده میشود..SH "پیکربندی (CONFIGURATION)"
خروجی ساختاریافته (json / sexp) تحت تأثیر گزینهٔ پیکربندی show.extra_headers <#nmconfig-show.extra_headers> قرار میگیرد. برای جزئیات، notmuch-config <#notmuch-config-1> را ببینید.
وضعیت خروج (EXIT STATUS)
این دستور از کدهای وضعیت خروج ویژهٔ زیر پشتیبانی میکند:
- 20
- نسخهٔ قالب درخواستی بیش از حد قدیمی است.
- 21
- نسخهٔ قالب درخواستی بیش از حد جدید است.
همچنین ببینید (SEE ALSO)
notmuch <#notmuch-1>, notmuch-config <#notmuch-config-1>, notmuch-count <#notmuch-count-1>, notmuch-dump <#notmuch-dump-1>, notmuch-hooks <#notmuch-hooks-5>, notmuch-insert <#notmuch-insert-1>, notmuch-new <#notmuch-new-1>, notmuch-reply <#notmuch-reply-1>, notmuch-restore <#notmuch-restore-1>, notmuch-search <#notmuch-search-1>, notmuch-search-terms <#notmuch-search-terms-7>, notmuch-tag <#notmuch-tag-1>
نویسندگان (AUTHORS)
Carl Worth و بسیاری دیگر
کپیرایت و تکثیر (COPYRIGHT)
2009-2026، Carl Worth و بسیاری دیگر
| April 17, 2026 | 0.40 |