جستجو در تاریخچه
در هر زمان، میتوانیم محتویات فهرست تاریخچه را با استفاده از موارد زیر مشاهده کنیم:
[me@linuxbox ~]$ تاریخچه | کمتر
[me@linuxbox ~]$ تاریخچه | کمتر
به طور پیشفرض، bash 500 دستور آخری را که وارد کردهایم ذخیره میکند، اگرچه اکثر توزیعهای مدرن این مقدار را روی 1000 تنظیم میکنند. نحوه تنظیم این مقدار را در فصل بعدی خواهیم دید. فرض کنید میخواهیم دستوراتی را که قبلاً فهرست میکردیم، پیدا کنیم / usr / bin. یکی از راه هایی که می توانیم این کار را انجام دهیم:
[me@linuxbox ~]$ تاریخچه | grep /usr/bin
[me@linuxbox ~]$ تاریخچه | grep /usr/bin
و بیایید بگوییم که در بین نتایج ما یک خط حاوی یک دستور جالب مانند زیر دریافت کردیم:
88 ls -l /usr/bin > ls-output.txt
عدد "88" شماره خط فرمان در لیست تاریخچه است. میتوانیم فوراً از این با استفاده از نوع دیگری از بسط به نام استفاده کنیم گسترش تاریخ. برای استفاده از خط کشف شده ما می توانیم این کار را انجام دهیم:
[me@linuxbox ~]$ 88
[me@linuxbox ~]$ 88
bash "!88" را به محتوای خط هشتاد و هشتم در لیست تاریخ گسترش می دهد. اشکال دیگری از بسط تاریخ وجود دارد که کمی بعد به آنها خواهیم پرداخت.
bash همچنین امکان جستجوی تدریجی لیست تاریخچه را فراهم می کند. این بدان معناست که ما میتوانیم به bash بگوییم که با وارد کردن نویسهها، لیست تاریخچه را جستجو کند، و هر کاراکتر اضافی جستجوی ما را بیشتر اصلاح میکند. برای شروع جستجوی افزایشی Ctrl-r و سپس متن مورد نظر را فشار دهید. وقتی آن را پیدا کردید، می توانید Enter را برای اجرای دستور فشار دهید یا Ctrl-j را فشار دهید تا خط را از لیست تاریخچه به خط فرمان فعلی کپی کنید. برای یافتن تکرار بعدی متن (حرکت "بالا" در لیست تاریخچه، دوباره Ctrl-r را فشار دهید. برای ترک جستجو، Ctrl-g یا Ctrl-c را فشار دهید. در اینجا ما آن را در عمل می بینیم:
[me@linuxbox ~]$
[me@linuxbox ~]$
ابتدا فشار دهید Ctrl-r:
(جستجوی معکوس)`':
(جستجوی معکوس)`':
اعلان تغییر می کند تا نشان دهد که ما در حال انجام یک جستجوی افزایشی معکوس هستیم. "معکوس" است زیرا ما از "اکنون" تا زمانی در گذشته جستجو می کنیم. سپس شروع به تایپ متن جستجوی خود می کنیم. در این مثال "/usr/bin":
(جستجوی معکوس)`/ usr / bin': ls -l /usr/bin > ls-output.txt
(جستجوی معکوس)`/ usr / bin': ls -l /usr/bin > ls-output.txt
بلافاصله، جستجو نتیجه ما را برمی گرداند. با نتیجه ما می توانیم با فشار دادن دستور را اجرا کنیم وارد، یا می توانیم با فشار دادن دستور را در خط فرمان فعلی خود برای ویرایش بیشتر کپی کنیم Ctrl-j. بیا کپیش کنیم مطبوعات Ctrl-j:
[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt
[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt
اعلان پوسته ما برمی گردد و خط فرمان ما بارگیری شده و آماده عمل است! جدول زیر برخی از کلیدهای مورد استفاده برای دستکاری لیست تاریخچه را فهرست می کند:
جدول 8-5: دستورات تاریخچه
اقدام کلیدی
اقدام کلیدی
Ctrl-p به ورودی تاریخچه قبلی بروید. عملکرد مشابه فلش بالا. Ctrl-n به ورودی تاریخچه بعدی بروید. عملکرد مشابه فلش رو به پایین. Alt-< به ابتدای (بالای) لیست تاریخچه بروید.
Alt-> انتقال به انتهای (پایین) لیست تاریخچه، یعنی خط فرمان فعلی.
Ctrl-r جستجوی افزایشی معکوس. به صورت تدریجی از خط فرمان فعلی لیست تاریخچه را جستجو می کند.
Alt-p جستجوی معکوس، غیر افزایشی. با این کلید رشته جستجو را تایپ کرده و قبل از انجام جستجو اینتر را فشار دهید.
جستجوی Alt-n به جلو، غیر افزایشی.
Ctrl-o مورد فعلی را در لیست تاریخ اجرا کنید و به مورد بعدی بروید. اگر می خواهید دنباله ای از دستورات را در لیست تاریخچه مجدداً اجرا کنید، این کار مفید است.