بهترین روشی که می توانید از طریق آن با لینوکس آشنا شوید یادگیری دستورات مهم و اساسی آن است، در این آموزش به دستورات پرکاربرد لینوکس اشاره می کنیم که هر کاربری برای کار کردن با لینوکس نیاز به یادگیری این دستورات دارد.
در زمان نگارش این مطلب، لینوکس به عنوان سیستم عامل سهم بازار جهانی %2.68 را در رایانه های رومیزی دارد، اما بیش از 90% از زیرساخت های ابری و خدمات میزبانی وب در این OS اجرا میشوند. به همین دلیل آشنایی با دستورات پرکاربرد لینوکس بسیار مهم است. بر اساس نظرسنجی StackOverflow در سال 2020 میلادی، Linux با داشتن 55.9% از سهم بازار، پراستفادهترین و محبوبترین سیستمعامل از نظر توسعه دهندگان حرفهای است البته تعجبی هم ندارد، چرا که لینوکس رایگان و متنباز است، امنیت بهتری نسبت به رقبای خود دارد و دارای خط فرمان قدرتمندی است که به کاربران امکانات بیشماری میدهد.
خط فرمان لینوکس چیست؟
برای یادگیری سیستم عامل ویندوز کافیست محیطهای گرافیکی ویندوز را بشناسید تا بتوانید با کلیه ویندوزها اعم از ویندوز 7 تا 10 و … کار کنید. برای یادگیری لینوکس هم میتوان از محیطهای گرافیکی لینوکس استفاده کرد اما بیش از 70% کارهای اصلی لینوکس را باید با خط فرمان آن یعنی Terminal انجام داد که شامل دستورات جامع لینوکس میشود. البته نامهای پوسته یا شل، کنسول و prompt هم برای اشاره به خط فرمان به کار برده میشود.
به عنوان مثال برای نصب یک نرم افزار در ویندوز کافیست تا روی فایل Setup برنامه دوبار کلیک کنید تا برنامه مورد نظر شما نصب شود. اما برای نصب نرم افزار در لینوکس نمیتوانید از محیط گرافیکی استفاده کنید چراکه باید از Terminal و با دستور خاص این کار را انجام دهید.
هر رابط کاربری گرافیکی (GUI) فقط انتزاعی از برنامه های خط فرمان است. به عنوان مثال، وقتی پنجرهای را با کلیک بر روی “X” میبندید، یک فرمان در پشت آن عمل اجرا می شود.
اکثر دستورات لینوکس یک صفحه راهنما دارند که می توانیم آن را با پرچم -h فراخوانی کنیم. در بیشتر مواقع، استفاده از پرچمها اختیاری است.
پرکاربردترین Commandهای لینوکس
قبل از هر چیز، مطمئن شوید که ترمینال را فعال کردهاید. در اکثر توزیعهای لینوکس، از Ctrl + Alt + T برای این کار استفاده میشود. اگر این روش برای شما قابل اجرا نیست، در پنل برنامه خود عبارت « terminal» را جستجو کنید.
خب حالا نوبت به 40 فرمان میرسد!
1-دستور ls
ls
به احتمال بسیار زیاد اولین دستوری است که هر کاربری لینوکسی در ترمینال خود تایپ میکند. این دستور به شما اجازه میدهد که محتویات دایرکتوری خود را فهرست کنید. برای مثال، میخواهید ببینید در پوشه عکسها، چند فایل و با چه مشخصاتی وجود دارد و بین آنها بهدنبال فایل مدنظرتان بگردید.
ls
این دستور گزینههای زیادی پیش روی شما میگذارد، بنابراین در صورت بروز هرگونه مشکل از پرچم help– کمک بگیرید.
به عنوان مثال، برای رنگ آمیزی خروجی دستور ls
، می توانید فرمان زیر را اجرا کنید:
ls --color=auto
2. دستور alias
این فرمان برای نمایش گروهی از دستورها و گزینهها و نمایش فهرستی از تمام نامهایی است که در سرور تعریف شده است. پسازآن، aliasهای تعریفشده بهواسطه کاربر را به فایل bashrc./~ میتوانید اضافه کنید. بهعنوان مثال، بهمنظور تنظیم ls برای داشتن رنگ، بدون تایپکردن آن میتوانید از این دستور استفاده کنید:
alias ls="ls --color=auto"
اگر میخواهید امکان مشاهده تمام دستوراتalias
ممکن شود، میتوانید دستور آن را بدون آرگومان اجرا کنید:
alias
3. دستور unalias
این دستور همانطورکه از نامش مشخص است، برای حذف نام مستعاری بهکار میرود که از قبل تعریف شده است. برای حذف نام مستعار، میتوانید از دستور زیر بهره ببرید:
unalias ls
درواقع برای حذف آن، میتوانید LS را درمقابل این دستور قرار دهید.
4. دستور pwd
این دستور با عنوان چاپ پوشه و مسیر دردسترس و کاری استفاده میشود و مخفف چاپ دایرکتوری کاری است. pwd یکی از دستورهای پرکاربرد لینوکس بهحساب میآید که البته در یونیکس نیز بهکار برده میشود. برای مثال، اگر نام کاربری شما Armin باشد و در دایرکتوری Doc حضور داشته باشید، مسیر بدینصورت اجرا خواهد شد:
/home/armin/Documents
دستور آن در ترمینال بهترتیب زیر پرینت خواهد شد:
pwd
# My result: /home/kinsta/Documents/linux-commands
cd
دستور cd در سیستمعامل لینوکس یکی از دستورهای پرکاربرد و مهمی است که میتوان بارهاوبارها از آن استفاده کرد. ناگفته نماند مشابه این دستور در سیستمعامل ویندوز و در خط فرمان نیز وجود دارد. دستور یادشده معمولاً همراه با ls استفاده میشود و به تغییر در دایرکتوری اشاره میکند. شما میتوانید به دایرکتوری دلخواهتان دسترسی داشته باشید و این دستور عملیات سوئیچ را انجام میدهد. برای مثال، اگر در پوشه اسناد هستید و میخواهید به پوشه ویدئو بروید که از زیرشاخههای این بخش است، میتوانید از این گزینه استفاده کنید:
cd Videos
همچنین، میتوانید مسیر مطلق پوشه را نیز نمایش دهید:
cd /home/kinsta/Documents/Videos
اگر بازهم به این دستور نیاز دارید و میخواهید بیشتر درباره آن بدانید، از این ساختارها میتوانید استفاده کنید:
حالت اول، نمایش پوشه خانگی (Home) است:
cd
انتقال به یک سطح بالاتر:
cd ..
بازگشت به دایرکتوری و مسیر قبلی:
cd -
۶. دستورcp
Cp نیز از دیگر دستورهای پراستفاده لینوکس بهحساب میآید که با استفاده از آن، فایلها و دایرکتوریها را در مکان دلخواهتان بهراحتی میتوانید کپی کرد. درضمن، اگر به سیستمعامل لینوکس نیاز دارید، بهصورت مرتب با این دستور سروکار خواهید داشت.
کپیکردن مستقیم فایلها و پوشهها در ترمینال سیستمعامل لینوکس بسیار آسان است و گاهی اوقات میتواند جایگزین فایلمنیجری شود که نمیخواهید با آن کار کنید. برای استفاده از این دستور، کافی است که آن را همراه با فایلهای مبدأ و مقصد تایپ کنید:
cp file_to_copy.txt new_file.txt
علاوه بر این، کل دایرکتوریها را میتوانید با استفاده از این تگ استفاده کنید:
cp -r dir_to_copy/ new_copy_dir/
۷. دستور rm
حالا که براساس کاربردیترین دستورهای لینوکس یاد گرفتید چگونه پوشهها و دایرکتوریها را در لینوکس کپی کنید، وقت آن فرارسیده است که حذف فایلها را نیز بیاموزید. برای این کار، میتوانید از دستور rm استفاده کنید؛ البته هنگام استفاده از آن دقت کنید؛ زیرا ممکن است سبب ازبینرفتن همیشگی فایلهای سیستمیتان شود. برای حذف فایلی معمولی، بدینترتیب پیش بروید:
rm file_to_copy.txt
درصورتیکه میخواهید دایرکتوری خالی را حذف کنید، میتوانید از دستور r- استفاده کنید:
rm -r dir_to_remove/
برای حذفکردن دایرکتوری با محتوای داخل آن، از دستور f- نیز درکنار دستور بازگشت باید استفاده کنید:
rm -rf dir_with_content_to_remove/
۸. دستور mv
درادامه معرفی کاربردیترین دستورهای لینوکس، بهسراغ دستور mv میرویم. با استفاده از این دستور، فایلها را بهراحتی میتوانید جابهجا کنید یا آنها را تغییر نام دهید. برای استفاده از این دستور، آن را با نام فایلهای مبدأ و مقصد تایپ کنید:
mv source_file destination_folder/
mv command_list.txt commands/
برای استفاده از مسیرهای مطلق، از این دستور استفاده کنید:
mv /home/kinsta/BestMoviesOfAllTime ./
./ Where دایرکتوری جاری شما است، همچنین با استفاده از دستور mv میتوانید نام فایلهای دایرکتوری جاری را تغییر دهید.
mv old_file.txt new_named_file.txt
۹. دستور mkdir
برای ساخت پوشه در شل، از دستور mkdir میتوانید استفاده کنید. ناگفته نماند پیش از هر کاری باید نام پوشه جدید را مشخص کنید و مطمئن شوید که از قبل ساخته نشده است و تکراری نیست. برای مثال، این دایرکتوری برای تمام تصاویر است:
mkdir images/
همچنین، برای ایجاد زیرپوشه میتوانید از دستورهای ساده p- استفاده کنید:
mkdir -p movies/2004/
۱۰. دستور man
یکی دیگر از دستورهای ضروری و مهم لینوکس man است؛ صفحهای که دستور دلخواهتان را به شما آموزش میدهد. با واردکردن این دستور، توضیحاتی به شما نمایش داده میشود که میتوانید براساس آن پیش بروید:
man mkdir
همچنین با استفاده از دستور زیر می توانید به صفحه راهنمای دستی man مراجعه کنید.
man man
۱۱. دستور touch
touch -m old_file
۱۲. دستورchmod
دستور بسیار کاربردی chmod برای مدیریت دسترسیها یا ایجاد و حذف پرمیشنها بهکار برده میشود. اگر میخواهید امکان خواندن و نوشتن و مدیریت فایل یا پوشهای خاص را به کاربر بدهید یا او را محدود کنید، از این دستور مهم میتوانید بهره بگیرید.
معمولاً دستورهای chmod برپایه اینهاست:
- r (read)
- w (write
- x (execute)
یکی از کاربردهای رایج این دستور زمانی است که فایل برای کاربر اجراشدنی باشد و بتوان این دستور و مجوز را به او الحاق کرد. برای این منظور، میتوانید از این فرمان استفاده کنید:
hmod +x script
۱۳. دستور sudo
احتمالاً برای شما نیز پیش آمده است که خواسته باشید در ترمینال پکیج نرمافزاری نصب کنید؛ اما به دسترسی root نیاز داشته باشید. درواقع، این دسترسی ادمین لینوکس محسوب میشود؛ یعنی کسی که میتواند تمامی پردازشها را انجام دهد. با استفاده از دستور sudo، میتوانید نرمافزار را نصب یا فایلهای خارج از فهرست دسترسی کاربران را ویرایش کنید:
sudo apt install gimp
sudo cd /root/
ناگفته نماند قبل از اینکه دستور sudo اجرا شود، از شما رمز عبورادمین یا همان root خواسته خواهد شد.
14. دستور shutdown
از این دستور در درجه اول برای خاموشکردن مستقیم سیستم در ترمینال لینوکس استفاده میشود. بااینحال، برای راهاندازی مجدد سیستم یا خاموششدن در زمان مقرر نیز میتوانید از آن استفاده کنید:
shutdown now
برای لغوکردن فرایند خاموششدن، میتوانید با استفاده از دستور c– این کار را انجام دهید:
shutdown 20:40
برای خاموشکردن در ساعتی خاص، از این دستور استفاده کنید:
shutdown -c
۱۵. دستور htop
با استفاده از دستوری که درادامه با آن آشنا میشوید، برپایه فرایند تعاملی مناسب، دستگاه خود را مستقیماً از ترمینال لینوکس میتوانید مدیریت کنید. در بیشتر مواقع، دستور مذکور بهصورت پیشفرض بدینترتیب استفاده میشود:
htop
۱۶. دستور unzip
در بین کاربردیترین دستورهای لینوکس، احتمالاً به خارجکردن فایل زیپ از حالت فشرده هم نیاز پیدا خواهید کرد. این کار را میتوانید بدون نصب نرمافزارهای جانبی بهراحتی انجام دهید. حتی در سیستمعامل ویندوز نیز این قابلیت بهصورت پیشفرض وجود دارد:
unzip images.zip
دستور بالا پوشهای که نامش درادامه آمده است، از حالت فشرده خارج میکند.
۱۷. دستورات apt
, yum
, pacman
با استفاده از دستورهایی که درادامه میخوانید، باتوجهبه توزیع لینوکس مورداستفادهتان، بسته را میتوانید حذف یا نصب یا بهروزرسانی کنید. این دستور در خط فرمان سیستمهای مختلف لینوکسی ممکن است متفاوت باشد؛ بههمیندلیل، ما به همه آنها اشاره میکنیم.
در توزیعهای دبیان (اوبونتو و لینوکس و مینت):
sudo apt install gimp
در توزیعهای ردهت (فدورا و سنتاواس):
sudo yum install gimp
در توزیعهای آرچ (مانجارو و آرکو):
sudo pacman -S gimp
۱۸. دستور echo
این دستور چیزی شبیه به یکی از سینتکسهای پیاچپی است و با استفاده از آن، متن را در باکس ترمینال بهراحتی میتوانید نمایش دهید:
echo "Cool message"
۱۹. دستورcat
با استفاده از دستور cat، میتوانید فایلها را مستقیماً در ترمینال ایجاد و آنها را بههم متصل کنید و فایل را در ویرایشگر گرافیکی متن ببینید:
cat long_text_file.txt
۲۰. دستور ps
با استفاده از این دستور پرکاربرد لینوکس، میتوانید بهراحتی پردازشهایی را مشاهده کنید که در هسته و لینوکس در حال انجام است. این دستور شناسه فرایند و زمان و نام فرمان را بهنمایش میگذارد و یکی از گزینههای کاربردی برای کسانی است که مدام نگران منابع مصرفی سرور یا سختافزار خود هستند:
ps
۲۱. دستور kill
اگر بخواهیم این دستور را بهصورت ویندوزی به شما توضیح دهیم، درواقع همان کار End Task را در منو نرمافزارهای در حال اجرا در سیستمعامل ویندوز میکند. زمانی که نرمافزاری به هر دلیل از کار میافتد یا در پسزمینه سعی میکند که اجرا شود؛ اما موفق نمیشود یا وقت شما را تلف میکند، از دستور کشتن (kill) میتوانید استفاده کنید. برای مثال، نیاز است که ID پردازش یا نام برنامه را وارد کنید:
kill 533494
kill firefox
۲۲. دستور ping
این دستور نیز ازجمله دستورهای محبوب و پراستفاده لینوکس است که از آن میتوان در تمام توزیع های لینوکس بهره برد. با استفاده از این دستور، میتوانید بهراحتی آیپی وبسایت یا فعالیت آیپی دلخواهتان را بهدست بیاورید. برای این کار، اینگونه عمل کنید:
ping google.com
ping 8.8.8.8
۲۳. دستور vim
دستور بعدی vim را اجرا میکند. این ویرایشگر متن ترمینال بهرایگان کار میکند و از دهه ۱۹۹۰ در لینوکس بهکار برده میشود. نرمافزار متنی یادشده به شما اجازه میدهد که بهراحتی متنها را با استفاده از صفحهکلید ویرایش کنید:
vim
۲۴. دستور history
شاید شما هم مثل بسیاری از افراد در بهخاطرسپردن دستورها مشکل داشته باشید. در این صورت، میتوانید آن را در تاریخچه آخرین دستورهایی پیدا کنید که در ترمینال وارد کردهاید. ازنظر توسعهدهندگان نرمافزاری و کاربران لینوکسی، این دستور یکی از دستورهای محبوب و کاربردی لینوکس محسوب میشود:
history
۲۵. دستور passwd
اگر به هر دلیل میخواهید رمزعبور حساب کاربریتان را در سیستمعامل لینوکس تغییر دهید، از دستور password میتوانید بهراحتی استفاده کنید:
passwd
پس از تایپ این دستور، پنجره رمزعبور فعلی و تغییر به رمزعبور جدید بهنمایش درمیآید. اگر به هر دلیل رمزعبور فعلی را نداشته باشید، نمیتوانید این فرایند را بهپایان برسانید.
۲۶. دستور shred
با استفاده از این دستور کاربردی، میتوانید فایلها را طوری از بین ببرید که بازگردانی و بازیابی آنها عملاً غیرممکن شود:
shred file_to_shred.txt
درواقع، این دستور ساختار فایلتان را ناخوانا و کدها را نامفهوم میکند. حتی اگر میخواهید آن فایل را فوراً حذف کنید تا پس از ریکاوری نیز نمایشدادنی نباشد، از این دستور استفاده کنید:
shred -u file_to_shred.txt
۲۷. دستور tail
این دستور نیز ازجمله دستورهای پراستفاده لینوکس بهشمار میرود که به شما اجازه میدهد آخرین خط یا خطهای خاصی از فایل متنی را چاپ کنید. برای مثال، میتوانید مشخص کنید که خط ۱۱ از فایل متنی چاپ شود:
tail long.txt
البته برای این کار باید در n– عدد خط مدنظر را وارد کنید:
tail -n 4 long.txt
grep
احتمالاً برای شما هم پیش آمده است که در فایلی خاص بهدنبال عبارتی خاص باشید. برای نمونه، میخواهید در فایل متنی هرچه عبارت new وجود دارد، نمایش داده شود. برای این کار، میتوانید از دستور grep استفاده کنید:
grep "linux" long.txt
با استفاده از دستور c–، میتوانید تعداد دفعات تکرار یک واژه در یک فایل را بیابید:
grep -c "linux" long.txt
# 2
wget
با این دستور که به وب گسترده جهانی اشاره میکند، محتوا را از اینترنت میتوانید بازیابی کنید یا نمایش دهید. برای این کار، نخست دستور را بنویسید و سپس آدرس وبسایت را درج کنید:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
30. دستور find
این دستور همانطورکه از نامش مشخص است، برای یافتن فایل در دایرکتوری استفاده میشود. بهمنظور انجام این کار، آدرس و flags و خصوصیات و نام آن را میتوانید بنویسید. بهطور مثال، در نمونهای که درادامه میبینید، فایل متنی جستوجو میشود:
برای جستوجوی فایلهایی با فرمت پایتون، میتوانید بدینشکل عمل کنید؛ البته امکان فراخوانی از گیتهاب نیز وجود دارد:
find ./ -type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py
31. دستور neofetch
احتمالاً برای شما هم پیش آمده است که بخواهید اطلاعات تکمیلی درخصوص سختافزار و مشخصات فنی و نسخه سیستمعامل و ورژن آن را در لینوکس بیابید. برای این کار، میتوانید از دستور neofetch استفاده کنید:
neofetch
۳۲. دستور uname
این دستور نیز برای نمایش مشخصات دستگاه و سیستمعامل و نسخه لینوکس نصبشده بهکار برده میشود. با استفاده از آن، درباره ورژن سیستمعامل خود و جدیدترین بهروزرسانی و پَچ آن میتوانید اطلاعات مفیدی کسب کنید:
uname
# Linux
uname -a
# Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux
33. دستور wc
این دستور نشاندهنده تعداد کلمات یک فایل متنی است. برای نمونه، اگر فایل وردی دارید و میخواهید تعداد واژههای آن را بررسی کنید یا دوست دارید بدانید که فایل txt شما از چند واژه تشکیل شده است، این دستور به شما اجازه این کار را میدهد. افزونبراین، با کمک دستور یادشده امکان مشاهده تعداد خطها و اندازه و نام فایل وجود دارد. درواقع، نام فایل صرفاً بازگردانی میشود:
wc long.txt
# 37 207 1000 long.txt
whatis
این دستور وارد پایگاه داده میشود و درباره دستورهای لینوکس چیزهایی را جستوجو میکند که شما مشخص کردهاید و شرح تکخطی از دستوری دیگر است:
whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions
whoami
این دستور بهمعنای «من کیستم» است و نام کاربری حساب لینوکسی شما را نمایش میدهد. درواقع، اگر میخواهید اطلاعاتی درباره نام کاربری خود بهدست آورید، این دستور سادهترین کار را انجام میدهد:
whoami
# hostida
36. دستور head
این دستور از خط اول فایل متنی خروجی میدهد؛ اما شما میتوانید هر تعداد خطی که میخواهید نمایش داده شود، تنظیم کنید. در مثال زیر، میبینید در خط پایین دستور خواسته شده ۵ خط نمایش داده شود:
head long.txt
head -n 5 long.txt
less
این دستور به شما امکان بررسی فایلها را میدهد. درواقع با استفاده از آن، اسکرولکردن در متنها را که بهصورت پیشفرض در ترمینال وجود ندارد، بهراحتی میتوانید انجام دهید. برای این کار، کافی است که دستور مذکور را همراه نام فایل وارد کنید:
less large_text_file.txt
38. دستور which
این دستور موقعیت دستور اجرایی را به شما نمایش میدهد و بهترین روش برای جستوجو بین دستورهای لینوکسی است و سوئیچهای مختلفی در آن وجود دارد. در سیستمعامل لینوکس، با هر دستوری که در ترمینال وارد میکنید، درحقیقت یک کتابخانه را فراخوانی میکنید. مثالا در نمونه زیر میتوانید آدرس فراخوانی مرورگر Brave را در سیستمعامل تان مشخص کنید:
which python
# /usr/bin/python
which brave
# /usr/bin/brave
39. دستور exit
همانطورکه از نام این دستور مشخص است، با عنوان exit شناخته میشود. دستور مذکور زمانی بهکار خواهد رفت که با استفاده از آن قصد دارید ترمینال و ورود به دایرکتوری و پوشه و مسیر را بهاتمام برسانید. اگر در صفحه خالی ترمینال لینوکس این دستور را وارد کنید، صفحه ترمینال بسته میشود:
exit
۴۰. دستور ./
این دستور جزو فرمانهای اصلی لینوکس نیست؛ اما به شما اجازه میدهد فایل اجرایی را با هر مترجمی که روی سیستمتان نصب شده است، مستقیماً از روی ترمینال اجرا کنید. با این کار، دیگر به دو بار کلیککردن و اجرای فایل در محیط گرافیکی نیازی ندارید.
برای نمونه، با استفاده از این دستور میتوانید بهراحتی فایلهای نرمافزار شبیهساز سرور مانند XAMPP را اجرا کنید. هنگام اجرای دستور یادشده، مطمئن شوید که سطح دسترسی لازم را به کاربر دادهاید:
#! /usr/bin/python3
# filename: script
for i in range(20):
print(f"This is a cool script {i}")
در اینجا، نحوه تبدیل اسکریپت به فایل اجرایی و اجرای آن آمده است:
chmod +x script
./script
سخن پایانی
محبوبیت موسی به عنوان شاهزادهای مصری، حتی بیشتر از پسر فرعون، “رامسس“ بود. رامسس قصد جان موسی را داشت بنابراین موسی و هارون و پیروانشان شبانه از مصر خارج شدند و بعد از 3 ماه به کوه سینا رسیدند. حضرت موسی و یوشع به قله کوه رفتند و 40 روز در آن جا ماندند و در بازگشت لوحه سنگی 10 فرمان را با خود آوردند.
قرنهایی زیادی از این ماجرا میگذرد و در دنیای امروز، تکنولوژی فرمانروای اصلی کره زمین است!
10 فرمان پس از 40 روز به حضرت موسی وحی شد. ولی 40 فرمان لینوکس را می توانید بدون دردسرهای فتح قله کوه سینا و فقط با نشستن پای کامپیوتر آن هم در حال نوشیدن قهوه و به آسانی هر چه تمام تر ظرف چند دقیقه فرابگیرید!
منبع :