توسعه دهنده؛ متمرکز بر برنامهنویسی سمت وب و هوش مصنوعی. linktr.ee/mh_sattarian
چای ۷: اجرای دستورات قبلی در ترمینال
برای اینکه دستوراتی که قبلا توی shell اجرا کردیم رو دوباره اجرا کنیم معمولا history رو نگاه میکنیم:
history | grep <search_term>
اما روشهای راحتتری هم برای اینکار هستن که بررسی میکنیم:
تمامی این اپراتورها هم در bash و هم در zsh قابل استفاده هستند.
اجرای دستور قبلی
برای اجرای آخرین دستوری که وارد کردیم میتونیم کلید بالا ⬆️ رو بزنیم تا دستور انتخاب بشه، اما اگر بخوایم از دستور قبلی توی دستور فعلی استفاده کنیم، میتونیم از از اپراتور !! استفاده کنیم:
هنگام استفاده از کلید بالا ⬆️ اگر وسط نوشتن دستوری باشین، فقط بین دستوراتی که مشابه تا اینجای دستور نوشته شده هستن جستجو میکنه؛ برای دیدن دستورات قبلی بدون در نظر گرفتن شباهت از Ctrl+P استفاده کنین.
pacman -S edex-ui
sudo !!
sudo pacman -S edex-ui
یکی از کاربردهای زیاد این روش میتونه اضافه کردن sudo به ابتدای دستور قبلی باشه.
اجرای دستور nام history
از اولین اجرای سیستم دستوراتی که توی ترمینال اجرا میشن توی history ذخیره میشن که با همین دستور هم لیست اونها رو میشه دید. هرکدوم از این دستورات یک index دارن که همینطور نشون دهنده ترتیب اجرای اونها هم هست. با دونستن شماره یک دستور و با کمک عملگر ! میشه اون دستور رو دوباره اجرا کرد:
# history : 105 ping google.com
!105
ping google.com
جستجو در دستورهای قبلی
جستو با حرف شروع
برای استفاده و اجرا دوباره آخرین دستوری که با حرف مثلا q شروع شده میتونیم از اپراتور q! استفاده کنیم:
توجه کنید که q جزو اپراتور نبوده و جای اون هرکدوم از حروف رو میتونیم بذاریم.
!s
serve -s . # last command used starting with 's'
جستجو پویا در تاریخچه دستورات
برای اینکه آخرین دستوری که یک عبارت داخلش استفاده شده، میتونیم با استفاده از ترکیب Ctrl+R، جستجو در دستورات قبل رو فعال کرده و عبارت مورد جستجو رو وارد کنیم:
# press Ctrl+R
(zsh) bck-i-search: _
(bash) (reverse-i-search)`':
برای خارج شدن از این حالت، از Ctrl+G یا Ctrl+Q استفاده کنین.
جستجو پویا با استفاده از fzf
fzf یک ابزار جستجوی فازی تحت خط فرمان هست که به کمک اون میتونیم خروجی هر دستوری رو بهصورت فازی جستجو کنیم. میتونید fzf رو از مدیر بسته سیستمعاملتون نصب کنید.
برای استفاده از fzf برای جستجو در history بهصورت زیر عمل میکنیم:
history | fzf +s --tac
استفاده از آرگومانهای دستور قبل
استفاده از آخرین آرگومان دستور قبل
برای تنها استفاده از آخرین آرگومان دستور قبلی میتونیم از اپراتور $! استفاده کنیم:
echo arg1 arg2 arg3
cd !$
echo arg3
استفاده از اولین آرگومان دستور قبل
برای استفاده از اولین آرگومان دستور قبلی میتونیم از اپراتور ^! استفاده کنیم:
echo arg1 arg2 arg3
cd !^
echo arg1
استفاده از دستور قبلی بدون آرگومان
برای استفاده از دستور قبلی بدون آرگومانهاش میتونیم از اپراتور #! استفاده کنیم:
echo arg1 arg2 arg3
cd !#
echo echo
این پست، قسمت هفتم از چای، مجموعهای در باب «چیزی که امروز یادگرفتم» است. باقی چایها رو میتونید از اینجا مشاهده کنید و در مورد فلسفهی این کار بخونید.
مطلبی دیگر از این انتشارات
چای ۱: بروزرسانی Google Sheets با استفاده از پایتون
مطلبی دیگر از این انتشارات
چای ۳: چطوری کلاسهای مجازی دانشگاه رو ضبط کنم؟
مطلبی دیگر از این انتشارات
چای ۴: خودکارسازی تلگرام، دانلود مدیاهای یک کانال/گروه