edu-linux-courses

جلوگیری از ثبت دستورات در history لینوکس

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

با قرار دادن یک فاصله در ابتدای یک دستور، شل آن دستور را نادیده گرفته و در تاریخچه‌ی خود ذخیره نمی‌کند. برای انجام این کار باید مقدار متغیر HISTCONTROL برابر “ignorespace” و یا “ignoreboth” تنظیم شده باشد. (که البته بر روی اکثر سیستم‌ها به صورت پیش فرض اعمال شده است.)

برای مشاهده‌ی مقدار این متغیر دستور زیر را وارد کرده و خروجی را مشاهده می‌کنیم:

echo $HISTCONTROL

 1

در صورتی که خروجی دریافت شده غیر از ignoreboth بود، می‌توانیم مقدار آن را به صورت زیر تغییر می‌دهیم:

export HISTCONTROL = ignorespace

 حال با قرار دادن یک فاصله در ابتدای یک دستور، دستور وارد شده در history ذخیره نمی‌شود:

2

غیر فعال کردن history

در صورتی که بخواهیم history را غیر فعال نماییم، می‌توانیم مقدار متغیر HISTSIZE را به صفر تغییر دهیم. برای این کار دستور زیر را وارد می‌کنیم:

$ export HISTSIZE='0'

 مقدار متغیر HISTSIZE تعیین می‌کند که چه تعداد دستور می‌تواند در لیست تاریخچه‌ی خط فرمان ذخیره شود. به طور پیش فرض مقدار این متغیر برابر ۵۰۰ یا ۱۰۰۰ می‌باشد. بدین ترتیب تا زمانی که ترمینال باز است، دیگر دستوری در history ذخیره نمی‌شود.

 

پاک کردن history پس از اتمام کار

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

$ history -cw

 

غیر فعال کردن history به صورت موقت

برخلاف دو روش قبل که تمام لیست history را در آن نشست برای ما از بین می‌برد، در این روش می‌توان بدون این که نیاز باشد یک ترمینال جدید راه اندازی کنیم، به صورت موقت history را غیرفعال نماییم. برای این کار می‌توانیم دستور زیر را وارد کنیم:

$ set +o history

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

 $ set -o history

 در این حالت شرایط به حالت عادی برگشته و دستوراتی که از این پس وارد نمایید در history ثبت می‌شوند.

?همچنین از طریق لینک زیر می توانید در کانال تلگرام ما عضو شوید :)

جلوگیری از ثبت دستورات در history لینوکس netspot netsp0t

نظرات