مجموعهای از بهترین فرامین تقلب ترمنیال مک
مایکروسافت ویندوز، توزیعهای مختلف لینوکس یا مک اواس؛ فارغ از اینکه از چه سیستمعاملی استفاده میکنید، حتما درباره محیطهای متنی سیستمعامل خود شنیدهاید و شاید هم از آن بهره بردهاید. شاید با خود فکر کنید که مکاواس سیستمعاملی بصری بوده و نیاز خاصی به یادگیری فرامین متنی وجود ندارد؛ پس چرا باید فرامین یونیکس را یاد بگیریم؟
اپلیکیشنهای رایگان و متنباز مبتنی بر یونیکس فراوانی وجود دارد که با بهرهگیری از آنها دیگر نیازی به همتاهای غیررایگان نخواهید داشت و در هزینههای خود صرفهجویی خواهید کرد.
هنگامی که با مشکلاتی در جستوجو با اسپاتلایت مواجهید، میتوانید از ابزارهای جستوجوی یونیکس استفاده کنید.
شما میتوانید بهطور خودکار فایلها، پوشهها و آرشیوهای خود را مدیریت کنید. برای اینکار تنها کافی است یک کران جاب (Cron Job) تنظیم کنید.
فرامین متنی، دسترسی سطح پایینتر و کنترل بیشتری به سیستم میدهند. با استفاده از فرامین متنی میتوانید بهرهوری سیستمتان را افزایش دهید.
برگه تقلب (Cheat Sheet) چیست؟
بهخاطرسپردن تمامی فرامین یک محیط متنی یا زبان برنامهنویسی حتی برای برنامهنویسان و کاربران حرفهای و باتجربه نیز امری دشوار است. ازاینرو برگههای تقلب پدید آمدهاند؛ فهرستی از تمامی فرامین که به هنگام فراموشی، به یاری شما میآیند.
اپلیکیشن ترمینال را میتوانید از Applications > Utilities یا با جستجوی آن در اسپاتلایت پیدا کنید.
برگه تقلب فرامین مک
دستور | کارکرد |
---|---|
میانبر | |
Tab | تکمیل خودکار نام فایل و پوشهها |
Ctrl + A | رفتن به ابتدای خطی که در آن در حال تایپ هستید |
Ctrl + E | رفتن به انتهای خطی که در آن در حال تایپ هستید |
Ctrl + U | پاک کردن خط قبل از نشانگر |
Ctrl + K | پاک کردن خط پس از نشانگر |
Ctrl + W | پاک کردن کلمه قبل از نشانگر |
Ctrl + T | تعویض دو کاراکتر قبل از نشانگر |
Esc + T | تعویض دو کلمه قبل از نشانگر |
Ctrl + L | پاک کردن صفحه |
Ctrl + C | توقف برنامه در حال اجرا |
Ctrl + D | خروج از شل (Shell) کنونی |
Option + → | انتقال نشانگر به کلمه بعدی |
Option + ← | انتقال نشانگر به کلمه قبلی |
Ctrl + F | انتقال نشانگر به کاراکتر بعدی |
Ctrl + B | انتقال نشانگر به کاراکتر قبلی |
Ctrl + Y | چسباندن هرچیزی که از فرمان قبلی بریده شدهبود |
Ctrl + Z | قرار دادن برنامه در حال اجرا در یک پردازش پسزمینهای معلق |
Ctrl + _ | پاداجرای (Undo) فرمان آخر |
موارد پایه | |
/ | سطح بالاترین مسیر (Top level) (/) |
. (نقطه تک) | مسیر فعلی |
.. (دو نقطه) | مسیر مادر |
~ | مسیر خانه |
sudo [فرمان] | اجرای فرمان با مزایای امنیتی سوپر یوزر (super user) |
nano [فایل] | اجرای ویرایشگر ترمینال |
open [فایل] | باز کردن یک فایل |
[فرمان] -h | گرفتن راهنما برای یک فرمان |
man [فرمان] | نمایش راهنمای یک فرمان |
تغییر مسیر | |
cd | مسیر خانه (Home) |
cd [پوشه] | تغییر مسیر |
cd ~ | مسیر خانه (Home) |
cd/ | ریشه درایو |
cd - | آخرین مسیر یا پوشهای که بازدید کردید |
pwd | نمایش مسیر در حال کار |
cd.. | انتقال به مسیر مادر |
cd../.. | بالا رفتن به میزان دو سطح |
فهرست محتوای مسیر | |
ls | نمایش نام فایلها و زیرشاخههای یک مسیر |
ls -C | خروجی فهرست بهصورت چند ستونه |
ls -a | فهرست تمامی موارد ازجمله موارد با تک نقطه و دو نقطه |
ls -1 | خروجی فهرست فایلها بهصورت یک نتیجه در هر خط |
ls -F | یک / (اسلش) پس از هر مسیر، یک * (ستاره) پس از فایلهای اجرایی و اسکریپتها و @ پس از یک لینک سمبولیک نمایش میدهد. |
ls -S | مرتبسازی فایلها براساس اندازه |
ls -l | فهرست در حالت کامل شامل نوع فایل، صاحب، تاریخ و زمان، مسیر و ... نمایش داده میشود. |
ls -lt | نمایش فایلها که براساس آخرین زمان ویرایش، مرتب شدهاند (جدیدترینها اول) |
ls -lh | ایجاد فهرست کامل به همراه اندازه فایل بهصورت کیلوبایت، مگابایت یا گیگابایت |
ls -lo | فهرست از فایلها به همراه اندازه، صاحب و نشانهها |
ls -la | ایجاد فهرست با جزئیات از محتوای یک مسیر (به همراه فایلهای مخفی) |
اندازه فایل و فضای دیسک | |
du | فهرست میزان استفاده از هر زیرشاخه و محتوای آن |
du -sh [پوشه] | ایجاد خروجی خوانا از سوی انسان برای تمامی فایلهای یک مسیر |
du -s | نمایش اندازه و نام تمامی فایلها |
du -sk* | sort -nr | فهرست تمامی پوشهها و فایلها، نمایش اندازه با درنظرگرفتن زیرشاخهها. (اگر sk* با sm* جایگزین شود اندازه بهصورت مگابایت خواهد بود) |
df -h | محاسبه فضای خالی سیستم |
df -H | محاسبه فضای خالی سیستم در توان ۱۰۰۰ |
مدیریت فایل و شاخه | |
mkdir | ایجاد پوشه جدید با نام |
mkdir -p / | ایجاد پوشههای تودرتو (nested) |
mkdir
| ایجاد چندین پوشه بهطور همزمان |
mkdir " " | ایجاد یک پوشه بههمراه یک فاصله در نام |
rmdir | پاک کردن یک پوشه (پوشه باید خالی باشد) |
rm -R | حذف یک پوشه بههمراه محتوای آن |
touch | ایجاد یک فایل جدید بدون هیچ پسوندی |
cp
| کپی یک فایل در یک پوشه |
cp
| کپی یک فایل در مسیر فعلی |
cp ~/ / | کپی یک فایل در یک پوشه و تغییر نام فایل کپیشده |
cp -R <"new dir"> | کپی یک پوشه در یک پوشه جدید |
cp -i | در صورت وجود یک فایل با نام یکسان، پیش از کپی، پیغام اخطار میدهد |
cp
/Users/ | کپی چندین فایل در یک پوشه |
rm | حذف دائمی یک فایل |
rm -i | حذف یک فایل با تأیید شما |
rm -f | حذف اجباری بدون تاییدیه |
rm
| حذف چند فایل بدون تأیید |
mv
| انتقال / تغییرنام |
mv
| انتقال یک فایل به یک پوشه (در صورت وجود فایل با نام یکسان فایل جدید جایگزین خواهد شد) |
mv -i
| نشانگر -i شما را قبل از جایگزینی مطلع میسازد |
mv *.png ~/ | انتقال تمامی فایلها با پسوند PNG از مسیر فعلی به یک مسیر دیگر |
تاریخچه فرمان | |
Ctrl + R | جستوجو میان فرامین استفادهشده قبلی |
history n | نمایش آخرین فرامین اجراشده. استفاده از عدد n، تعداد دستورها را به n عدد آخر، محدود میکند |
![مقدار] | اجرای آخرین فرمانی که با مقدار شروع شده است |
!! | اجرای آخرین فرمانی که تایپ شده است |
اجازهها | |
ls -ld | نمایش اجازههای پیشفرض مسیر خانه |
ls -ld/ | نمایش اجازههای خواندن، نوشتن و دسترسی یک پوشه خاص |
chmod 755 | تغییر اجازه یک فایل به ۷۵۵ |
chmod -R 600 | تغییر اجازه یک پوشه (به همراه محتوای آن) به ۶۰۰ |
chown :
| انتصاب یک فایل به یک کاربر یا گروه. با اضافه کردن -R محتوای پوشه نیز لحاظ میشود |
پردازشها | |
ps -ax | خروجی دادن تمامی پردازشهای در حال اجرا (a نشاندهنده پردازشهای تمامی کاربران و x نشاندهنده پردازشهایی است که به ترمینال متصل نیستند) |
ps -aux | نمایش تمامی پردازشها بههمراه درصد استفاده از CPU، حافظه، PID و دستور |
top | نمایش اطلاعات زنده درباره پردازشهای در حال اجرا |
top -ocpu -s 5 | نمایش پردازشها براساس میزان استفاده از CPU (هر ۵ ثانیه بهروزرسانی میشود) |
top -o rsize | نمایش پردازشها براساس میزان استفاده از حافظه |
kill PID | توقف پردازش با استفاده از PID (این آیدی در یک ستون در Activity Monitor قابل مشاهده است) |
ps -ax | grep | یافتن یک پردازش با نام یا PID |
شبکه | |
ping | گرفتن پینگ از هاست و نمایش وضعیت |
whois | نمایش اطلاعات WHOIS یک دامنه |
curl -O | دریافت فایل ازطریق HTTP، HTTPS یا FTP |
ssh @ | برقراری ارتباط SSH با سرور و نام کاربری |
scp @ :/remote/path | کپی فایل به هاست ریموت |
مدیریت پکیج Homebrew | |
brew doctor | بررسی برای یافتن مشکلات احتمالی |
brew install | نصب یک فرمول |
brew uninstall | حذف یک فرمول |
brew list | فهرست تمامی فرمولهای نصبشده |
brew search | نمایش فرمولهای در دسترس برای brew |
brew upgrade | ارتقاء تمامی brewهای قدیمی |
brew update | دریافت آخرین نسخه از Homebrew |
brew cleanup | حذف نسخههای قدیمیتر از فرمول نصبشده |
brew tap homebrew/cask | دریافت مخزن cask از GitHub |
brew cask list | فهرست تمامی caskهای نصبشده |
brew cask install | نصب cask دادهشده |
brew cask uninstall | حذف cask دادهشده |
جستوجو | |
find -name <"file"> | یافتن تمامی فایلهای با نام در . استفاده از wildcardها (*) در نام فایل مجاز است |
grep " " | نمایش تعداد موارد وجود در (برای غیرفعال کردن حساسیت به بزرگی و کوچکی حروف -i را اضافه کنید) |
grep -rl " " | جستوجو در برای تمام فایلهایی که شامل میشوند |
خروجی | |
cat | خروجی دادن محتوای |
less | خروجی محتوای با فرمان less که از صفحهبندی و موارد دیگری پشتیبانی میکند |
head | خروجی دادن ۱۰ خط اول |
> > | خروجی فرمان را به فایل اضافه میکند |
> | هدایت خروجی فرمان به فایل |
| | هدایت خروجی فرمان به فرمان |
گام بعدی، شخصیسازی ترمینال
در این مقاله به فرامین زیادی اشاره شد. هنگامیکه بر این فرامین تسلط یافتید، نوبت آن است تا ترمینال خود را شخصیسازی کنید. در مقالهای دیگر به این موضوع پرداخته خواهد شد.
دیدگاه شما درباره این فرامین چیست؟ آیا از آنها بهره میبرید؟ محیط متنی چه برتریهای نسبت به محیط گرافیکی دارد؟