وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

استفاده و سفارشی کردن تاریخچه فرمان Bash

0 2
زمان لازم برای مطالعه: 5 دقیقه


این bash پوسته محیط خط فرمان پیش فرض موجود در اکثر توزیع های لینوکس است. مشابه تمام محیط های پوسته، رکوردی از دستوراتی که قبلا توسط کاربر اجرا شده اند را نگه می دارد. این رکورد حتی اگر سیستم خود را مجدداً راه اندازی کنیم، حفظ و نگهداری می شود.

ممکن است کاربرد اصلی دستور history را بدانید، اما می تواند خیلی بیشتر از اینها انجام دهد. تاریخچه Bash معمولاً در فایل ~/.bash_history ذخیره می شود. این به شما امکان می دهد تا رکورد ذخیره شده را به روشی کارآمد به خاطر بیاورید و مجدداً استفاده کنید تا بهترین نتیجه را ببرید bash قابلیت ذخیره تاریخ نه تنها این، بلکه می توانید آن را سفارشی و کنترل کنید bash خروجی فرمان به روشی که می خواهید

در این مقاله روش استفاده موثر و سفارشی سازی را توضیح خواهیم داد bash تاریخچه فرمان را برای استفاده حداکثری از ویژگی های آن.

ما از دبیان 10 برای اجرای دستورات و رویه های ذکر شده در این مقاله استفاده کرده ایم.

استفاده کردن bash تاریخچه فرمان

1. مشاهده bash تاریخ

برای مشاهده کل تاریخچه دستورات پوسته، می توانید دستور زیر را در ترمینال اجرا کنید:

$ تاریخ

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

استفاده و سفارشی کردن تاریخچه فرمان Bash

2. جستجوی خروجی تاریخچه

همچنین می توانید یک کلمه کلیدی خاص را از خروجی تاریخچه جستجو کنید. دستور تاریخچه را با grep و یک کلمه کلیدی خاص جفت کنید تا دستوراتی را که با کلمه کلیدی مشخص شده شما مطابقت دارند جستجو کنید:

$ تاریخ | grep [keyword]

به عنوان مثال، برای فهرست کردن همه دستوراتی که شامل کلمه کلیدی “find” هستند، دستور به صورت زیر خواهد بود:

$ تاریخ | grep پیدا کردن

استفاده و سفارشی کردن تاریخچه فرمان Bashاستفاده و سفارشی کردن تاریخچه فرمان Bash

3. مشاهده آخرین n دستور

دستور history به طور پیش‌فرض 1000 آخرین دستور اجرا شده توسط کاربر را فهرست می‌کند. در صورتی که می‌خواهید فقط یک عدد مشخص را فهرست کنید، مثلاً n عدد آخرین دستور اجرا شده، دستور زیر را در ترمینال اجرا کنید:

$ تاریخ n

به عنوان مثال، برای فهرست کردن آخرین 7 دستور اجرا شده، دستور به صورت زیر خواهد بود:

$ تاریخ 7

برای مشاهده تعداد آخرین n دستور اجرا شده که شامل یک کلمه کلیدی خاص است، می توانید از نحو زیر استفاده کنید:

$ تاریخ | grep کلمه کلیدی |دم -n

نمونه ای از این کار مشاهده 4 دستور آخر اجرا شده با کلمه کلیدی “java” است.

$ تاریخ | grep جاوا |دم -n

استفاده و سفارشی کردن تاریخچه فرمان Bashاستفاده و سفارشی کردن تاریخچه فرمان Bash

4. مشاهده قدیمی ترین دستورات

برای مشاهده قدیمی ترین n تعداد دستورات، می توانید از دستور زیر در ترمینال استفاده کنید:

$ تاریخ | سر -n

برای مشاهده قدیمی ترین n تعداد دستورات که شامل یک کلمه کلیدی خاص است، از نحو زیر استفاده کنید:

$ تاریخ | grep کلمه کلیدی |سر -n

نمونه ای از این کار مشاهده قدیمی ترین 4 دستور اجرا شده با کلمه کلیدی “java” است.

$ تاریخ | grep جاوا |سر -4

استفاده و سفارشی کردن تاریخچه فرمان Bashاستفاده و سفارشی کردن تاریخچه فرمان Bash

5. تاریخچه Bash را به طور کامل پاک کنید

برای حذف کل bash تاریخچه، دستور زیر را در ترمینال اجرا کنید:

$ تاریخ -cw

سفارشی کردن bash تاریخچه فرمان

برای سفارشی کردن bash تاریخچه فرمان، باید در فایل ~/.bashrc تغییراتی ایجاد کنیم. برای ویرایش فایل ~/.bashrc از دستور زیر استفاده کنید:

$ نانو ~/.bashrc

پس از اتمام ویرایش فایل، از Ctrl+O و Ctrl+X برای ذخیره و بستن ویرایشگر نانو استفاده کنید.

پیشنهاد می‌کنیم بخوانید:  10 مثال عالی از دستور Awk

سپس دستور زیر را برای اعمال تغییرات اجرا کنید:

$ منبع ~/.bashrc

1. تاریخ و مهر زمانی را به تاریخچه Bash اضافه کنید

اگر می خواهید تاریخ و مهر زمانی را به همراه تاریخچه فرمان نمایش دهید، می توانید این کار را با افزودن خط زیر در ~/.bashrc انجام دهید:

$ export HISTTIMEFORMAT=‘%F, %T’

حالا اجرا کنید تاریخ فرمان و تاریخچه فرمان را با داده ها و مهر زمانی مربوطه نشان می دهد.

استفاده و سفارشی کردن تاریخچه فرمان Bashاستفاده و سفارشی کردن تاریخچه فرمان Bash

2. افزایش اندازه Bash History

Bash به طور پیش فرض 500 دستور را در لیست تاریخچه نگه می دارد. با این حال، ما می توانیم این مقدار را با استفاده از مقدار HISTSIZE تغییر دهیم.

برای مشاهده اندازه فعلی bash تاریخچه، دستور زیر را در ترمینال اجرا کنید:

$ echo HISTSIZE $

به طور مشابه، اندازه پیش فرض از bash فایل تاریخچه 500 است. این حداکثر تعداد ورودی هایی است که در پرونده تاریخچه موجود است.

برای افزایش سایز bash تاریخچه فرض کنید 10000، خطوط زیر را در فایل ~/.bashrc اضافه کنید:

$ HISTSIZE=10000

$ HISTFILESIZE=10000

برای بررسی اینکه آیا bash اندازه تاریخچه با موفقیت تغییر کرده است، دستورات زیر را در ترمینال اجرا کنید:

$ echo HISTSIZE $

$ echo $HISTFILESIZE

3. دستورات Bash را به فایل History اضافه کنید

وقتی یک bash جلسه بسته است، می‌توانید با استفاده از متغیر histappend دستورات را در فایل تاریخچه بازنویسی یا اضافه کنید. برای مشاهده تنظیمات فعلی، دستور زیر را در ترمینال اجرا کنید:

$ خرید هیستاپوند

“روی” در خروجی نشان می دهد گزینه histappend فعال است و دستورات به جای بازنویسی در فایل تاریخچه اضافه می شوند. در حالی که “خاموش” نشان داده می شود، گزینه histappend غیرفعال است و فایل رونویسی می شود.

پیشنهاد می‌کنیم بخوانید:  روش ایجاد یک اسکریپت شل (.sh) منتظر ورودی کاربر – Bash باشید

فایل ~/.bashrc را باز کنید و:

اگر می‌خواهید به جای بازنویسی، دستورات را به فایل تاریخچه اضافه کنید، خط زیر را اضافه کنید:

$ خرید -s هیستاپوند

یا اگر می‌خواهید گزینه append را غیرفعال کنید و می‌خواهید فایل را بازنویسی کنید، خط زیر را اضافه کنید روی خروج:

$ خرید -u هیستاپوند

4. تاریخچه Bash را بلافاصله ذخیره کنید

Bash به طور پیش فرض فقط جلسه را در قسمت ذخیره می کند bash فایل تاریخچه پس از پایان جلسه. برای تغییر این رفتار پیش‌فرض و ذخیره فوری هر دستوری که اجرا کرده‌اید، می‌توانید از PROMPT_COMMAND استفاده کنید.

فایل ~/.bashrc را ویرایش کنید و خط زیر را اضافه کنید:

$ PROMPT_COMMAND=“تاریخچه -a”

اکنون هر زمان که دستوری را اجرا کنید، بلافاصله به فایل تاریخچه اضافه می شود.

5. سابقه Bash را کنترل کنید

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

  • ignorespace – دستوراتی را که با فهرست تاریخچه فضا شروع می شوند حذف می کند.
  • ignoredups – دستورات تکراری را حذف کنید.
  • ignoreboth – هم ignoredups و هم ignorespace را فعال کنید
  • erasedups- موارد تکراری را از کل لیست حذف کنید

برای اعمال این توابع، ~/.bashrc را باز کنید و خط زیر را با مقادیر جدا شده با دو نقطه به صورت زیر اضافه کنید:

$ export HISTCONTROL=ignorespace:ignoredups

6. دستورات خاص را نادیده بگیرید

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

به عنوان مثال، اگر نمی خواهیم دستورات اساسی مانند دستورات history، ls، pwd را در لیست تاریخچه فهرست کنیم، خط زیر را در فایل ~/.bashrc اضافه می کنیم:

$ export HISTIGNORE=“history:ls:pwd:”

با لینوکس bash تاریخچه دستورات، شما می توانید خیلی بیشتر از تکرار دستورات قدیمی انجام دهید. در این مقاله روش استفاده از آن را یاد گرفتیم bash تاریخچه برای مشاهده دستوراتی که قبلا اجرا شده اند و همچنین کنترل راه را یاد گرفته اند bash ذخیره تاریخچه فرمان

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 15:04:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید