برگه تقلب (Cheat Sheet) لینوکس

آیا می‌دانید که به معنای واقعی کلمه صدها دستور لینوکس وجود دارد؟ حتی در نصب سرور لینوکس با   .bare-bones به راحتی بیش از 1000 دستور مختلف وجود دارد.

نکته جالب اینجاست که اکثر افراد فقط نیاز به استفاده از زیرمجموعه بسیار کمی از آن دستورات دارند. در ادامه یک ” cheat sheet ” لینوکس پیدا خواهید کرد که برخی از متداول ترین دستورات را بر اساس طبقه بندی تقسیم می‌کند.

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

#  نمایش اطلاعات سیستم لینوکس.

uname –a

#  نمایش اطلاعات هسته و نسخه انتشار.

uname -r

# نمایش اینکه کدام نسخه از redhat نصب شده است.

cat /etc/redhat-release

# نشان می‌دهد چه مدت سیستم کار کرده است + لود سیستم.

Uptime

# نمایش نام میزبان (hostname) سیستم.

Hostname

# آدرس IP میزبان را نمایش دهید.

hostname –I

# نمایش سابقه راه اندازی مجدد سیستم.

last reboot

#تاریخ و ساعت فعلی را نشان دهید.

date

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

Cal

# نمایش اینکه چه کسی آنلاین است.

W

# نشان می‌دهد شما با چه حساب کاربری وارد شده‌اید.

Whoami

2. اطلاعات سخت افزار

#  نمایش پیام در بافر حلقه هسته.

Dmesg

# نمایش اطلاعات CPU.

cat /proc/cpuinfo

# نمایش اطلاعات حافظه.

cat /proc/meminfo

# نمایش حافظه آزاد و استفاده شده (h- قابل خواندن برای انسان، -m برای MB ، -g برای GB).

free –h

# نمایش دستگاه‌های متصل به PCI.

lspci –tv

#  نمایش دستگاه‌های متصل به USB.

lsusb –tv

#  نمایش DMI / SMBIOS (اطلاعات سخت افزاری) از BIOS.

dmidecode

#  نمایش اطلاعات در موردsda disk.

hdparm -i / dev / sda

#  انجام تست سرعت خواندن را بر روی دیسک sda دهید.

hdparm -tT / dev / sda

#  آزمایش بلوک‌های غیرقابل خواندن در دیسک sda.

badblocks -s / dev / sda

3. نظارت بر عملکرد و آمار

# نمایش پردازش‌های برتر داده و مدیریت آن‌ها.

top

#  بیننده فرآیند تعاملی نسخه ارتقا یافته top

htop

#  نمایش آمار مربوط به پردازنده.

mpstat 1

#  نمایش آمار حافظه مجازی.

vmstat 1

#  نمایش آمار (ورودی/ خروجی) I / O.

iostat 1

# نمایش 100 پیام آخر syslog (Use /var/log/syslog for Debian based systems.).

tail 100 /var/log/messages

# همه بسته‌ها را در رابط شبکه eth0 ضبط و نمایش می‌دهد.

tcpdump -i eth0

#  نظارت برتمام ترافیک درپورت 80 (HTTP).

tcpdump -i eth0 ‘port 80’

#  کلیه پرونده‌های باز شده روی سیستم را لیست کنید.

lsof

# پرونده‌هایی که توسط کاربر باز شده است.

lsof -u user

# نمایش حافظه رایگان و استفاده شده (h- قابل خواندن برای انسان، -m برای MB ، -g برای GB).

free –h

# df -h”” را اجرا کرده و به صورت مرتب آپدیت می‌کند.

watch df –h

4. اطلاعات و مدیریت کاربر

# شناسه کاربر و گروه کاربر فعلی خود را نمایش دهید.

id

# آخرین کاربرانی که وارد سیستم شده اند را نمایش دهید.

last

# نمایش چه کسی وارد سیستم شده است.

who

# نشان می‌دهد چه کسی وارد سیستم شده و چه کاری انجام می‌دهد.

W

# گروهی بنام “تست” ایجاد می‌کند.

groupadd test

ایجاد یک حساب کاربری به نامjohn، با کامنت “John Smith” و ایجاد دایرکتوری خانه کاربر.

useradd -c “John Smith” -m john

# اکانت john را حذف کنید.

userdel john

# اکانت جان را به گروه فروش اضافه کنید.

usermod -aG sales john

5. دستورالعمل‌های پرونده و راهنما

# کلیه پرونده‌ها را با یک لیست طولانی (تفصیلی) فهرست کنید.

ls -al

# نمایش دایرکتوری فعلی.

pwd

# دایرکتوری ایجاد کنید.

mkdir directory

# حذف (حذف”delete”) فایل.

rm file

# دایرکتوری و محتویات آن را به صورت بازگشتی حذف کنید.

rm -r directory

# اجبار به حذف پرونده بدون نیاز به تأیید.

rm -f file

# دایرکتوری را به صورت اجباری حذف می‌کند.

rm -rf directory

# کپی کردن file1 به file2

cp file1 file2

# فهرست راهنمای منبع را به صورت بازگشتی به مقصد کپی می‌کند. اگر مقصد وجود داشته باشد، Source_directory را در مقصد کپی می‌کند، در غیر این صورت مقصد را با محتویات Source_directory ایجاد می‌کند.

cp -r source_directory destination

# تغییر نام یا جابجایی file1 به file2. این دستور مشابه cut در ویندوز عمل میکند. اگر به جای file2 یک دایرکتوری وارد کنید file1 را به آن دایرکتوری منتقل میکند.

mv file1 file2

# ایجاد پیوند نمادین برای نام لینک.

ln -s /path/to/file linkname

# یک فایل خالی ایجاد کنید یا زمان دسترسی و اصلاح پرونده را به روز کنید.

touch file

# مشاهده محتویات پرونده.

cat file

مرور کردن از طریق یک فایل متنی.

less file

# 10 خط اول پرونده را نمایش دهید.

head file

# 10 سطر آخر پرونده را نمایش دهید.

tail file

# 10 سطر آخر پرونده را نمایش داده دائما فایل را بررسی و تغییرات را می‌نویسد.

tail -f file

6 . مدیریت فرآیند.

# فرآیندهای در حال اجرا را نشان دهید.

ps

# نمایش کلیه فرآیندهای در حال اجرا بر روی سیستم.

ps –ef

# نمایش اطلاعات فرآیند برای نام پردازش.

ps -ef | grep processname

# توقف پروسه با شناسه پردازش pid.

kill pid

# توقف تمام پروسه‌ها با نام proccessname

killall processname

# program را در پس زمینه شروع کنید.

program &

# نمایش کارهای متوقف شده یا کارهای پس زمینه.

bg

# جدیدترین کار پس زمینه را به پیش زمینه می آورد.

fg

# کار n را به پیش زمینه می آورد.

fg n

7. تنظیمات پرونده

PERMISSION      EXAMPLE

         U   G   W
==============================================
        rwx rwx rwx     chmod 777 filename
        rwx rwx r-x     chmod 775 filename
        rwx r-x r-x     chmod 755 filename
        rw- rw- r--     chmod 664 filename
        rw- r-- r--     chmod 644 filename

# نکته: از 777 کم استفاده کنید!

علائم واختصارات

کاربر =U

گروه =G

جهان (همه)  =W

خواندن =r

نوشتن = w

اجرا کردن = x

– = عدم دسترسی

مثال: دستور زیر دسترسی 644 را برای فایل config.txt ایجاد می‌کند. دسترسی 644 به معنی خواندن و نوشتن برای User و دسترسی خواندن برای Group و World است

chmod 644 config.txt

8 . شبکه

# نمایش همه رابط‌های شبکه و آدرس IP.

ifconfig -a

# آدرس و جزئیات eth0 را نمایش دهید.

ifconfig eth0

# پرس و جو یا کنترل درایور شبکه و تنظیمات سخت‌افزار.

ethtool eth0

# ارسال درخواست echo ICMP به host. به جای host باید دامنه یا IP دلخواه خود را قرار دهید.

ping host

# نمایش اطلاعات Whois برای دامنه.

whois domain

# نمایش اطلاعات DNS برای دامنه.

dig domain

# جستجوی معکوس IP_ADDRESS.

dig -x IP_ADDRESS

# نمایش آدرس IP DNS برای دامنه.

host domain

# آدرس شبکه نام میزبان را نمایش دهید.

hostname –i

# نمایش همه IP آدرس‌های محلی.

hostname –I

#  بارگیری http://domain.com/file

wget http://domain.com/file

# نمایش پورت گوش دادن tcp و پورت‌هایudp و برنامه‌های مربوطه.

netstat –nutlp

9. آرشیو (TAR FILES)

# فایل tar به نام archive.tar حاوی فایلهای direcorty ایجاد کنید.

tar cf archive.tar directory

#  مطالب را از Archive.tar استخراج کنید.

tar xf archive.tar

# یک پرونده tar فشرده شده gzip ایجاد کنید archive.tar.gz.

tar czf archive.tar.gz directory

# یک پرونده tar فشرده شده gzip را استخراج کنید.

tar xzf archive.tar.gz

# یک پرونده tar با فشرده سازی bzip2 ایجاد کنید.

tar cjf archive.tar.bz2 directory

# یک پرونده tar فشرده شده bzip2 استخراج کنید.

tar xjf archive.tar.bz2

10. نصب بسته‌ها

# جستجوی بسته با کلید واژه. توجه کنید بسته به نوع توزیع لینوکس ممکن است نیاز باشه به جای yum از مقادیر دیگری استفاده کنید. برای Ubuntu و Debian از apt و apt-get برای Centos و REHL از yum برای Arch از pacman استفاده کنید.

yum search keyword

# نصب بسته.

yum install package

# نمایش توضیحات و خلاصه اطلاعات درباره بسته.

yum info package

# بسته را از پرونده محلی با نام pack.rpm نصب کنید

rpm -i pack.rpm

# حذف / نصب نکردن بسته(حذف).

yum remove package

# نصب نرم افزار از کد منبع.

tar zxvf sourcecode.tar.gz

cd sourcecode

./configure

make

make install

11 . جستجو

# جستجوی الگوی در پرونده

grep pattern file

# به صورت بازگشتی برای یافتن الگوی در فهرست جستجو کنید.

grep -r pattern directory

# پیدا کردن پرونده‌ها و فهرست‌ها بوسیله نام.

locate name

# پیدا کردن پرونده‌ها که با (“پیشوند””prefix” )شروع می‌شوند.

find /home/john -name ‘prefix*’ #

پرونده های بزرگتر از 100 مگابایت را در / خانه پیدا کنید.

find /home -size +100M

#به عنوان نام کاربری محلی خود به میزبان وصل شوید.

ssh host

# اتصال به میزبان به عنوان کاربر.

ssh user@host

# با استفاده از پورت به میزبان وصل شوید.

ssh -p port user@host

13. انتقال فایل‌ها

# کپی امن file.txt  به پوشه tmp در سرور.

scp file.txt server:/tmp

# *.html files را از سرور به پوشه محلی tmp کپی کنید.

scp server:/var/www/*.html /tmp

# همه پرونده‌ها و فهرست‌ها را بطور بازگشتی از سرور به پوشه  tmp سیستم فعلی کپی کنید.

scp -r server:/var/www /tmp

# همگام سازی / خانه به / پشتیبان گیری / خانه

rsync -a / home / backup /

# همگام سازی پرونده‌ها / فهرست‌ها بین سیستم محلی و راه دور با فشرده سازی فعال شده است.

rsync -avz /home server:/backups/

14. استفاده از دیسک

# فضای آزاد و استفاده شده را روی سیستم فایل‌های نصب شده نمایش دهید.

df –h

# نمایش ورودی‌های رایگان و استفاده شده در سیستم فایلهای نصب شده.

df -i

# نمایش اندازه و انواع پارتیشن دیسک

fdisk -l

# نمایش استفاده از دیسک برای همه پرونده‌ها وفهرست‌ها با فرمت قابل خواندن توسط انسان.

du –ah

# نمایش کل استفاده از دیسک از فهرست فعلی.

du –sh

15.پیمایش فهرست

# برای بالا رفتن از یک سطح از درخت فهرست. (تغییر در فهرست والدین).

cd ..

# برو به فهرست خانه $.

Cd

# تغییر در فهرست / و غیره.

cd /etc