برای یک رایانه جدید یا یک رایانه کیفی و حتی یک کارساز، ما همواره با این نیاز داریم تا اطلاعاتی را در مورد سختافزار آن گردآوری کنیم. این اطلاعات برای مواقعی که به تعویض حافظه اصلی یا سختافزاری خاص نیاز دارید نیز به درد میخورند. برای اینکه بتوانید سختافزار خود را تعویض کنید؛ در برخی از مواقع نیاز دارید که اطلاعات پیشرفتهتر از سختافزار رایانه خود داشته باشید. در این نوشته تمامی ابزارهایی که برای گردآوری اطلاعات در گنو/لینوکس استفاده میشوند را معرفی خواهم کرد.
این دستورات در توزیع اوبونتو ۱۴٫۰۴ [همچنین در آرچلینوکس و فدورا ۲۲ توسط مترجم] آزمایش شده است. با وجود این، دستورات نوشته شده در توزیعهای دیگر مانند دبیان، فدورا و … نیز به خوبی کار میکنند.
۱) نمایش نام رایانه در خط فرمان
$ hostname $ cat /etc/hostname server1
۲) نمایش نام دامنه رایانه در DNS
$ dnsdomainname cyberciti.biz
۳) نمایش نام دامنه به شکل کامل «FQDN»
$ hostname -f server1.cyberciti.biz
۴) اطلاعات سریال، برند و کارخانه تولیدکننده
برای پیدا کردن شماره سریال رایانه، کارخانه و مدل آن دستورات زیر استفاده میشود.
$ sudo dmidecode -s system-serial-number $ sudo dmidecode -s system-manufacturer $ sudo dmidecode -s system-product-name $ sudo dmidecode | more
دستور مشابه با دستورات بالا:
# lshw | more $ sudo lshw -short
۵) اطلاعات کامل سختافزارهای متصل به رایانه
$ sudo lsdev
۶) اطلاعات پردازنده
$ cat /proc/cpuinfo
یا دستور زیر:
$ lscpu
۷) فهرستی از پردازشهای انجام شده به صورت آماری
$ sudo mpstat $ sudo mpstat 1 $ sudo mpstat -A
۸) نمایش اطلاعات حافظه اصلی
اطلاعات آماری از مقدار حافظه استفاده شده و یا کش و … با دستور زیر نمایش داده میشوند.
$ less /proc/meminfo
اطلاعات مختلف از فضای باقیمانده در حافظه اصلی با استفاده از دستورات زیر به دست خواهد آمد.
free ## فضای باقیمانده به مگابایت ## free -m ## فضای باقی مانده به گیگابایت ## free -g ## فضای باقی مانده به ترابایت ## free --tera ## خروجی مناسب برای انسان ## free -h
اطلاعات فضای سوآپ «Swap» با دستورات زیر به دست میآید.
$ swapon -s $ cat /proc/swaps $ cat /proc/meminfo $ top $ vmstat $ for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less $ smem
یا اطلاعات حافظه مجازی در گنو/لینوکس به این شکل به دست میآید.
$ sudo vmstat $ sudo vmstat 1 $ sudo vmstat 2
۹) اطلاعات توزیع و لینوکس
نمایش نسخه جاری توزیع از طریق خط فرمان با دستور زیر قابل انجام است.
$ lsb_release -a
نسخه هسته مورد استفاده در توزیع شما با این دستور معلوم میشود.
$ uname -r
اطلاعات کامل از لینوکس بههمراه نام و …
$ uname -a
آرگومانها و پارامترهای هسته توسط دستورات زیر نمایش داده میشوند.
$ cat /proc/cmdline $ sysctl -a | more
۱۰) معماری پردازنده
معماری پردازنده از طریق دستورات زیر مشخص خواهد شد.
$ uname -m $ getconf LONG_BIT $ arch
۱۱) نمایش اطلاعات دیسکسخت
# fdisk -l | grep '^Disk /dev'
۱۲) قرار دادن نام و یا برچسب برای یک پارتیشن
برای نامگذاری با استفاده از دستورات زیر قابل انجام است؛ نام پارتیشن در سیستمهای گوناگون ممکن است فرق داشته باشد.
$ sudo fdisk /dev/sda $ sudo e2label /dev/sda1 $ sudo cfdisk /dev/sda
۱۳) نمایش فهرست پارتیشنهای متصل «Mount» شده
# blkid
۱۴) فهرست پارتیشنها به صورت دیگر
# lsblk
۱۵) اطلاعاتی از فضای دیسک
$ df $ df -H $ df -HT
محاسبه فضای مورد استفاده توسط پروندهها
$ du $ du /home
اطلاعات سیستمفایلهای متصل
$ cat /proc/mount $ mount
۱۶) نمایش اطلاعات ابزار SCSI
$ lsscsi
۱۷) آمار عملیات ورودی / خروجی
$ sudo iostat $ sudo iostat 2
۱۸) نمایش فهرستی از ابزار متصل به PCI
$ lspci $ lspci -vt $ lspci | grep -i 'something' $ lspci -vvvn| less
۱۹) ابزار متصل به USB
$ lsusb $ lsusb -vt
۲۰) اطلاعات سامانه بیسیم و ابزار مرتبط
$ iwconfig $ watch -n 1 cat /proc/net/wireless $ wavemon
۲۱) اطلاعات کرات گرافیک
$ lspci | grep -i vga $ lspci -vvnn | grep VGA
یا
$ sudo lshw -class display
کارت گرافیک انویدیا
$ nvidia-smi
یا
$ nvidia-settings
کارت گرافیک ایامدی «AMD» / ایتیآی «ATI»
$ fglrxinfo
۲۲) اطلاع از نسخه یونیتی
$ unity --version
۲۳) اطلاعات انرژی و باتری
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 $ acpi -V
۲۴) زمان بالا بودن و اجرای سیستمعامل
$ uptime $ who $ w
۲۵) اطلاعاتی از خاموش یا روشن شدن رایانه
$ last reboot $ last shutdown
نمایش «runlevel»
$ runlevel $ who -r
۲۶) نمایش زمان بالا آمدن هسته
$ sudo less /var/log/dmesg $ sudo grep 'regx' /var/log/dmesg $ sudo grep '[h|s]d' /var/log/dmesg
۲۷) نمایش اطلاعات راهاندازها
$ sudo lsmod $ sudo modinfo {driver_name} $ sudo modinfo kvm
۲۸) نمایش اطلاعات آدرس آیپی «IP» و…
## Info about all interfaces. Must be run as root via sudo command ## sudo ip a sudo ip sudo ip link ls up sudo ifconfig -a ## Only show eth1 interface info ## sudo ip a show eth0 sudo ifconfig eth0
۲۹) اطلاعات جدول و سامانه مسیریابی
## You can use any one of the following command ## ## Must be run as root ## sudo ip r sudo route -n sudo netstat -nr
۳۰) اطلاعات کامل اترنت
$ sudo brctl show $ sudo bridge link
۳۱) اطلاعات کامل از DNS
# cat /etc/resolv.conf # cat /etc/host.conf
۳۲) اطلاعاتی از سوکتها و درگاهها
## Must run as root via sudo ## sudo ss ## Display all listing ports ## sudo ss -l sudo netstat -tulpn sudo netstat -tulpn | grep LISTEN ## Display all TCP sockets sudo ss -t -a ## Display all UDP sockets. sudo ss -u -a ## List all open files lsof | more lsof | grep something lsof /dev/sda2 lsof /path/to/file
۳۳) خدمات و سرویسها در حال اجرا
### SYS V ### $ sudo service --status-all OR ## UPSTART ## $ sudo initctl list
بررسی فعال بودن یک سرویس
## UPSTART ## $ sudo initctl status service-name $ sudo initctl status smbd یا در سیسوی ## SYS V $ sudo service serviceName status $ sudo service nginx status
۳۴) نمایش لاگ
$ cd /var/log $ ls -l $ tail -f /var/log/fileName $ grep 'something' /var/log/fileNameHere
۲۵) یافتن پرونده با نام
$ locate fileName $ locate htpasswd $ locate passwd $ locate my.resume.doc
یافتن فایل با اعمال شرط
$ find {/dir/to/search} -name {file-to-search} -print $ find /etc/ -name /etc/passwd -print $ find $HOME -name '*.doc' -print
۳۶) اطلاعات حساب کاربری
$ less /etc/passwd $ grep userName /etc/passwd $ getent passwd
۳۷) اطلاعات گروههای کاربری
$ less /etc/group $ getent group $ grep group-name /etc/group $ groups userName
۳۸) اطلاعات گذرواژه و امنیت
$ chage -l userName $ chage -l root $ chage -l vivek
۳۹) مقدار استفاده شده از منابع سیستم
$ sudo top $ sudo htop $ sudo atop $ sudo ps auxwww $ sudo netstat [options] $ sudo iostat $ sudo mpstat 1 $ sudo sar [options]
۴۰) فراخوانهای سیستمی
$ strace -o output.txt /bin/foo $ strace -p 22254 -s 80 -o debug.nginx.txt
۴۱) فراخوانهای کتابخانهای
$ sudo ltrace /usr/sbin/httpd $ sudo ltrace /sbin/chroot /usr/sbin/httpd
۴۲) اطلاعات فرآیندها
$ sudo pstree $ sudo pstree | less $ sudo ps auxwwwm $ ps alxwww $ ps auxwww $ lsof -b M -n -l
۴۳) تغییر اولویت یک فرآیند برای پردازش در پردازنده
$ sudo /bin/nice -n -1 command-name-here $ sudo /bin/nice -n -1 pid $ sudo renice {priority} pid
۴۴) نمایش فرآیندهای در حال اجرا در پردازنده
$ sudo taskset -p {pid-here} $ sudo taskset -p 42
۴۵) نمایش تمامی بستههای نرمافزاری نصب شده
$ dpkg -l $ dpkg -l | less $ dpkg -l nginx
۴۶) نمایش وصلههای امنیتی نصب شده
$ sudo apt-show-versions -a | grep -i "security"
۴۷) نمایش کتابخانههای مورد نیاز برای اجرای فایلهای اجرایی
$ ldd file
۴۸) پیدا کردن بستهٔ نرمافزاری به وسیله پروندهای که با آن تعلق دارد
$ dpkg -S /path/to/file $ dpkg -S /bin/ls
۴۹) ایجاد یک نسخه پشتیبان از فهرست موارد نصب شده
برای ایجاد فهرستی پشتیبان از نرمافزارهای نصب شده در سیستم در توزیعهای مبتنی بر دبیان و اوبونتو از دستورات زیر استفاده کنید.
$ sudo dpkg --get-selections > /root/installed.pkgs.txt
برای بازگرداند نسخه پشتیبان دستورات زیر را وارد کنید.
$ sudo dpkg --set-selections < /root/installed.pkgs.txt
۵۰) نمایش اطلاعات و تنظیمات دیوار آتش
$ sudo iptables -L -n -v $ sudo ufw status numbered $ sudo ufw status verbose $ sudo ufw app list
۵۱) اطلاعات کارت صدا و سامانه صوتی
$ lspci | grep -i audio
یا
$ cat /proc/asound/cards
یا
$ arecord -l
راهنمایی از طریق خط فرمان
همچنین فراموش نکنید که همواره با استفاده از دستور راهنما «man» میتوان به مطالعه نحوه استفاده از دستورات بپردازید.
$ man dpkg $ man htop $ man ...
در آخر تهیه یک نسخه پشتیبان از کارساز وب با اطلاع داشتن از اطلاعات آن نمیتواند موضوع نگران کننده باشد.
منبع: cyberciti.biz