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

سرور مجازی NVMe

جستجوی تاریخچه Bash

0 1
زمان لازم برای مطالعه: 4 دقیقه


برای اهداف مختلف باید دستورات مختلفی را در پوسته تایپ کنیم. گاهی اوقات لازم است دستورات یکسانی را چندین بار اجرا کنیم. تایپ چندین بار دستورات یکسان بسیار وقت گیر یا خسته کننده است. خوشبختانه، bash راه حل خوبی برای این مشکل دارد. با استفاده از bash مکانیسم تاریخچه، دستورات قبلاً اجرا شده می توانند به راحتی و بدون تایپ مجدد دستور بازیابی و اجرا شوند. لینوکس تاریخچه خط فرمان هر کاربر را در فهرست اصلی ذخیره می کند. به صورت پیش فرض، bash دستور history لیستی از دستورات قبلا تایپ شده را با شماره خطوط نمایش می دهد. اما می توانید تاریخچه دستورات را با تاریخ و زمان نیز بازیابی کنید. روش تغییر تنظیمات دستور history و استفاده از دستور history برای بازیابی لیست دستورات قبلا تایپ شده به روش های مختلف در این آموزش نشان داده شده است.

تنظیمات تاریخچه:

متغیرهای زیادی برای کنترل رکوردهای تاریخچه فرمان استفاده می شود. Bash تاریخچه را از دو طریق ذخیره می کند. می توان آن را در یک فایل و در حافظه ذخیره کرد. HOSTFILE متغیر برای تنظیم مکان و نام فایل تاریخچه استفاده می شود. به طور پیش فرض، اطلاعات تاریخچه در ذخیره می شود فایل bash_history. تعداد دستورهایی که می توان در یک فایل ذخیره کرد با استفاده از آن تنظیم می شود HISTFILESIZE متغیر و تعداد دستورات جلسه جاری را می توان در حافظه ذخیره کرد توسط تنظیم می شود HISTSIZE متغیر. باز کن bashrc در هر ویرایشگر فایل کنید و تنظیمات پیش فرض این پارامترها را پیدا کنید. در اینجا از ویرایشگر متن برای ویرایش این فایل استفاده می شود.

$ گدیت ~/.bashrc

جستجوی تاریخچه Bash

با توجه به محتوای این فایل، مقدار پیش فرض از HISTFILESIZE است 2000 و HISTSIZE است 1000. شما می توانید این مقادیر را با توجه به انتخاب خود تغییر دهید.

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

فعال/غیرفعال کردن گزینه بازنویسی تاریخچه:

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

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

برای بررسی تنظیمات فعلی گزینه بازنویسی تاریخچه، دستور زیر را اجرا کنید.

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

برای بازنویسی فایل تاریخچه دستور زیر را اجرا کنید.

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

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

نمایش لیستی از اجراهای قبلی bash دستورات:

برای بازیابی لیستی از دستورات اجرا شده در حال حاضر در جلسه جاری دستور اصلی زیر را اجرا کنید.

$ تاریخ

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

با ذکر شماره با دستور history می توانید تعداد خاصی از تاریخچه را بازیابی کنید. دستور زیر 3 دستور آخر اجرا شده را از تاریخچه بازیابی می کند.

$ تاریخ 3

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

لیست تاریخچه دستور خاص را می توان با استفاده از دستور با تاریخ بازیابی کرد. برای مثال، دستور زیر فهرست تاریخچه همه ” را بازیابی می کند.ls‘ فرمان

$ تاریخ | grep ls

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

اجرای دستور از تاریخچه:

شما به راحتی می توانید هر دستوری از تاریخچه را با ذکر شماره خط با ‘!’ اجرا کنید. سمبل. دستور زیر دستور خط شماره 17 را از فایل تاریخ اجرا می کند و صفحه را پاک می کند.

$ !17

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

برای اجرای دستورات از تاریخچه می توانید از مقدار موقعیت منفی استفاده کنید. در مثال زیر سه دستور اجرا شده و اولین دستور اجرا شده از تاریخچه با استفاده از مقدار منفی اجرا می شود.

$!3

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

شما می توانید استفاده کنید ‘!!’ نمادی برای اجرای جدیدترین دستور از تاریخچه. در مثال زیر، ‘ls’ دستور آخر اجرا می شود بنابراین، هنگامی که ‘!!’ اجرا می شود سپس دوباره دستور ‘ls’ را اجرا می کند.

$ !!

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

نمایش لیست تاریخچه بر اساس تاریخ و زمان:

HISTTIMEFORMAT متغیر برای بازیابی اطلاعات تاریخچه فرمان بر اساس تاریخ و زمان استفاده می شود. ‘%F’ برای بازیابی تاریخ استفاده می شود ‘%T’ برای زمان بازیابی استفاده می شود. دستور زیر را برای بازیابی لیست تاریخ بر اساس تاریخ اجرا کنید.

$ export HISTTIMEFORMAT=‘% F’

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

دستورات تکراری را از تاریخچه حذف کنید:

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

$ export HISTCONTROL= نادیده گرفتن

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

هر دستوری را از تاریخچه فیلتر کنید:

شما می توانید استفاده کنید HISTIGNORE متغیر برای فیلتر کردن هر دستوری از تاریخچه هنگام بازیابی لیست دستورات اجرا شده. اگر می خواهید آن را حذف کنید ‘تاریخ’ دستور را از لیست و سپس دستور زیر را اجرا کنید.

$ export HISTIGNORE=’تاریخ

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

تنظیم نشده است export دستور:

می توانید تنظیم را لغو کنید export دستور برای هر نوع متغیر تعریف شده به عنوان مثال، اگر می خواهید تنظیم کنید HISTIGNORE متغیری که به نادیده گرفتن اختصاص داده شده است ‘تاریخ’ دستور و سپس دستور زیر را اجرا کنید.

$ تنظیم نشده export HISTIGNORE

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

غیرفعال کردن تاریخچه فرمان:

هنگامی که نمی خواهید سوابق دستورات اجرا شده را برای هر هدف امنیتی نگه دارید، باید دستور تاریخچه را غیرفعال کنید. اگر ارزش از HISTSIZمتغیر E روی 0 تنظیم می شود و هیچ فرمان اجرا شده از جلسه فعلی در حافظه یا فایل تاریخچه ذخیره نمی شود. فایل bashrc. را باز کنید و مقدار آن را تنظیم کنید HISTSIZE به 0.

$ gedit .bashrc

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

برای ایجاد افکت تغییر فایل bashrc. دستور زیر را اجرا کنید. برخی از دستورات را اجرا کنید تا بررسی کنید فرمان سابقه غیرفعال است یا خیر.

$ منبع .bashrc

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

پاک کردن تاریخچه دستورات:

تاریخچه دستورات را می توان با استفاده از دستور history با پاک یا حذف کرد گزینه. زمانی که می خواهید رکوردهای دستور اجرا شده را بدون غیرفعال کردن دستور تاریخچه حذف کنید، می توانید از این گزینه استفاده کنید.

$ تاریخ

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

فهرست تاریخچه پیمایش:

با استفاده از فلش های بالا و پایین می توانید به راحتی از طریق دستورات قبلاً اجرا شده حرکت کنید. بدون استفاده از کلید جهت‌دار، می‌توانید با فشار دادن Ctrl+P به فهرست تاریخچه عقب بروید و با فشار دادن Ctrl+n به فهرست تاریخچه جلو بروید. دستور history را فعال کنید، چند دستور را اجرا کنید و این گزینه ها را علامت بزنید.

پیشنهاد می‌کنیم بخوانید:  روش جایگزینی یک کاراکتر با شخصیت دیگر - Bash

فرمان جستجو از تاریخ:

با فشردن کلیدهای Ctrl+R می توانید فرمان را از تاریخچه جستجو کنید. با فشردن این کلیدها گزینه جستجو ظاهر می شود. این فرمان از روی تاریخچه جستجو می کند روی فشار دادن کلید توسط کاربر

جستجوی تاریخچه Bashجستجوی تاریخچه Bash

نتیجه

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

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

زمان انتشار: 1402-12-31 23:52:04

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

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

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