جمعه 28 آبان 1395 @ 20:36

مرجع دستورات ترمینال لینوکس

ترمینال محیط خط فرمان لینوکس است. اگر اکنون در محیط گرافیکی هستید ساده‌ترین روش برای آوردن ترمینال استفاده از کلیدهای ‌Ctr + Alt + T است که در تمامی توزیع‌ها پشتیبانی می‌شود. راه‌های دیگری نیز وجود دارد مثل استفاده از کلیدهای Ctr + Alt + F6 (برای خروج از کلیدهای Ctrl + Alt + F7 استفاده کنید) که محیط اصلی خط فرمان را برای شما می‌آورد. در این مطلب قصد دارم دستورات ترمینال را که برای اکثر توزیع‌ها استفاده می‌شود به صورت کامل، دسته‌بندی شده و همراه با توضیح و مثال ارا‌ئه کنم.


  

اطلاعات سیستم

date تاریخ و ساعت جاری را نمایش می‌دهد.

cal تقویم ماه‌ها را نمایش می‌دهد.

uptime   زمان روشن بودن سیستم و کاربران فعال را نشان می‌دهد.

w کاربران جاری که از سیستم استفاده می‌کنند را همراه با توضیحاتی درباره استفاده آن‌ها نشان می‌دهد. دستور شامل اطلاعات خروجی دستور ‌uptime نیز هست.

whoami کاربر جاری که شما اکنون از طریق آن با سیستم کار می‌کنید را نمایش می‌دهد.

finger user اطلاعاتی درباره کاربری user (به جای آن نام‌کاربری مورد نظر را بنویسید) در اختیار شما می‌گذارد.

uname نام سیستم یونیکس شما که همان لینوکس است را نمایش می‌دهد.

uname -a دستور uname همراه با سویچ a اطلاعات تکمیلی از سیستم‌عامل شما شامل نسخه کرنل لینوکس را نمایش می‌دهد.

cat /proc/cpuinfo نمایش اطلاعات پردازنده (CPU).

cat /proc/meminfo نمایش اطلاعات حافظه اصلی (RAM).

df مقدار استفاده از دیسک‌های حافظه را نمایش می‌دهد.

du مقدار فضای استفاده شده تمامی دایرکتوری ها

free نمایش فضاهای خالی و استفاده شده حافظه رم و سواپ (swap)

دستورات فایل

ls گرفتن لیست محتویات مسیر جاری شامل پوشه و فایل ها.

ls -l دستور ‌ls همراه با سویچ l لیست محتویات مسیر جاری را با اطلاعات کامل نمایش می‌دهد.

ls -laC مانند دستور ls -l است اما اطلاعات را به صورت ستونی نشان می‌دهد.

ls -F سویچ f در دستور ls لیست محتویات را همراه با فرمت فایل‌ها نمایش می‌دهد.

ls -al سویچ a در دستور ls لیست فایل‌ها را همراه با فایل‌های مخفی نشان می‌دهد. (فایل و پوشه مخفی در لینوکس یک نقطه قبل نام خود دارند)

cd dir تغییر مسیر جاری به شاخه مورد نظر (بجای dir پوشه مورد نظر را وارد کنید)

cd مسیر جاری را به مسیر اصلی (home) بر می‌گرداند. (مسیر اصلی برای هر کاربر متفاوت است که پوشه‌های شخصی و تنظیمات در آن‌جا قرار می‌گیرند).

mkdir dir ساخت یک شاخه (به جای dir نام پوشه که می‌خواهید بسازید را بنویسید).

pwd مسیر جاری را نشان می‌دهد.

rm name حذف (پاک کردن) فایل یا دایرکتوری مورد نظر (به جای name نام فایل یا پوشه نوشته می‌شود).

rm -r dir حذف یک دایرکتوری با محتویات درون آن (به جای dir نام پوشه را بنویسید).

rm -f file اجبار کردن به حذف یک فایل برای مواقعی که فایل به دلایلی حذف نمی‌شود (نام فایل بجای file نوشته می‌شود).

rm -rf dir اجبار کردن به حذف یک دایرکتوری برای مواقعی که آن به دلایلی حذف نمی‌شود (نام پوشه بجای dir نوشته می‌شود).

cp file1 file2 کپی کردن فایل در مسیر دیگر (file1 نام و مسیر فایل مبدا و file2 نام و مسیر فایل مقصد است).

cp -r dir1 dir2 کپی کردن پوشه در مسیر دیگر (dir1 نام و مسیر پوشه مبدا و dir2 نام و مسیر پوشه مقصد است).

cp file dir کپی کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).

mv file dir جابجایی (مانند cut) کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).

mv file1 file2 جابجایی کردن فایل به مسیر دیگر (file1 نام و مسیر فایل و file2 نام و مسیر فایل در مقصد است).

ln -s file link ساخت لینک سیمبولیک از فایل در مسیر مورد نظر (file نام و مسیر فایل یا پوشه و link نام و مسیر لینک است).

touch file ساخت یک فایل.

cat > file نوشتن متن در فایل.

cat file نمایش محتویات یک فایل یا فراخوانی آن.

more file نمایش محتویات فایل به صورت کم کم (برای فایل با محتویات زیاد).

command | more نمایش خروجی دستور به صورت کم کم.

less file نمایش محتویات فایل به صورت صفحه به صفحه (برای فایل با محتویات زیاد).

command | less نمایش خروجی دستور به صورت صفحه به صفحه.

head file نمایش ۱۰ خط اول محتویات یک فایل

head -20 file نمایش ۲۰ خط اول محتویات یک فایل

tail file نمایش ۱۰ خط آخر محتویات یک فایل

tail -20 file نمایش ۲۰ خط آخر محتویات یک فایل

پروانه فایل

chmod octal file تغییر مجوز یک فایل با استفاده از کد دسترسی

مجوز یک فایل سطح دسترسی یک فایل را مشخص می‌کند. سطح دسترسی می‌تواند خواندنی (عدد ۴)، نوشتنی (عدد ۲) و اجرا (عدد ۱) باشد که سطح دسترسی یک فایل با جمع کردن این اعداد بدست می‌آید. یعنی سطح دسترسی ۷ تمامی مواد را شامل می‌شود.

هر فایل دسترسی آن برای سه دسته کاربری روت، گروه و عمومی تعریف می‌شود که از روش عددی بالا استفاده می‌کند و این سه عدد کنار هم سطح دسترسی یک فایل را مشخص می‌کنند. مثال‌های زیر را مشاهده کنید.

chmod 777 file مجوز خواندن، نوشتن و اجرا فایل را به سه دسته روت، گروه و عمومی می‌دهد.

chmod 755 file مجوز خواندن، نوشتن و اجرا برای کاربری روت و مجوزهای خواندن و اجرا برای کاربران گروه و عمومی.

فشرده سازی

به صورت پیش‌فرض لینوکس از فشرده‌سازی با فرمت tar استفاده می‌کند که دستورات کار با آن را نیز پشتیبانی می‌کند. لینوکس از فشرده‌ساز Gzip برای کار با فایل‌های فشرده با فرمت tar.gz و gz فشرده‌ساز Bzip2 برای کار با فایل‌های فشرده با فرمت tar.bz2 استفاده می‌کند.

tar cf file.tar files– Create a tar named file.tar containing files

tar xf file.tar استخراج محتویات فایل فشرده.

tar czf file.tar.gz files ساخت فایل فشرده با فرمت ‌tar.gz از فایل‌ها توسط فشرده‌ساز Gzip.

tar xzf file.tar.gz استخراج محتویات فایل فشرده با فرمت tar.gz توسط فشرده‌ساز Gzip.

tar czf file.gz files ساخت فایل فشرده با فرمت ‌gz از فایل‌ها توسط فشرده‌ساز Gzip.

tar xzf file.gz استخراج محتویات فایل فشرده با فرمت gz توسط فشرده‌ساز Gzip.

tar cjf file.tar.bz2 ساخت فایل فشرده با فرمت ‌tar.bz2 از فایل‌ها توسط فشرده‌ساز.

tar xjf file.tar.bz2 استخراج محتویات فایل فشرده با فرمت tar.bz2 توسط فشرده‌ساز Bzip2.

جستجو

grep pattern files جستجوی عبارت در فایل مورد نظر.

grep pattern dir جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر.

grep -r pattern dir جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر به صورت بازگشتی.

command | grep pattern جستجوی عبارت در خروجی دستور.

locate file یافتن فایل مورد نظر ما در مسیر جاری.

find ‌dir -name filename یافتن فایل مورد نظر ما در شاخه مورد نظر.

find ”_filename_” جستجوی تمامی فایل‌هایی که نام آن‌ها شامل نام فایل مورد نظر ما است (در مسیر جاری).

updatedb ساختن یا به‌روز رسانی دیتابیس فایل‌های سیستمی شاخه روت لینوکس.

locate filename جستجوی فایل با ‌‌locate. فرض شده است که قبلا از دستور updatedb استفاده کرده‌اید.

which filename نمایش شاخه بالایی فایل مورد نظر (پوشه‌ای که فایل ما در آن قرار دارد).

شبکه

ifconfig نمایش لیست آی پی تمامی دستگاه‌های متصل (وایرلس، کارت شبکه، شبکه‌های وی‌پی‌ان  و ).

ping host گرفتن پینگ از هاست مورن نظر.

whois domain گرفتن اطلاعات دامنه (مالک دامنه، آی‌پی، دی‌ان‌اس سرور و ).

dig domain دریافت اطلاعات DNS دامنه.

dig -x host مشاهده میزبان به صورت معکوس.

wget file دانلود یک فایل از اینترنت.

wget -c file ادامه دانلود کردن یک دانلود متوقف شده.

SSH

پروتکل SSH برای ارتباط و کنترل با سیستم از راه دور استفاده می‌شود که پیش‌فرض از پورت SSH با شماره 22 استفاده می‌کند. بیشتر برای کنترل سرور توسط کاربری از راه دور استفاده می‌شود.

ssh user@host اتصال به میزبان مورد نظر با نام کاربری مورد نظر (بعد از آن پسورد آن نام کاربری از شما پرسیده می‌شود).

ssh -p port user@host اتصال به میزبان با نام کاربری توسط شماره پورت مشخص

ssh-copy-id user@host اضافه کردن کلید برای اتصال کاربر از این سیستم راه دور. (برای مواقعی که نمی‌خواهیم پسورد را در هر اتصال وارد کنیم. ارسال پسورد اصلی امنیت میزبان را به خطر می‌اندازد اما کلید ساخته شده فقط برای سیستم جاری و نام کاربری مورد نظر اعتبار دارد).

مدیریت کاربران

adduser accountname ساخت یک کاربر جدید در سیستم لینوکس خود.

passwd accountname تغییر گذرواژه (password) کاربر مورد نظر.

su ورود به خط فرمان با کاربری روت (کاربر روت مجوز دسترسی به تمامی فایل‌ها و تنظیمات سیستم را دارد).

exit خروج از خط فرمان با کاربر جاری.

شروع و پایان

shutdown -h now خاموش کردن سیستم.

halt توقف تمام پردازش‌ها (مانند خاموش کردن سیستم است).

shutdown -r 5 راه‌اندازی مجدد (ریست کردن) سیستم در مدت ۵ دقیقه بعد.

shutdown -r now ریست کردن سیستم لینوکس.

reboot راه‌اندازی مجدد سیستم لینوکس (مانند دستور بالا است).

نصب برنامه ها

به صورت عادی اگر سورس برنامه در اختیار ما باشد به شاخه سورس رفته و دستورات زیر را برای نصب اعمال می‌کنیم.

./configure

make

make install

اگر از توزیع‌های خاص لینوکس استفاده می‌کنید از دستورات زیر (یا دستورات خاص آن توزیع) برای نصب بسته نرم‌افزاری تهیه شده برای آن توزیع استفاده کنید.

dpkg -i pkg.deb نصب بسته نرم افزاری دبیان - برای توزیع‌های دبیان، ابونتو، مینت و .

rpm -Uvh pkg.rpm نصب بسته نرم افزاری RPM - برای توزیع‌های ردهت، فدورا و .

چاپ

/etc/rc.d/init.d/lpd start شروع به کار سیستم چاپ.

/etc/rc.d/init.d/lpd stop پایان دادن به سیستم چاپ.

/etc/rc.d/init.d/lpd status نمایش وضعیت سیستم چاپ.

lpq نمایش کارهای موجود در صف چاپ.

lprm حذف کارهای موجود در صف چاپ.

lpr چاپ یک فایل.

lpc تنظیمات کنترلی چاپ.

man subject | lpr چاپ کتاب راهنمای یک دستور به صورت متنی.

man -t subject | lpr چاپ کتاب راهنمای یک دستور به صورت اسکریپتی.

printtool شروع رابط نصب پرینتر مورد نظر.

مدیریت پردازش ها

ps نمایش پردازش های فعال جاری.

top نمایش تمام پردازش های در حال اجرا.

kill pid از بین بردن پردازش مورد نظر با شناسه pid.

killall proc از بین بردن تمام پردازش هایی با نام ‌proc. در اجرای آن احتیاط کنید.

bg نمایش پردازش های متوقف شده (stop) یا مکث کرده (puse) در بخش کارهای پس‌زمینه و ادامه اجرا پردارش های مکث کرده.

fg آوردن کارهای به تازگی انجام شده در بخش کارهای پیش‌زمینه.

<strong”>fg_ n_ آوردن کار n در بخش کارهای پیش‌زمینه.

آموزش نحوه عملکرد دستورات

apropos subject لیست صفحات کتابچه راهنما برای موضوع مورد نظر.

man -k keyword نمایش صفحات شامل کلمه کلیدی مورد نظر.

man command نمایش کتابچه راهنما برای دستور مورد نظر.

man -t man | ps2pdf - > man.pdf  ساخت فایل pdf از صفحه کتابچه راهنما.

which command نمایش مسیر کامل دستور مورد نظر.

time command نمایش زمان طول کشیدن دستور مورد نظر.

whereis app نمایش مسیر بالقوه برنامه مورد نظر.

which app نمایش میسر برنامه app که به صورت پیش‌فرض اجرا می‌شود.


نظرات (0)
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
نام :
ایمیل :
وب/وبلاگ :
ایمیل شما بعد از ثبت نمایش داده نخواهد شد