common commands
Command | Description |
---|---|
ls -lSr | Show files by size, biggest last |
du -s * | sort -k1,1rn | head | Show top disk users in current dir |
du -hs /home/* | sort -k1,1h | Sort paths by easy to interpret disk usage |
df -h | Show free space on mounted filesystem |
df -i | Show free inodes on mounted filesystem |
fdisk -l | show disks partition sizes and types (should be on root) |
rpm -qa --qf '%10{SIZE}\t%{NAME}\n'| sort -k1,1n | List all packages by installed size(bytes) |
dd bs=1 seek=2TB if=/dev/null of=ext3.test | create a lasrge test file (be careful) |
dpkg -query -W -f='${Installed-Size;10}\t${Package}\n'| sort -k1,1n | List all package by installed size (debian) |
tail -f /var/log/messages | Monitor messages |
strace -c ls >/dev/null | profile calls |
strace -fe open ls > /dev/null | list system calls |
strace -fe trace=write -e write=1,2 ls > /dev/null | monitor write stdout and stderr |
ltrace -fe getenv ls > /dev/null | list library calls |
lsof -p $$ | List paths that process id has open |
lsof ~ | list processes that have specified path open |
tcpdump | show network traffic |
ps -eo pid,args --forest | List process in a hierarchy |
ps -eo pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d' | list process by % cpu usage |
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS | list process by mem usage (KB) |
ps -C command_name -L -o pid,tid,pcpu,state | list all threads for a particular process |
ps -p 1,$$ -o etime= | list elapsed wall time for particular pid |
watch -n.1 pstree -Uacp $$ | display a changing process subtree |
last reboot | system reboot history |
free -m | show amount of remaining ram |
watch -n.1 'cat /proc/interrupts' | watch changable data continuously |
udevadm monitor | monitor udev events to help configure rules |
uname -a | kernel version and system arch |
head -n1 /etc/issue | show name and version of distribution |
cat /proc/paritions | partitions registred on the system |
grep MemTotal /proc/meminfo | RAM total seen by system |
grep "model name" /proc/cpuinfo | cpu info |
lscpi -tv | show pci info |
lsusb -tv | show usb info |
mount | column -t | list mounted filesystem |
dmidecode -q | less | display bios info |
smartctl -A /dev/sda | grep Power_On_hours | disk uptime |
smartctl -x /dev/disk | show all information of disk |
hdparm -i /dev/disk | show info about disk data |
hdparm -tT /dev/disk | read speed test on disk |
badblocks -s /dev/disk | test for unreadable blocks |
ethtool eth0 | show status of ethernet interface |
ethtool --change eth0 autoneg off speed 100 duplex full | manually set ethernet interface speed |
ip link show | list network interfaces |
ip link set dev eth0 name "name" | rename interface eth0 to any name |
ip link set dev eth0 up | bring interface eth0 up |
ip a | show ip addr |
ip route show | list routing table |
ip route add default via "" | set default gateway to any IP set |
ss -tupl | list internet services on a system |
ss -tup | list active connections to/from system |
smbtree | find windows machine |
mount -t smbfs -o fmask=666,gues //windows/share /mnt/share | mount a windows share |
sed s's/string1/string2/g' | replace string1 with string 2 |
sed 's/\(.*)1/\12/g' | modify anystring1 to anystring2 |
sed '/^*#/d;/^*$d' | remove comments and blank lines |
grep -Ev "^#|^$" file | remove comments and blank lines (grep) |
sed ':a;/\$/N; s/\\n//; ta' | concat lines with trailing \ |
sed 's/\([`"$\]\)/\\1/g' | escape shell metachar active within double quotes |
sed 's/[\t]*$//' | remove trailing spaces from lines |
seq 10 | sed "s/^/ /; s/ *\(.\{7,\}\)/\1/" | right align numbers |
seq 10 | sed p | paste -- | duplicate a column |
sed -n '1000{p;g}' | print 1000th line |
sed -n '10,20p;20g' | print lines 10 to 20 |
sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' | extract title from html web page |
sed -i 42d ~/.ssh/known_hosts | delete 42nd line |
echo 'Test' | tr '[:lower:]''[:upper:]' | case convertion |
tr -s '[:blank:]''\t'</proc/diskstats | cut -f4 | cut fields separated by blanks |
seq 10 | paste -sd '' | concat and separate line items to a single line |
sort -u file1 file 2 | union of unsorted files |
sort file1 file2 | uniq -d | intersection of unsorted files |
sort file1 file1 file2 | uniq -d | diference of unsorted files |
sort file1 file2 | uniq -u | symmetric difference of unsorted files |
join -t'\0' -a1 -a2 file1 file2 | union of sorted files |
join -t'\0' file1 file2 | intersection of sorted files |
join -t'\0' -v2 file1 file2 | difference of sorted files |
join -t'\0' -v1 -v2 file1 file2 | symmetric difference of sorted files |