از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
جستجوی تاریخچه Bash
سرفصلهای مطلب
برای اهداف مختلف باید دستورات مختلفی را در پوسته تایپ کنیم. گاهی اوقات لازم است دستورات یکسانی را چندین بار اجرا کنیم. تایپ چندین بار دستورات یکسان بسیار وقت گیر یا خسته کننده است. خوشبختانه، bash راه حل خوبی برای این مشکل دارد. با استفاده از bash مکانیسم تاریخچه، دستورات قبلاً اجرا شده می توانند به راحتی و بدون تایپ مجدد دستور بازیابی و اجرا شوند. لینوکس تاریخچه خط فرمان هر کاربر را در فهرست اصلی ذخیره می کند. به صورت پیش فرض، bash دستور history لیستی از دستورات قبلا تایپ شده را با شماره خطوط نمایش می دهد. اما می توانید تاریخچه دستورات را با تاریخ و زمان نیز بازیابی کنید. روش تغییر تنظیمات دستور history و استفاده از دستور history برای بازیابی لیست دستورات قبلا تایپ شده به روش های مختلف در این آموزش نشان داده شده است.
تنظیمات تاریخچه:
متغیرهای زیادی برای کنترل رکوردهای تاریخچه فرمان استفاده می شود. Bash تاریخچه را از دو طریق ذخیره می کند. می توان آن را در یک فایل و در حافظه ذخیره کرد. HOSTFILE متغیر برای تنظیم مکان و نام فایل تاریخچه استفاده می شود. به طور پیش فرض، اطلاعات تاریخچه در ذخیره می شود فایل bash_history. تعداد دستورهایی که می توان در یک فایل ذخیره کرد با استفاده از آن تنظیم می شود HISTFILESIZE متغیر و تعداد دستورات جلسه جاری را می توان در حافظه ذخیره کرد توسط تنظیم می شود HISTSIZE متغیر. باز کن bashrc در هر ویرایشگر فایل کنید و تنظیمات پیش فرض این پارامترها را پیدا کنید. در اینجا از ویرایشگر متن برای ویرایش این فایل استفاده می شود.
با توجه به محتوای این فایل، مقدار پیش فرض از HISTFILESIZE است 2000 و HISTSIZE است 1000. شما می توانید این مقادیر را با توجه به انتخاب خود تغییر دهید.
فعال/غیرفعال کردن گزینه بازنویسی تاریخچه:
برای هر جلسه جدید، فایل تاریخچه توسط دستورات تاریخچه فعلی در پایان جلسه بازنویسی می شود. اگر می خواهید دستور تاریخچه قبلی را حفظ کنید و می خواهید رکوردهای تاریخچه جدید را در انتهای فایل اضافه کنید، دستور زیر را اجرا کنید.
برای بررسی تنظیمات فعلی گزینه بازنویسی تاریخچه، دستور زیر را اجرا کنید.
برای بازنویسی فایل تاریخچه دستور زیر را اجرا کنید.
نمایش لیستی از اجراهای قبلی bash دستورات:
برای بازیابی لیستی از دستورات اجرا شده در حال حاضر در جلسه جاری دستور اصلی زیر را اجرا کنید.
با ذکر شماره با دستور history می توانید تعداد خاصی از تاریخچه را بازیابی کنید. دستور زیر 3 دستور آخر اجرا شده را از تاریخچه بازیابی می کند.
لیست تاریخچه دستور خاص را می توان با استفاده از دستور با تاریخ بازیابی کرد. برای مثال، دستور زیر فهرست تاریخچه همه ” را بازیابی می کند.ls‘ فرمان
اجرای دستور از تاریخچه:
شما به راحتی می توانید هر دستوری از تاریخچه را با ذکر شماره خط با ‘!’ اجرا کنید. سمبل. دستور زیر دستور خط شماره 17 را از فایل تاریخ اجرا می کند و صفحه را پاک می کند.
برای اجرای دستورات از تاریخچه می توانید از مقدار موقعیت منفی استفاده کنید. در مثال زیر سه دستور اجرا شده و اولین دستور اجرا شده از تاریخچه با استفاده از مقدار منفی اجرا می شود.
شما می توانید استفاده کنید ‘!!’ نمادی برای اجرای جدیدترین دستور از تاریخچه. در مثال زیر، ‘ls’ دستور آخر اجرا می شود بنابراین، هنگامی که ‘!!’ اجرا می شود سپس دوباره دستور ‘ls’ را اجرا می کند.
نمایش لیست تاریخچه بر اساس تاریخ و زمان:
HISTTIMEFORMAT متغیر برای بازیابی اطلاعات تاریخچه فرمان بر اساس تاریخ و زمان استفاده می شود. ‘%F’ برای بازیابی تاریخ استفاده می شود ‘%T’ برای زمان بازیابی استفاده می شود. دستور زیر را برای بازیابی لیست تاریخ بر اساس تاریخ اجرا کنید.
دستورات تکراری را از تاریخچه حذف کنید:
اگر کاربر یک فرمان را چندین بار اجرا کند، فهرست تاریخچه دستورات ممکن است حاوی تعداد زیادی دستور تکراری باشد. اگر می خواهید دستور تکراری را از تاریخچه در زمان بازیابی لیست حذف کنید، باید از HISTCONTROL متغیر با مقدار ‘نادیده گرفته شده‘.
هر دستوری را از تاریخچه فیلتر کنید:
شما می توانید استفاده کنید HISTIGNORE متغیر برای فیلتر کردن هر دستوری از تاریخچه هنگام بازیابی لیست دستورات اجرا شده. اگر می خواهید آن را حذف کنید ‘تاریخ’ دستور را از لیست و سپس دستور زیر را اجرا کنید.
تنظیم نشده است export دستور:
می توانید تنظیم را لغو کنید export دستور برای هر نوع متغیر تعریف شده به عنوان مثال، اگر می خواهید تنظیم کنید HISTIGNORE متغیری که به نادیده گرفتن اختصاص داده شده است ‘تاریخ’ دستور و سپس دستور زیر را اجرا کنید.
غیرفعال کردن تاریخچه فرمان:
هنگامی که نمی خواهید سوابق دستورات اجرا شده را برای هر هدف امنیتی نگه دارید، باید دستور تاریخچه را غیرفعال کنید. اگر ارزش از HISTSIZمتغیر E روی 0 تنظیم می شود و هیچ فرمان اجرا شده از جلسه فعلی در حافظه یا فایل تاریخچه ذخیره نمی شود. فایل bashrc. را باز کنید و مقدار آن را تنظیم کنید HISTSIZE به 0.
برای ایجاد افکت تغییر فایل bashrc. دستور زیر را اجرا کنید. برخی از دستورات را اجرا کنید تا بررسی کنید فرمان سابقه غیرفعال است یا خیر.
پاک کردن تاریخچه دستورات:
تاریخچه دستورات را می توان با استفاده از دستور history با پاک یا حذف کرد -ج گزینه. زمانی که می خواهید رکوردهای دستور اجرا شده را بدون غیرفعال کردن دستور تاریخچه حذف کنید، می توانید از این گزینه استفاده کنید.
فهرست تاریخچه پیمایش:
با استفاده از فلش های بالا و پایین می توانید به راحتی از طریق دستورات قبلاً اجرا شده حرکت کنید. بدون استفاده از کلید جهتدار، میتوانید با فشار دادن Ctrl+P به فهرست تاریخچه عقب بروید و با فشار دادن Ctrl+n به فهرست تاریخچه جلو بروید. دستور history را فعال کنید، چند دستور را اجرا کنید و این گزینه ها را علامت بزنید.
فرمان جستجو از تاریخ:
با فشردن کلیدهای Ctrl+R می توانید فرمان را از تاریخچه جستجو کنید. با فشردن این کلیدها گزینه جستجو ظاهر می شود. این فرمان از روی تاریخچه جستجو می کند روی فشار دادن کلید توسط کاربر
نتیجه
کاربران لینوکس می توانند با استفاده از دستور تاریخچه به طور موثر در زمان خود صرفه جویی کنند. سعی شده است تا در این آموزش بیشترین دستورات تاریخچه مورد استفاده برای کمک به کاربران در استفاده صحیح از این دستور توضیح داده شود.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 23:52:04