از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
استفاده و سفارشی کردن تاریخچه فرمان Bash
سرفصلهای مطلب
این bash پوسته محیط خط فرمان پیش فرض موجود در اکثر توزیع های لینوکس است. مشابه تمام محیط های پوسته، رکوردی از دستوراتی که قبلا توسط کاربر اجرا شده اند را نگه می دارد. این رکورد حتی اگر سیستم خود را مجدداً راه اندازی کنیم، حفظ و نگهداری می شود.
ممکن است کاربرد اصلی دستور history را بدانید، اما می تواند خیلی بیشتر از اینها انجام دهد. تاریخچه Bash معمولاً در فایل ~/.bash_history ذخیره می شود. این به شما امکان می دهد تا رکورد ذخیره شده را به روشی کارآمد به خاطر بیاورید و مجدداً استفاده کنید تا بهترین نتیجه را ببرید bash قابلیت ذخیره تاریخ نه تنها این، بلکه می توانید آن را سفارشی و کنترل کنید bash خروجی فرمان به روشی که می خواهید
در این مقاله روش استفاده موثر و سفارشی سازی را توضیح خواهیم داد bash تاریخچه فرمان را برای استفاده حداکثری از ویژگی های آن.
ما از دبیان 10 برای اجرای دستورات و رویه های ذکر شده در این مقاله استفاده کرده ایم.
استفاده کردن bash تاریخچه فرمان
1. مشاهده bash تاریخ
برای مشاهده کل تاریخچه دستورات پوسته، می توانید دستور زیر را در ترمینال اجرا کنید:
کل تاریخچه را برای یک کاربر خاص از فایل تاریخچه ذخیره شده خاص برای آن کاربر فهرست می کند. تمام دستورات را خواهید دید که با یک عدد تخصیص داده شده به هر یک از آنها شروع می شود. دستورات قدیمی را در بالا لیست می کند که با شماره 1 شروع می شود و دستورات جدیدتر را در پایین لیست می کند.
2. جستجوی خروجی تاریخچه
همچنین می توانید یک کلمه کلیدی خاص را از خروجی تاریخچه جستجو کنید. دستور تاریخچه را با grep و یک کلمه کلیدی خاص جفت کنید تا دستوراتی را که با کلمه کلیدی مشخص شده شما مطابقت دارند جستجو کنید:
به عنوان مثال، برای فهرست کردن همه دستوراتی که شامل کلمه کلیدی “find” هستند، دستور به صورت زیر خواهد بود:
3. مشاهده آخرین n دستور
دستور history به طور پیشفرض 1000 آخرین دستور اجرا شده توسط کاربر را فهرست میکند. در صورتی که میخواهید فقط یک عدد مشخص را فهرست کنید، مثلاً n عدد آخرین دستور اجرا شده، دستور زیر را در ترمینال اجرا کنید:
به عنوان مثال، برای فهرست کردن آخرین 7 دستور اجرا شده، دستور به صورت زیر خواهد بود:
برای مشاهده تعداد آخرین n دستور اجرا شده که شامل یک کلمه کلیدی خاص است، می توانید از نحو زیر استفاده کنید:
نمونه ای از این کار مشاهده 4 دستور آخر اجرا شده با کلمه کلیدی “java” است.
4. مشاهده قدیمی ترین دستورات
برای مشاهده قدیمی ترین n تعداد دستورات، می توانید از دستور زیر در ترمینال استفاده کنید:
برای مشاهده قدیمی ترین n تعداد دستورات که شامل یک کلمه کلیدی خاص است، از نحو زیر استفاده کنید:
نمونه ای از این کار مشاهده قدیمی ترین 4 دستور اجرا شده با کلمه کلیدی “java” است.
5. تاریخچه Bash را به طور کامل پاک کنید
برای حذف کل bash تاریخچه، دستور زیر را در ترمینال اجرا کنید:
سفارشی کردن bash تاریخچه فرمان
برای سفارشی کردن bash تاریخچه فرمان، باید در فایل ~/.bashrc تغییراتی ایجاد کنیم. برای ویرایش فایل ~/.bashrc از دستور زیر استفاده کنید:
پس از اتمام ویرایش فایل، از Ctrl+O و Ctrl+X برای ذخیره و بستن ویرایشگر نانو استفاده کنید.
سپس دستور زیر را برای اعمال تغییرات اجرا کنید:
1. تاریخ و مهر زمانی را به تاریخچه Bash اضافه کنید
اگر می خواهید تاریخ و مهر زمانی را به همراه تاریخچه فرمان نمایش دهید، می توانید این کار را با افزودن خط زیر در ~/.bashrc انجام دهید:
حالا اجرا کنید تاریخ فرمان و تاریخچه فرمان را با داده ها و مهر زمانی مربوطه نشان می دهد.
2. افزایش اندازه Bash History
Bash به طور پیش فرض 500 دستور را در لیست تاریخچه نگه می دارد. با این حال، ما می توانیم این مقدار را با استفاده از مقدار HISTSIZE تغییر دهیم.
برای مشاهده اندازه فعلی bash تاریخچه، دستور زیر را در ترمینال اجرا کنید:
به طور مشابه، اندازه پیش فرض از bash فایل تاریخچه 500 است. این حداکثر تعداد ورودی هایی است که در پرونده تاریخچه موجود است.
برای افزایش سایز bash تاریخچه فرض کنید 10000، خطوط زیر را در فایل ~/.bashrc اضافه کنید:
$ HISTFILESIZE=10000
برای بررسی اینکه آیا bash اندازه تاریخچه با موفقیت تغییر کرده است، دستورات زیر را در ترمینال اجرا کنید:
$ echo $HISTFILESIZE
3. دستورات Bash را به فایل History اضافه کنید
وقتی یک bash جلسه بسته است، میتوانید با استفاده از متغیر histappend دستورات را در فایل تاریخچه بازنویسی یا اضافه کنید. برای مشاهده تنظیمات فعلی، دستور زیر را در ترمینال اجرا کنید:
“روی” در خروجی نشان می دهد گزینه histappend فعال است و دستورات به جای بازنویسی در فایل تاریخچه اضافه می شوند. در حالی که “خاموش” نشان داده می شود، گزینه histappend غیرفعال است و فایل رونویسی می شود.
فایل ~/.bashrc را باز کنید و:
اگر میخواهید به جای بازنویسی، دستورات را به فایل تاریخچه اضافه کنید، خط زیر را اضافه کنید:
یا اگر میخواهید گزینه append را غیرفعال کنید و میخواهید فایل را بازنویسی کنید، خط زیر را اضافه کنید روی خروج:
4. تاریخچه Bash را بلافاصله ذخیره کنید
Bash به طور پیش فرض فقط جلسه را در قسمت ذخیره می کند bash فایل تاریخچه پس از پایان جلسه. برای تغییر این رفتار پیشفرض و ذخیره فوری هر دستوری که اجرا کردهاید، میتوانید از PROMPT_COMMAND استفاده کنید.
فایل ~/.bashrc را ویرایش کنید و خط زیر را اضافه کنید:
اکنون هر زمان که دستوری را اجرا کنید، بلافاصله به فایل تاریخچه اضافه می شود.
5. سابقه Bash را کنترل کنید
ما می توانیم راه را کنترل کنیم bash تاریخچه فرمان ما را از طریق متغیر HISTCONTROL ذخیره می کند. میتوانیم آن را برای نادیده گرفتن ورودیهای تکراری، و/یا نادیده گرفتن ورودیهای با فاصلههای سفید پیشرو مشخص کنیم.
- ignorespace – دستوراتی را که با فهرست تاریخچه فضا شروع می شوند حذف می کند.
- ignoredups – دستورات تکراری را حذف کنید.
- ignoreboth – هم ignoredups و هم ignorespace را فعال کنید
- erasedups- موارد تکراری را از کل لیست حذف کنید
برای اعمال این توابع، ~/.bashrc را باز کنید و خط زیر را با مقادیر جدا شده با دو نقطه به صورت زیر اضافه کنید:
6. دستورات خاص را نادیده بگیرید
همچنین میتوانیم با استفاده از متغیر HISTIGNORE کنترل کنیم که کدام دستورها در تاریخ نادیده گرفته شوند. این یک لیست الگوهای جدا شده با دو نقطه است که در آن میتوانیم تمام دستوراتی را که میخواهیم از تاریخ نادیده بگیریم، مشخص کنیم.
به عنوان مثال، اگر نمی خواهیم دستورات اساسی مانند دستورات history، ls، pwd را در لیست تاریخچه فهرست کنیم، خط زیر را در فایل ~/.bashrc اضافه می کنیم:
با لینوکس bash تاریخچه دستورات، شما می توانید خیلی بیشتر از تکرار دستورات قدیمی انجام دهید. در این مقاله روش استفاده از آن را یاد گرفتیم bash تاریخچه برای مشاهده دستوراتی که قبلا اجرا شده اند و همچنین کنترل راه را یاد گرفته اند bash ذخیره تاریخچه فرمان
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 15:04:03