دستورهای ترمینال سیستم عامل مک (macOS) – راهنمای مقدماتی


بسیاری از کارهای روزمره در سیستمعامل Mac یا همان macOS، با وجود رابط کاربری گرافیکی زیبای آن به راحتی و سرعت انجام میشود. اما برخی مواقع Finder به یک ابزار سرسخت تبدیل میشود. روشهای سریعتری نیز برای کارهایی مانند یافتن یک فایل 5 گیگابایتی که مخفی شده و یا مسیر همه فایلهای مرتبط با یک اپلیکیشن که تصور میشود حذف شده وجود دارد. برای اجرای این کارها و همچنین کارهای دیگر، خط فرمان یکی از بهترین ابزارها محسوب میشود. به همین منظور در این نوشته به معرفی ترمینال سیستم عامل مک میپردازیم و مقدمات کار با آن را مرور خواهیم کرد.
ترمینال چیست؟
ترمینال ابزاری است که امکان تعامل با مک از طریق خط فرمان را میدهد. سیستمعامل لینوکس نیز ابزارهای مشابهی دارد چون هر دو سیستم لینوکس و macOS از ریشه مشترک سیستمهای عامل «شبه یونیکس» (Unix-like) انشعاب یافتهاند. «رابط خط فرمان» (Command Line Interface) یا به اختصار CLI زبانی است که با استفاده از آن دستورها را در ترمینال وارد میکنید تا با سیستم مک تعامل داشته باشید. این زبان bash نام دارد. هر چیزی که در این مقاله معرفی میشود یک دستور bash محسوب میشود.
پیش از آن که شروع به استفاده از ترمینال بکنیم، باید بدانیم که میتوانیم آن را بر اساس ترجیحهای شخصی خود سفارشیسازی کنیم. اگر ترجیح میدهید حتی میتوانید یک ترمینال جایگزین شخص ثالث دانلود کنید که ظاهر و حس و حال متفاوتی داشته باشد.
نکات کلی در مورد خط فرمان مک
در ابتدا نگاهی به برخی واقعیتها در مورد ترمینال مک میاندازیم که باید از آنها اطلاع داشته باشید.
ساختار کلی
یک دستور bash به طور معمول چنین الگویی دارد:
[Command] [Options] [Input or Path to File or Directory]
به طور مثال در دستور زیر:
ls -la /Applications
ls یک دستور است، la- ترکیبی از دو گزینه منفرد یعنی l- و a- است و Applications/ مسیری است که فایلهایش باید لیست شوند.
مسیر
درک مسیرها به شما کمک میکند که بدانید مک در عمل فایلهای شما را چگونه میبیند. مسیر یک فایل اساساً شبیه به عروسکهای تودرتوی روسی است. یعنی پوشهها به صورت تو در تو هستند و در انتها نام فایل قرار دارد.
برای مثال روی یک سیستم مک، مسیر یک فایل به نام My Secrets که روی دسکتاپ کاربری به نام John Doe قرار دارد به صورت زیر است:
/Users/jdoe/Desktop/"My Secrets"
فاصله خالی
شما باید فاصلههای خالی را در ترمینال حذف کنید تا دستورها به طرز صحیحی پردازش شوند. زمانی که bash یک فاصله خالی میبیند، آن را به عنوان پایان دستور تفسیر میکند. بنابراین اگر پوشهای داشته باشید که در نام خود فاصله داشته باشد، مثلاً به صورت Path Test باشد و تلاش کنید محتوای آن را با دستور زیر لیست کنید:
ls /Applications/Path Test
با خطای زیر مواجه میشوید:
مشکل این جا است که bash فکر میکند شما ls را روی Applications/Path/ فراخوانی کردهاید و زمانی که مطمئن میشود فایل را یافته است متوقف میشود.
اگر میخواهید bash بتواند نام کامل پوشه شما را تشخیص دهد، میتوانید به صورت زیر نام آن را در داخل گیومه قرار دهید و یا از (\) استفاده کنید:
ls /Applications/"Path Test" or ls /Applications/Path\ Test
Sudo
بسیاری از دستورهای زیر نیازمند دسترسی در سطح مدیریتی هستند. اگر در حال حاضر با یک حساب کاربری مدیر وارد سیستم نشده باشید، اما رمز آن حساب را بدانید، میتوانید با استفاده از sudo در ابتدای دستور خود که اختصاری برای «single user do» است، به طور موقت مجوزهای سطح مدیریتی را دریافت کنید.
دستورهای ترمینال برای بهبود گردش کار
اکنون که با مبانی کار آشنا شدید، میتوانید نگاهی به دستورهای کاملاً مفید بیندازید. دقت کنید که میتوانید اطلاعات کامل این دستورها و گزینههای هر کدام را با وارد کردن عبارت man و سپس نام دستور در ترمینال به صورت زیر دریافت کنید:
man <command name>
find
این دستور جایگزین ابزار Spotlight و بهتر از آن است، زیرا پوشههای سیستمی را که Spotlight نمیتواند جستجو کند، سریعتر میگردد و مشکلات اندیسگذاری کمتری دارد.
Spotlight معمولاً فایلهای سیستمی macOS را نمیگردد؛ مگر اینکه صریحاً این مسئله را ذکر کنید و حتی در این حالت نیز نمیتواند همه آنها را اندیسگذاری کند. به طور عکس دستور find در bash میتواند هر چیزی را در هر جایی جستجو کند و مسیر کامل آن چه را به دنبالش هستید در خروجی ارائه میکند.
ساختار find شامل چهار بخش است که به ترتیب به شرح زیر هستند:
- find
- مسیر دایرکتوری که میخواهید جستجو کنید. در مثال زیر به صورت Applications/ است.
- گزینهها که در مثال زیر از گزینه name- استفاده شده است که معنی آن این است که find باید به جستجوی فایلهایی که نام آنها مطابقت دارد بپردازد.
- رشته مورد جستجو. در مثال زیر از Google Chrome استفاده شده است.
اینک باید بدانید که find از regex استفاده میکند که «عبارت منظم» (Regular Expression) نیز نامیده میشود. توضیح کامل این موضوع خارج از حوصله این مقاله است؛ با این وجود در مثال زیر، یک مفهوم ضروری در مورد regex ارائه شده است که ستاره (*) یا همان کاراکتر «وایلدکارد» (wildcard) است.
قرار دادن این کاراکتر در ابتدا یا انتهای یک رشته به این معنی است که find همه نتایجی که کاراکترهای پیش یا پس از واژه جستجو را دارند در خروجی ارائه دهد. در این حالت Google Chrome شامل Google Chrome.app نیز میشود. به طور خلاصه کارکرد این کاراکتر مانند زیر است:
du
این دستور جایگزین Cmd + I برای نمایش اطلاعات پوشه شده است و از آن بهتر است زیرا میتواند در یک دستور چندین پوشه را نمایش دهد و به طور معمول زمان بارگذاری کمتری دارد.
du اختصاری برای عبارت «disk usage» (مصرف دیسک) است و میتواند به سرعت اندازه یک فایل یا پوشه را مشخص کند و یا حتی لیستی از فایلهای درون یک پوشه را نمایش دهد. بهترین گزینههای دستور du به صورت زیر هستند:
d- (عمق)
زمانی که یک عدد پس از این گزینه ذکر شود به find اعلام میکند که جستجو را به یک سطح مشخصی از عمق دایرکتوری که در آن اجرا شده محدود کند.
برای نمونه اگر دستور زیر را اجرا کنید:
du -d 1 /Applications
اندازه کل پوشهها و فایلهای درون پوشه Applications نمایش مییابد و نه اندازههای پوشههای فرعی درون این پوشهها.
h- (قابل خواندن انسان)
این دستور اندازه فایلها را با حروف M ،K و یا G نمایش میدهد که به ترتیب به صورت کیلو، مگا و گیگا هستند. مثالی از استفاده عملی آن چنین است:
mv
این دستور جایگزین کلیک کردن و جابجا کردن فایلها و پوشهها شده و از آن بهتر است زیرا سریعتر بوده و به ناوبری نیاز ندارد. با استفاده از این دستور میتوان یک فایل یا پوشه را به پوشه دیگری انتقال داد. این دستور به سادگی با تغییر دادن نام مسیر عمل میکند.
ساختار آن چنین است:
mv <old file path> <new file path>
برای نمونه دستور زیر فایل file1 را از پوشه Documents مربوط به jdoe به پوشه Desktop وی میبرد.
mv /Users/jdoe/Documents/file1 /Users/jdoe/Desktop/file1
ls
این دستور جایگزین Cmd + i شده و از آن بهتر است زیرا علاوه بر سرعت بیشتر، میتواند اطلاعات چندین فایل را همزمان نمایش دهد و کاملاً قابل سفارشیسازی است.
ls یک دستور بسیار قدرتمند برای نمایش محتوای دقیق پوشهها است. این دستور همچنین مشخص میسازد که چه کسانی مجاز به دیدن فایلها هستند و یا یک فایل یا پوشه مخفی روی سیستم هست یا نه. همچنین کاربردهای زیاد دیگری دارد.
بهترین گزینههای ls چنین هستند:
- l- به معنی (long): مجوزهای هر فایل در پوشه، زمان آخرین تغییرات، مالک و نام فایل را نمایش میدهد.
- a- به معنی (all): همه فایلهای درون یک پوشه را نمایش میدهد که شامل فایلهای مخفی نیز میشود.
خروجی این دستور چیزی مانند زیر خواهد بود:
mkdir
این دستور جایگزین عملیات مراجعه به مسیر Finder > File > New Folder میشود و از آن بهتر است زیرا علاوه بر سرعت بیشتر، میتوان نام را مستقیماً در فرمان تعین کرد و نیازی به دو بار کلیک روی پوشه جدیداً ایجاد شده نیست.
پوشههای جدید با این دستور بیدرنگ ایجاد میشوند. برای نمونه:
mkdir /Users/jdoe/Desktop/cool_stuff
rm
جایگزین انتقال فایلها به سطل آشغال و خالی کردن شده و از آن بهتر است زیرا علاوه بر سرعت بیشتر، برای حذف فایلهای بزرگ که سطل آشغال نمیتواند در خود جای دهد مناسبتر است.
این دستور بیدرنگ و بدون هشدار قبلی هر فایلی که در مسیرش وجود داشته باشد را پاک میکند. بدیهی است که باید با دقت زیادی از آن استفاده کرد. برخلاف کلیک کردن گزینه Empty Trash، دستور rm از شما سؤالی نمیپرسد. این دستور فرض میکند که شما میدانید دقیقاً چه کاری میکنید.
یک نکته که در مورد rm باید در خاطر داشت، این است که این دستور به صورت پیشفرض فایلها و نه پوشهها را حذف میکند. برای حذف کردن پوشهها باید از گزینه R- استفاده کنید که به معنی recursive است. مثالی از این دستور چنین است:
rm -R /Users/jdoe/Desktop/cool_stuff
سخن پایانی
اینک شما با برخی دستورهای ضروری ترمینال مک آشنا شدید و میتوانید شروع به استفاده از آنها در کارهای روزمره خود با مک بکنید. زمانی که در استفاده از bash تبحر بیشتری یافتید میتوانید جلوتر بروید و کارهای روزمره خود را با استفاده از آن انجام دهید و بدین ترتیب شروع به کشف قدرتهایی بکنید که از سوی خط فرمان در اختیار شما قرار میگیرند. کار خود را با نصب Homebrew آغاز کنید که نرمافزار مدیریت بسته در macOS است. این نرمافزار امکان نصب زبانهای برنامهنویسی جدید، مخازن نرمافزاری و مواد دیگر را به شما میدهد.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزش مهارتهای اساسی کار با کامپیوتر
- مجموعه آموزشهای ویژه علاقهمندان به کامپیوتر
- مجموعه آموزشهای لینوکس
- دستورات محیط ترمینال MAC و Linux
- قابلیت Quick Actions در macOS Mojave چگونه کار میکند؟
- آموزش نصب مجدد مک او اس — راهنمای گام به گام
==