آموزش حذف تاریخچه دستورات در لینوکس
8154
19 بهمن 1396

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

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

خُب این یک نکته مثبت برای شماست که نیازی نیست ، دستوری را که بارها به آن نیاز دارید تایپ کنید و با کلیدهای بالا و پایین از روی کیبورد ، خیلی سریع به آن دست پیدا خواهید کرد.

اما در کنار نکات مثبت آن ، مسائل امنیتی وجود دارد که باید به آن دقت کنید.

تمامی دستورات وارد شده در ترمینال توسط هر یوزری در فایلی با نام bash_history. در دایرکتوری home/ همان یوزر ذخیره شده و می‌توانید با دیدن آن فایل تمام دستوراتی که وارد شده است را مشاهده کنید. البته نکته مهم اینجاست که یوزرها قادر به دیدن تاریخچه سایر یوزرهای دیگر نیستند و این اجازه را تنها یوزر root داراست.

اما چرا از لحاظ امنیتی مهم است؟

بارها شده که برای ورود به بخش‌ها مدیریت ابزارهای دیگر در لینوکس شما نیاز دارید ، پسورد را به صورت کامل وارد کنید تا وارد آن شوید.

به عنوان مثال برای ورود به sql شما نیاز دارید پسورد را وارد نمایید تا به کنسول مدیریتی آن دسترسی داشته باشید و یا جدا از پسورد ، ممکن است شما دستوراتی را برای اعمال برخی تنظیمات امنیتی وارد کرده باشید و یک فرد سودجو با دیدن دستورات وارد شده توسط شما به سؤاستفاده از آن بپردازد.

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

آموزش حذف تاریخچه دستورات در لینوکس

- دستور history ، دستوری است که شما قادر خواهید بود با آن تمامی دستوراتی را که وارد کرده‌اید را مشاهده نمایید.

history

پس از وارد کردن این دستور ، خروجی همانند عبارات زیر دریافت خواهید کرد که شامل دو بخش دستور وارد شده و یک شماره خط می‌باشد.

[root@websrv ~]# history
1 systemctl stop firewalld
2 ls -ltrh

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

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

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

history -d 2

با وارد کردن دستور بالا ، تنها خطی که شماره آن 2 است ، حذف خواهد شد و سایر موراد به همان ترتیب قبلی نمایش داده می‌شوند.

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

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

روش اول

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

history -c

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

روش دوم

روش دوم کمی پیچیده بنظر می‌رسد و عموماً در اسکریپت‌ها و یا حذف تاریخچه یک یوزر دیگر توسط root استفاده می‌گردد اما خالی از لطف نیست که در این مطلب نیز به آن اشاره نماییم.

در ابتدای مطلب خدمت شما عرض کردیم که تمامی تاریخچه لینوکس در یک فایل با نام bash_history. در دایرکتوری home/ هر یوزر ذخیره می‌گردد. بنابراین می‌توان به شکل زیر محتویات داخل آن را به null یعنی تهی تبدیل کنیم.

cat /dev/null > ~/.bash_history

با وارد کردن دستور بالا ، محتویات فایل bash_histroy. همان یوزری که با آن لاگین کرده‌اید حذف خواهد شد ، چنانچه قصد دارید تاریخچه یک یوزر دیگر را حذف کنید باید به دایرکتوری home/ همان یوزر رفته و فایل مذکور را در آن یافته و حذف نمایید.

به طور مثال در دستور زیر تاریخچه یوزر abtin را حذف خواهیم کرد.

cat /dev/null > /home/abtin/.bash_history

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

امیدواریم از این آموزش استفاده مفید و لازم را برده باشید.

کاربر گرامی شما می‌توانید سؤالات مربوط به این آموزش را در بخش کامنت‌ها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید.