لینوکس یکی از سیستمعاملهای بسیار مهم و کاربردی در دنیای کامپیوتر است که از گوشیهای هوشمند اندرویدی و کامپیوترهای شخصی و دسکتاپ تا سرورهای میزبانی وب و خدمات اینترنت، در همه جا جایگاهی برای خود دست و پا کرده است. بنابراین اگر در گذشته یادگیری کار با Linux یک مطلب اضافه بر سازمان بود، امروز دانش کار با آن یک ضرورت است. حتی این امکان وجود دارد که در آینده لینوکس بستر همه چیز باشد و شرکتهای بزرگی همچون مایکروسافت و اپل هم به سمت آن کشیده شوند؛ همانطور که مایکروسافت تصمیم گرفت در تولید گوشیهای هوشمند نوکیا، دست از ویندوز فون بکشد و از اندروید استفاده کند؛ تصمیمی که کاملاً مقایر با سیاستها و خط مشی این شرکت بود. اگر دوست دارید بیشتر با این سیستم عامل محبوب آشنا شوید حتما محتوای لینوکس چیست؟ را مطالعه کنید. در این مقاله قصد داریم تا تعدادی از مهمترین دستورات خط فرمان Terminal را مرور کنیم. همراه ما باشید.
آشنایی با دستورات مهم لینوکس در خط فرمان ترمینال
بعضی از دستورات خط فرمان ترمینال به دستوران خط فرمان CMD در ویندوز شباهت دارند که همین میتواند به یادآوری این دستورات کمک کند. یکی از دلایل شباهت نزدیک این دستورات، این است که لینوکس بسیار مشابه سیستمعامل Unix است و سیستمعامل ویندوز هم یکی از توزیعهای یونیکس است. پرکاربردترین دستورات لینوکس را میتوانید در محتوای پرکاربردترین دستورات لینوکس مطالعه کنید.
در ادامه مهمترین دستورات خط فرمان ترمینال را به صورت دقیق بررسی خواهیم کرد، اما به طور خلاصه این دستورات پرکاربرد شامل موارد زیر هستند:
-
ls : پرکاربردترین دستور در لینوکس برای فهرست کردن دایرکتوریها.
-
pwd : دستور دایرکتوری کاری را چاپ میکند.
-
cd : دستور لینوکس برای پیمایش در دایرکتوریها.
-
mkdir : دستوری که برای ایجاد دایرکتوریها استفاده می شود.
-
mv : انتقال یا تغییر نام فایلها.
-
cp : استفاده مشابه mv اما برای کپی کردن فایلها.
-
rm : فایلها یا دایرکتوریها را حذف میکند.
-
touch : فایلهای خالی ایجاد میکند.
-
ln : ایجاد پیوندهای نمادین (میانبر) به فایلهای دیگر.
-
cat : نمایش محتویات فایل در ترمینال.
-
echo : هر متنی را که از این دستور پیروی کند را چاپ میکند.
-
less : نمایش خروجیها به صورت صفحه بندی شده در ترمینال.
-
clear : صفحه نمایش ترمینال را پاک میکند.
-
man : برای دسترسی به راهنمای تمامی دستورات لینوکس.
-
uname : دریافت اطلاعات اولیه در مورد سیستم عامل.
-
whoami : نام کاربری خود را دریافت کنید.
-
tar : دستور استخراج و فشرده سازی فایلها.
-
grep : جستجوی یک رشته در یک خروجی.
-
head : تعداد خطوط مشخص شده را از بالا برگردانید.
-
tail : تعداد مشخص شده خطوط را از پایین برگردانید.
-
diff : تفاوت بین دو فایل را پیدا کنید
-
cmp : به شما امکان می دهد بررسی کنید که آیا دو فایل یکسان هستند یا خیر.
-
comm : عملکرد diff و cmp را ترکیب می کند.
-
sort : مرتب کردن محتوای یک فایل در حین خروجی.
-
export : صدور متغیرهای محیط در لینوکس.
-
zip : کار با فایلهای فشرده زیپ.
-
unzip : فایلهای فشرده زیپ را از حالت زیپ خارج میکند.
-
ssh : کار با تونل امنیتی Secure Shell برای ارتباط کامپیوترها در فضای اینترنت.
-
service : شروع و توقف سرویسهای پسزمینه.
-
ps : نمایش فرآیندهای فعال.
-
kill and killall : از بین بردن فرآیندهای فعال با شناسه یا نام فرآیند.
-
mount : فایلهای سیستمی را در لینوکس متصل میکند.
-
df : نمایش اطلاعات فایل سیستم بر روی درایو اصلی.
-
hmod : دستور تغییر مجوزها و ویژگیهای فایل.
-
chown : اعطای مالکیت فایلها یا پوشهها.
-
ifconfig : نمایش رابطهای شبکه و آدرس های IP.
-
traceroute : تمام پرش های شبکه را برای رسیدن به مقصد ردیابی میکند.
-
wget : دانلود مستقیم فایلها از اینترنت.
-
iptables : فرمان ارتباط با فایروال پایه برای همه ابزارهای دیگر فایروال.
-
ufw : فرمان کار با فایروال.
-
pt, pacman, yum, rpm : مدیریت بستههای نصب شده.
-
sudo : اجازه استفاده از دستورات کاربران ویژه.
-
cal : نمایش تقویم در خط فرمان ترمینال.
-
alias : ایجاد یک دستور میانبر (نام اختصاصی) در خط فرمان برای دسترسی سریعتر به فایلها و دستورات دیگر.
-
dd : این دستور بیشتر برای ایجاد USB های قابل بوت استفاده میشود.
-
whereis : کدهای باینری، منبع و صفحات راهنمای یک دستور را نمایش میدهد.
-
whatis : این دستور کاربرد دستورات دیگر را در یک پاراگراف نمایش میدهد.
-
top : فرآیندهای فعال سیستم را صورت زنده مشاهده کنید.
-
useradd : اضافه کردن کاربر جدید.
-
usermod : تغییر اطلاعات کاربران موجود.
-
passwd : ایجاد یا بروزرسانی رمز عبور برای کاربران موجود.
دستور LS : فهرست کردن دایرکتوریها و فایلها
دستور ls یکی از پرکاربردترین دستورات لینوکس برای فهرست کردن دایرکتوریها و فایلها است. برای استفاده از این دستور مانند نمونه زیر کافی است فقط آن را به تنهایی وارد کنید.
همانطور که در تصویر بالا مشاهده می کنید، استفاده از دستور به تنهایی بدون هیچ آرگومان، در خروجی، تمام فایلها و دایرکتوریهای موجود در دایرکتوری جاری را برای ما فهرست میکند. به کمک پارامترهای این فرمان، میتوانید نحوه نمایش و فهرست کردن فایلها را با توجه به نیاز خود تغییر دهید :
-
برای فهرست کردن فایلها به ترتیب معکوس، پارامتر -r را اضافه کنید.
ls -r -
با استفاده از پارامتر -l، می توانید اندازه، مجوزها، تاریخ و زمان اصلاح شده، نام و همچنین سایر ویژگیهای فایلها و دایرکتوریها را فهرست کنید.
ls -l -
به صورت عادی اندازه فایل و پوشه نمایش داده شده به راحتی قابل رمزگشایی و درک در نگاه اول نیست. برای شناسایی آسان اندازه فایلها بهصورت کیلوبایت (کیلو بایت)، مگابایت (MB) یا گیگابایت (GB)، پارامتر -lh را اضافه کنید.
ls -lh -
با افزودن پارامتر -a می توانید فایل های مخفی را مشاهده کنید. فایل های مخفی معمولا فایل های سیستمی هستند که با نقطه شروع میشوند و یا با نقطه به پایان میرسند.
ls -a -
برای نمایش درخت دایرکتوری فایلها و پوشهها از پارامتر -R استفاده کنید.
ls -R -
اگر میخواهید فایلها را از پوشهها بیشتر را از هم متمایز کنید، از پارامتر -F استفاده کنید تا پوشهها با یک کاراکتر اسلش «/» در پایان ظاهر شود.
ls -F -
برای نمایش تعداد inode فایلها و دایرکتوریها، از پارامتر -i استفاده کنید.
ls -i -
اگر میخواهید UID و همچنین GId فایلها و دایرکتوریها را نمایش داده شود، پارامتر -n را اضافه کنید.
ls -n -
برای اینکه بتوانید ویژگیهای فایلها و دایرکتوریها را راحتتر از هم تشخیص دهید، میتوانید خروجی را با استفاده از پارامتر --color رنگی کنید.
ls --color -
اگر کمی کنجکاو هستید که چه نسخه ای از ls را اجرا می کنید، دستور زیر را اجرا کنید
ls --v
همچنین می توانید دستور ls --version را برای چاپ نسخه دستور ls استفاده کنید. -
برای مشاهده گزینه های بیشتر و کارهایی که می توانید با ls انجام دهید، میتوانید از پارامتر --help استفاده کنید.
ls --help -
همچنین، میتوانید صفحههای مدیریتی را مشاهده کنید تا با کاربردهای دستور LS بیشتر آشنا شوید.
man ls
دستور pwd : دایرکتوری جاری را چاپ میکند
معمولاً آدرس دایرکتوری جاری در خط فرمان نمایش داده میشود. اما اگر به هر دلیلی این آدرس به شما نمایش داده نشد و شما به مسیر دایرکتوری جاری خود نیاز داشته باشید، میتوانید از دستور pwd استفاده کنید تا آدرس مسیر دایرکتوری جاری در خط فرمان چاپ شود.
دستور cd : برای پیمایش در دایرکتوریها
یکی از نیازهای ضروری در خط فرمان، پیمایش درون دایرکتوریها است. این کار با دستور cd امکانپذیر است.
root@ubuntu:~# cd <directory path>
دستور mkdir : برای ایجاد دایرکتوریها
اگر بخواهید مسیر و پوشه جدید ایجاد کنید، باید از دستور mkdir استفاده کنید.
root@ubuntu:~# mkdir <folder name>
دستور mv : انتقال یا تغییر نام فایلها
دستور mv همزمان دو کاربرد دارد و هم برای انتقال فایلها و دایرکتوریها مناسب است و هم برای تغییر نام آنها. به این صورت که به جای تغییر مسیر، نام آیتم مورد نظر را تغییر میدهیم و یا میتوانیم مسیر و نام را همزمان تغییر بدهیم. از این رو لینوکس دستور جداگانهای برای تغییر نام ندارد و از همین دستور mv برای این کار استفاده میکند.
root@ubuntu:~# mv <source> <destination>
دستور cp : کپی کردن فایلها
این دستور برای ایجاد یک رونوشت جدید در مسیر دیگری کاربرد دارد. البته میتوان این رونوشت را با تغییر نام نیز انجام داد. به عبارت دیگر میتوان رونوشت را در همان مسیر جاری و با تغییر نام در کنار فایل یا دایرکتوری اصلی نیز انجام داد.
root@ubuntu:~# cp <source> <destination>
دستور rm : حذف فایلها یا دایرکتوریها
همیشه پیش خواهد آمد که نیاز باشد یک فایل یا دایرکتوری را حذف کنیم. دستور rm برای حذف فایلها و دایرکتوریها استفاده میشود. برای آشنایی کامل با این دستور محتوای آموزش استفاده از دستور rm در لینوکس را بخوانید.
root@ubuntu:~# rm <file name>
root@ubuntu:~# rm -r <folder/directory name>
دستور touch : ایجاد فایلهای خالی
از دستور touch برای ایجاد یک فایل متنی استفاده میشود. این دستور فایل جدید را در دایرکتوری جاری ایجاد میکند.
root@ubuntu:~# touch <file name>
دستور ln : ایجاد پیوندهای نمادین (میانبر) به فایلهای دیگر
ایجاد میانبر یکی از روشهای کاربردی برای دسترسی سریع به فایلها و دایرکتوریهای مورد نظر در مسیرهای اصلی است. به این صورت با ایجاد یک نام میانبر، میتوانید تنها با تایپ نام اختصاص یافته به آن، در هر دایرکتوری که قرار دارید، به سرعت به فایل یا دایرکتوری مورد نظر خود دسترسی داشته باشید.
برای ایجاد میانبر و به اصطلاح پیوند به فایل دیگری، از دستور ln استفاده می کنیم.
root@ubuntu:~# ln -s <source path> <link name>
دستور cat : نمایش محتویات فایل در ترمینال
به کمک دستور cat میتوانید محتوای فایلهای متنی را روی صفحه نمایش ترمینال چاپ کنید. استفاده از این دستور به تنهایی، فقط تا جایی که صفحه نمایش قادر به نمایش فایل باشد، اجازه نمایش محتوای فایل را میدهد.
root@ubuntu:~# cat <file name>
دستور echo : چاپ متن در صفحه نمایش ترمینال
اگر بخواهید یک رشته متن را در صفحه نمایش چاپ کنیم، از دستور echo استفاده میکنیم. از آنجا که ان دستور به تنهایی کاربردی ندارد، معمولاً آن را با دستورات دیگر درون فایلهای گروهی اجرایی به کار میگیرند. برای مثال یک تله برنامه برای محاسبه دو مقدار و سپس چاپ نتیجه نهایی توسط دستور echo بر روی صفحه نمایش ترمینال.
root@ubuntu:~# echo <Text to print on terminal>
دستور less : نمایش خروجیها به صورت صفحه بندی شده در ترمینال
اما ممکن است محتویات فایل متنی از اندازه صفحه نمایش بیشتر باشد. در این شرایط اگر به دیدن همهی محتوای فایل مورد نظر نیاز داشته باشید، بهتر است مانند خط فرمان زیر از دستور less به همراه یک کاراکتر pipe در کنارش استفاده کنید تا بتوانید به کمک کلیکهای Enter یا Space محتوای فایل خود را به پایین اسکرول کنید.
root@ubuntu:~# cat /boot/grub/grub.cfg | less
دستور clear : پاک کردن صفحه نمایش ترمینال
به کمک این دستور میتوانید صفحه نمایش را تمیز کنید تا فرمانها و محتوای قبلی پاک شوند.
root@ubuntu:~# cat /boot/grub/grub.cfg | less
دستور man : برای دسترسی به راهنمای تمامی دستورات لینوکس
دستور man شباهت زیادی به دستور help دارد و کاربرد اصلی آن نمایش یک راهنمای کامل از دستورات دیگر است. از آنجا که در هستهی سیستمعامل لینوکس، نزدیک به هزار دستور برای کابردهای مختلف و حرفهای وجود دارد و از طرفی در پوسته گرافیکی لینوکس تمامی دستورات به صورت گرافیکی تعبیه نشده اند و قابل استفاده نیستند، کاربران حرفهای قطعاً به استفاده از ترمینال نیاز پیدا خواهند کرد. کمتر کسی است که کاربرد همهی این دستورات را با هم بداند (که البته آنها افراد حرفهای و متخصص لینوکس هستند). بنابراین این نیاز به وجود آمد تا همه کاربران لینوکس بتوانند با کاربرد دستورات آشنا شوند و از آنها استفاده کنند. دستور man به صورت تخصصی برای نمایش جزئیات کامل دستورات لینوکس کاربرد دارد و اطلاعاتی مانند راهنما، کد منبع و چگونگی استفاده را در اختیار کاربر قرار میدهد.
root@ubuntu:~# man <command>
دستور uname : دریافت اطلاعات اولیه در مورد سیستم عامل
این دستور به همراه پارامتر -a اطلاعات مختصری از نوع سیستمعامل و مدل معماری پردازش ارائه میدهد.
root@ubuntu:~# uname -a
دستور whoami : دریافت نام کاربری
این دستور فقط نام کاربری جاری را نمایش میدهد. البته در شرایطی کاربرد دارد که نام کاربری در ترمینال دیده نمیشود.
دستور tar : دستور استخراج و فشرده سازی فایلها
از آنجا که لینوکس به صورت پیشفرض از فایلهای فشرده پشتیبانی میکند، دستوراتی را برای کار با این فایلها نیز در نظر گرفته است. برای فشرده سازی با فرمت tar ابتدا با دستور cd وارد مسیر فایلهای مورد نظر شوید، سپس باید از پارامتر -cvf استفاده کنید ، نام فایل فشرده را مشخص کنید و در آخر لیست فایلهایی که میخواهید آرشیو شوند را وارد میکنید.
#Compress
root@ubuntu:~# tar -cvf <archive name> <files seperated by space>
برای اینکه با دستور tar فایلهای آرشیو شده درون یک فایل فشرده tar را از حالت tar خارج کنید، ابتدا با دستور cd وارد مسیر فایلهای مورد نظر شوید، سپس دستور باید دستور tar را همراه با پارامتر -xvf استفاده کنید و سپس نام فایل فشرده را وارد کنید.
#Extract
root@ubuntu:~# tar -xvf <archive name>
دستور zip : کار با فایلهای فشرده زیپ
یکی از پرکاربردترین آرشیوهای فشرده، فایل زیپ است که در تمامی سیستمعاملهای جهان به رسمیت شناخته شده. توجه داشته باشید که ابتدا به کمک دستور cd وارد مسیر مورد نظر خود شوید. سپس برای کار با این آرشیو، میتوانید از دستور zip برای فشرده سازی فایلها استفاده کنید و در قدم بعدی نام آرشیو و نام فایلهای مورد نظر خود را برای فشردهسازی وارد کنید. کاربرد این دستور همانند دستور tar است، با این تفاوت که نیازی به پارامتر اضافی ندارد.
root@ubuntu:~# zip <archive name> <file names separated by space>
دستور unzip : خارج کردن فایلهای زیپ از حالت فشرده
این دستور برای خارج کردن فایل آرشیوهای زیپ از حالت فشرده است. کار با این دستور بسیار ساده است و کافی از ابتدا با دستور cd وارد مسیر مورد نظر خود شوید، سپس دستور unzip را به همراه نام فایل آرشیو زیپ وارد کنید تا فایلهای آن درون مسیر جاری، از حالت آرشیو خارج شوند.
root@ubuntu:~# unzip <archive name>
دستور grep : جستجوی یک رشته در یک خروجی
اگر به دنبال متن یا عبارت خاصی باشیم، میتوانیم از دستور grep برای جستجوی آن استفاده کنیم. این دستور درکنار همهی دستورات دیگر، خروجی دستورات را جستجو میکند و رشتهای که عبارت مورد نظر شما در آن است را برمیگرداند. قطعاً این دستور درکنار دستوری مانند cat کاربرد زیادی دارد و شما میتوانید درون محتوای فایلهای متنی را نیز جستجو کنید.
برای استفاده از این دستور کافی است پش از این که دستورات دیگر را به طور کامل وارد کردید، در آخر آن از یک کاراکتر pipe با فاصله به همراه عبارت grep و همینطور عبارت مدنظر خود استفاده کنید. مانند نمونه زیر :
root@ubuntu:~# <Any command with output> | grep "<string to find>"
دستور head : نمایش تعداد خطوط مشخص شده از بالا
وقتی از یک فایل متنی خیلی حجیم استفاده میکنید، طبیعی است که نتوانید همهی آن را مرور کنید و یا نتوانید به سادگی آن را مطالعه کنید. دستور head به شما کمک میکند که ده خط اول فایل را مشاهده کنید. این عمل کمک میکند تا نیازی نباشد برای بررسی کردن ساده، مجبور باشید همهی فایل را در ترمینال باز کنید؛ زیرا این کار سرعت بارگذاری و مرور فایل را کند میکند. کافی است به جای دستور cat از دستور head استفاده کنید.
root@ubuntu:~# head <file name>
دستور tail : نمایش تعداد مشخص شده خطوط را از پایین
دستور tail هم همانند دستور head عمل میکند؛ با این تفاوت که به جای ده خط اول فایل، ده خط پایانی آن را نمایش میدهد.
root@ubuntu:~# tail <file name>
دستور diff : تفاوت بین دو فایل
لینوکس با کمک چندین دستور مقایسه، امکان مقایسه و بررسی تفاوت دو فایل را فراهم کرده است. دستور diff یکی از این دستورات است. به کمک دستور diff میتوان تفاوت دو فایل را بررسی کرد و اگر خطوط خاصی تفاوت داشته باشد، آن را نمایش میدهد.
root@ubuntu:~# diff <file 1> <file 2>
دستور cmp : بررسی همسان بودن دو فایل
بررسی دو فایل از نظر حجم و تعداد خطوط، راه دیگر مقایسه دو فایل است. این دستور زمانی کاربرد دارد که شما فقط میخواهید بدانید آیا دو فایل مورد نظر شما دو هم همسان هستند یا خیر. بدون این که بخواهید از جزئیات تفاوت آنها آگاه شوید.
root@ubuntu:~# cmp <file 1> <file 2>
دستور comm : ترکیب عملکرد diff و cmp
زمانی که شما برای مقایسه محتوای دو فایل به همهی اطلاعات نیاز دارید، دستور comm میتوانید با ترکیب دستورات diff و cmp ، هر اطلاعاتی که در مورد تفاوت دو فایل نیاز دارید را در اختیار شما قرار خواهد داد.
root@ubuntu:~# comm <file 1> <file2>
دستور sort : مرتب کردن محتوای یک فایل در حین خروجی
دستور sort یک خروجی مرتب شده از محتویات یک فایل را ارائه می دهد. به صورت عادی دستور cat محتوای فایل متنی را همان گونه که هست نمایش میدهد؛ اما دستور sort خطوط را قبل از نمایش، بر اساس حروف الفبا مرتب میکند و سپس در ترمینال نمایش میدهد. این دستور برای زمانی مناسب است که محتوای شما لیستی از نامها باشد که میبایست بر اساس حروف الفبا مرتب شوند. مانند نام کارمندان یک شرکت. البته چنین دستوراتی کاربردهای خیلی قدیمی دارند و امروزه کسی نامها را درون فایل متنی ذخیره نمیکند. بلکه ابزارهایی شبیه صفحه گسترده و دیتابیسهای آنلاین، جایگزین شده است.
root@ubuntu:~# sort <filename>
دستور export : صدور متغیرهای محیط در لینوکس
دستور export قادر است تا متغیرهای اجرا شده درون محیط لینوکس را نمایش دهد. این دستور خود نشان میدهد که لینوکس تا په اندازه دست کاربر را برای مرور کدهای منبع، حتی در حال اجرا، باز گذاشت است. در صورتی که با متغیرهای لینوکس آشنایی داشته باشد و یا در حال توسعه برنامه خاصی باشید، میتوانید با کمک دستور export متغیرهای محیطی که در حال اجرا بر روی حافظهی موقط هستند را در صفحه نمایش ترمینال مشاهده و بررسی کنید. برای استفاده از این ویژگی، کافی است دستور export را وارد کنید تا تمامی متغیرهای موجود نمایش داده شود. اما از آنجا که تعداد این متغیرها در زمان اجرا میتواند بسیار زیاد باشد، بهتر است نام متغیر را به همراه ارزش مدنظر خود وارد کنید و یا از دستور ترکیبی grep استفاده کنید.
root@ubuntu:~# export <variable name>=<value>
دستور ssh : کار با تونل امنیتی Secure Shell
برای ریموت کردن ترمینال دیگر کامپیوترها از راه تونل Secure Shell میتوانید از دستور ssh استفاده کنید. کافی است مانند نمونه زیر نام کاربری و آدرس IP کامپیوتر مورد نظر را همراه با کاراکتر @ وارد کنید تا به کامپیوتر موردنظر متصل شوید.
root@ubuntu:~ -->> ssh username@hostname
دستور service : شروع و توقف سرویسهای پسزمینه
سرویسها برنامههایی هستند که در پسزمینه کامپیوتر به فعالیت خود ادامه میدهند. این برنامهها معمولاً جهت انجام کارهایی کاربرد دارند که نیازی به فعالیت خود کاربر ندارد. مانند بررسی لحظهای اطلاعات در فایروالها و اسکنرها و یا برنامههای گوش به زنگ مانند مترجمها و حتی مفسرهای PHP و سایر زبانها. برای فعالسازی و یا غیرفعالسازی سرویسهای موردنظر، میتوانید از دستور service استفاده با پارامتر start استفاده کنید. همچنین برای غیرفعال کردن سرویسها از پارامتر stop و برای دیدن جزئیات اجرای سرویس، از پارامتر status استفاده کنید.
root@ubuntu:~ -->> service ssh status
root@ubuntu:~ -->> service ssh stop
root@ubuntu:~ -->> service ssh start
دستور ps : نمایش فرآیندهای فعال
به غیر از سرویسها، شما میتوانید لیست فرایندهای درحال اجرا را هم به کمک دستور ps مشاهده کنید. در واقع فرایندهای درحال اجرا عملیاتی هستند که به صورت جداگانه از سرویسها در پسزمینه انجام میشود.
دستور kill and killall : از بین بردن فرآیندهای فعال با شناسه یا نام فرآیند
پس از این که به کمک دستور ps لیستی از فرایندها را استخراج کردید، در صورت نیاز میتوانید یک فرایند خاص را از شناسه ID فرایند، به کمک دستور kill متوقف کنید. همچنین با دستور killall میتوانید تمامی فرایندهایی که یک نام خاص را همزمان دارند، متوقف کنید.
root@ubuntu:~ -->> ps
root@ubuntu:~ -->> kill <process ID>
root@ubuntu:~ -->> killall <process name>
دستور mount : اتصال فایلهای سیستمی در لینوکس
این دستور اجازه میدهد تا یک فایل و یا دایرکتوری سیستمی را به کامپیوتر متصل کنیم و بتوانیم از آن استفاده کنیم. برای مثال اتصال یک درایو USB و یا درایو نوری DVD
root@ubuntu:~ -->> mount /dev/cdrom /mnt
دستور df : نمایش اطلاعات فایل سیستم بر روی درایو اصلی
برای مشاهده لیست درایوهای متصل شده به همراه جزئیات آن مانند فضای قابل استفاده، فضای استفاده شده و فضای کلی درایو، میتوانید از دستور df با پارامتر -h استفاده کنید. استفاده از دستور df به تنهایی، اطلاعات را در مقیاس بایت و خیلی طولانی و نامفهوم نمایش میدهد؛ به همین دلیل میتوان با استفاده از پارامتر -h این اطلاعات را تا جای ممکن با آخرین مقیاسهای موجود و خوانا نمایش میدهد.
root@ubuntu:~ -->> df -h
دستور chmod : دستور تغییر مجوزها و ویژگیهای فایل
به کمک این دستور میتوانید مجوزهای فایلها و دایرکتوریها را تغییر دهید. دستور chmod یکی از مهمترین دستورات لینوکس است؛ زیرا با تنظیم مجوزها، میتوان جلوی دسترسی کاربران و برنامههای ناامن را از فایلها گرفت.
root@ubuntu:~ -->> chmod +x loop.sh
root@ubuntu:~ -->> chmod root:root loop.sh
دستور chown : اعطای مالکیت فایلها یا پوشهها
دستور chown همانند دستور chmod عمل میکند. با این تفاوت که این دستور به طور مستقیم مجورها را تنها برای کاربران اصلی و برنامههای ریشه قابل دسترس میکند و دیگر کاربران و برنامهها قادر به استفاده از آن فایلها و دایرکتوریها نخواهند بود.
root@ubuntu:~ -->> chown <new_owner>:<new_group_owner> filename
دستور ifconfig : نمایش رابطهای شبکه و آدرس های IP
دستور ifconfig لیستی از تمام رابط های شبکه به همراه آدرس های IP، آدرس های MAC و سایر اطلاعات مربوط به رابط را در اختیار شما قرار می دهد.
root@ubuntu:~ -->> ifconfig
دستور traceroute : ردیابی تمام پرش های شبکه
با دستور traceroute، به سادگی می توانید آدرس IP، نام میزبان یا نام دامنه نقطه پایانی را مشخص کنید.
root@ubuntu:~ -->> traceroute <destination address>
دستور wget : دانلود مستقیم فایلها از اینترنت
در ترمینال لینوکس امکان دانلود مستقیم فایلها وجود دارد و با دستور wget میتوانید فایلهای مورد نظر خود را از اینترنت دانلود کنید.
root@ubuntu:~ -->> wget <link to file>
OR
root@ubuntu:~ -->> wget -c <link to file>
دستور iptables : فرمان ارتباط با فایروال پایه
برای صدور مجوز به پورتها درون محیط لینوکس، لازم است تا آنها را به فایروال معرفی کنیم.
root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
دستور ufw : فرمان کار با فایروال
همانطور که در دستور iptables دیدید، استفاده از این دستور دشوار است و باید جزئیاتی در آن وارد شود که فقط افراد حرفهای با آنها آشنایی دارند. خوشبختانه در لینوکس دستور ufw برای افراد غیرحرفهای درنظر گرفته شده تا بتوانند تنها با وارد کردن پورت مورد نظر از آن استفاده کنند. کافی از بعد از دستور ufw پارامتر allow برای اجازه دادن و یا disallow برای غیرمجاز کردن پورت وارد کنند و سپس شماره پورت مورد نظر را با یک فاصله وارد کنند.
root@ubuntu:~# ufw allow 80
دستور apt, pacman, yum, rpm : مدیریت بستههای نصب شده
از زمانی که شاخهی های debian ، redhot و Fedora از هم جدا شدند، نحوه نصب و مدیریت بستهی آنها از هم جدا شدند و انگار که هر کدام یک اکوسیستم جداگانهای را برای برنامههای اجرایی خود در نظر گرفتند. از این رو دستور مدیریت بستههای لینوکس بسته به نوع توزیع متفاوت است. این دستور برای نصب و حذف بستهها و برنامههای لینوکسی کاربرد دارد :
-
Debian and Debian-based distros - apt install <package name>
-
Arch and Arch-based distros - pacman -S <package name>
-
Red Hat and Red Hat-based distros - yum install <package name>
-
Fedora and CentOS - yum install <package>
دستور sudo : اجازه استفاده از دستورات کاربران ویژه
این دستور به کاربران معمولی اجازه استفاده از دستوران کاربران ویژه را میدهد. البته به شرطی که رمز عبور برای استفادهی کاربران ویژه را برای آن دستورات داشته باشند.
non-root-user@ubuntu:~# sudo <command you want to run>
Password:
دستور cal : نمایش تقویم
در گذشته که لینوکس هم مانند دیگر سیستمعاملها فقط از خط فرمان ترمینال استفاده میکرد، دستور cal برای نمایش تقویم در ترمینال کاربردی بود. اما امروزه که در محیط دسکتاپ و در نوار وضعیت همیشه تقویم پیش روی شما قرار میگیرد، دیگر نیازی به استفاده از آن نیست. به هر حال اگر در شرایط خیلی خاص در جایی که فقط به ترمینال دسترسی داشتید و قصد نمایش تاریخ را داشتید، میتوانید از دستور cal استفاده کنید.
root@ubuntu:~# cal
root@ubuntu:~# cal May 2019
دستور alias : سفارشی کردن دستورات دیگر
نامهای مستعار alias ، دستورات سفارشی یا تغییر یافته در پوسته لینوکس هستند که به جای دستورات اصلی استفاده می شوند. ما میتوانیم برای دستور ls نیز یک نام مستعار ایجاد کنیم
alias="ls -l"
کاری که این کار انجام می دهد این است که به سیستم می گوید به جای دستور ls دستور ls -l را اجرا کند. حتماً توجه داشته باشید که خروجیای که هنگام اجرای دستور ls پس از آن به دست میآورید، بهگونهای است که گویی دستور ls -l را اجرا میکنید.
برای حذف نام مستعار اضافه شده، اجرا کنید
unalias ls
root@ubuntu:~# alias lsl="ls -l"
OR
root@ubuntu:~# alias rmd="rm -r"
دستور dd : ایجاد USB های قابل بوت
این دستور زمانی کاربرد دارد که شما قصد دارید یک نسخهی بوت از تمامی هارد درایو در یک درایو USB دیگر ایجاد کنید. این دستور با توجه به نیازهای شما میتواند کاربردهای مختلفی داشته باشد. برای مثال یک نسخهی ساده از لینوکس برای استفاده کاربران دیگر و ...
root@ubuntu:~# dd if = /dev/sdb of = /dev/sda
دستور whereis : نمایش راهنمای یک دستور
این دستور محل دقیق کدهای منبع دستورات دیگر را نمایش میدهد. این ویژگی برای برنامهنویسان حرفهای مناسب است که قصد توسعه و مطالعه کدهای منبع لینوکس را دارند.
root@ubuntu:~# whereis sudo
sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz
دستور whatis : نمایش کاربرد دستورات دیگر
این دستور توضیح مختصری در مورد دستورات دیگر را چاپ میکند. این دستور یک راهنمای دم دستی است که نیازی به مطالعه و مرور همهی راهنما ندارد.
root@ubuntu:~# whatis sudo
sudo (8) - execute a command as another user
دستور top : نمایش فرآیندهای فعال سیستم
در مورد دستور ps در پاراگرافهای بالا توضیح دادیم. دستور top نیز مانند دستور ps اطلاعات فرایندهای جاری را نمایش میدهد؛ با این تفاوت که در دستور ps پس از نمایش یک فریم از این اطلاعات، این دستور به کار خود پایان میداد، اما دستور top به نمایش فرایندها به صورت لحظه به لحظه و زنده ادامه میدهد.
دستور useradd : اضافه کردن کاربر جدید
برای ایجاد کاربر جدید از دستور useradd استفاده میشود. با پارامتر -d میتوانید آدرس مسیر دایرکتوری مربوط به فعالیت کاربر جدید را مشخص کنید. اگر نام این دایرکتوری برای شما مهم نباشد، این دستور به صورت خودکار از روی نام کاربری، برای این دایرکتوری نام را مشخص میکند. در مثال زیر ابتدا دستور useradd و سپس نام کاربری JournalDev وارد شده و با پارامتر -d نام دایرکتوری JD برای این نام کاربری انتخاب شده است.
root@ubuntu:~# useradd JournalDev -d /home/JD
دستور usermod : تغییر اطلاعات کاربران موجود
با دستور usermod میتوانید مجوزهای کاربران را تغییر دهید و دسترسیهای مورد نظر خود را برای آن کاربر مورد نظر محدود کنید. پس از وارد کردن دستور usermod و نام کاربر مورد نظر، با پارامتر -a -G لیست مجورهای مورد نظر را برای ایجاد دسترسی و یا عدم دسترسی وارد میکنید.
root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql
دستور passwd : ایجاد یا بروزرسانی رمز عبور برای کاربران موجود
قطعاً برای ایجاد و یا تغییر پسورد کاربران این دستور مورد نیاز است. با وارد کردن این دستور، رمز عبور کاربر فعلی قابل ویرایش است. توجه داشته باشید که شما در حین تایپ رمز عبور، آن را نخواهید دید.
root@ubuntu:~# passwd
New password:
سخن پایانی
در اکثر موارد توصیه میشود که مدیران شبکه به طور مرتب تاریخچه دستورات لینوکس را پاکسازی نمایند. برای آشنایی با روشهای پاک کردن تاریخچه دستورات محتوای آموزش حذف تاریخچه دستورات در لینوکس را حتما مطالعه کنید. همانطور که میدانید سیستمعامل رایانه لینوکس یک سیستمعامل متنباز و به اصطلاح "family of Unix-like operating systems that use the Linux kernel and are open source" است. بنابراین رایگان بودن و توسعهی پایدار آن باعث شده تا این سیستمعامل در میان میلیونها برنامه نویس و توسعه دهنده فناوری محبوب شود و امروز یکی از بهترین انتخابها برای توسعه محصولات و سخت افزارهای نوآورانه باشد؛ از همین رو هزاران محصول بر اساس این سیستمعامل پرطرفدار تولید شده است. هماکنون هزاران توزیع از لینوکس برای امور مختلف توسعه یافته که میتوانید لیست کامل آنها به همراه کاربردهایشان را در سایت Distrowatch مطالعه کنید.
بنابراین یادگیری کار با لینوکس و مخصوصاً بخش خط فرمان ترمینال به معنای یادگیری کار با هزاران محصول تولید شده بر پایه این سیستمعامل است. در چند سال اخیر سختافزار raspberry pi که براساس سیستمعامل لینوکس توسعه یافته، راه را برای ایجاد هزاران ایده و محصول جدید باز گذاشته و از این رو میتوان یادگیری لینوکس را یکی از ضروریات علم کامپیوتر دانست. در واقع در آیندهای نه چندان دور، هر شخصی که در کنار کار و حرفهی خود نتواند با سیستمعامل لینوکس کار کند، در واقع قادر نیست به راحتی کسب و کار خود را توسعه دهد.

null