Saturday, January 18, 2014

Some Useful Linux command to get Linux System Information

If you are developing an application Linux Environment and would like to automatically find out more information about the system, use the following commands in shell scripts to get information about system.

Find out KDE Desktop version:

konqueror --version
Find out Gnome Desktop version:

gnome-panel --version
Find out disk space usage:

df -h
Find/Estimate file space usage:

du -h
Find out version of Linux glibc:

ls -l /lib/libc-*.so /lib/libc.so*
Find out user limits:

ulimit -a
Find out installed device drivers (modules)

lsmod
Find out information about Linux CPU

cat /proc/cpuinfo
Find out information about Linux Memory

cat /proc/meminfo
OR
free -m
OR
free -g
Find out user shell name:

ps -p $$ | tail -1 | awk '{ print $4 }'
Dump Linux kernel variables
/sbin/sysctl -a
Find out running Linux kernel version:

uname -mrs
uname -a
cat /proc/version
Dump or display memory information and swap information:

free -m
Network card and IP address information:

ifconfig -a
ifconfig -a|less
Debian / Ubuntu Linux network configuration file (all interface eth0,eth1,...ethN)

more /etc/network/interfaces
Redhat / CentOS / Fedora Linux network configuration file (eth0)

more  /etc/sysconfig/network-scripts/ifcfg-eth0
Note replace eth1 for 2nd network card and so on.
Display routing information

route -n
route
Display list of all open ports

netstat -tulpn
View login related logs

tail -f /var/log/secure
vi /var/log/secure
grep 'something' /var/log/secure
View mail server related logs

tail -f /var/log/maillog
vi /var/log/maillog
grep 'something' /var/log/maillog
Find how long the system has been running

uname
w
Show who is logged on and what they are doing

w
who
Display list of tasks

top
Display all running process

ps aux
ps aux | grep process-name
Display list of all installed software on Redhat / CentOS / Fedora

rpm -qa
rpm -qa | grep 'software-name'
rpm -qa | less
Display list of all installed software on Debian / Ubuntu

dpkg --list