System Information: Command Description
System Information: Command Description
System Information: Command Description
Command Description
# arch show architecture of machine(1)
# cal 2007 show the timetable of 2007
# cat /proc/cpuinfo show information CPU info
# cat /proc/interrupts show interrupts
# cat /proc/meminfo verify memory use
# cat /proc/swaps show file(s) swap
# cat /proc/version show version of the kernel
# cat /proc/net/dev show network adpters and statistics
# cat /proc/mounts show mounted file system(s)
# clock -w save date changes on BIOS
# date show system date
# date 041217002007.00 set date and time -
MonthDayhoursMinutesYear.Seconds
# dmidecode -q show hardware system components -
(SMBIOS / DMI)
# hdparm -i /dev/hda displays the characteristics of a hard-disk
# hdparm -tT /dev/sda perform test reading on a hard-disk
# lspci -tv display PCI devices
# lsusb -tv show USB devices
# uname -m show architecture of machine(2)
# uname -r show used kernel version
TOP ^
Shutdown, Restart and Logout of a
system
Command Description
# init 0 shutdown system(2)
# logout leaving session
# reboot reboot(2)
# shutdown -h now shutdown system(1)
# shutdown -h 16:30 & planned shutdown of the system at 16:30
# shutdown -c cancel a planned shutdown of the system
# shutdown -r now reboot(1)
# telinit 0 shutdown system(3)
TOP ^
Files and Directory
Command Description
# cd /home enter to directory '/ home'
# cd .. go back one level
# cd ../.. go back two levels
# cd go to home directory
# cd ~user1 go to home directory
# cd - go to previous directory
# cp file1 file2 copying a file
# cp dir/* . copy all files of a directory within the
current work directory
# cp -a /tmp/dir1 . copy a directory within the current work
directory
# cp -a dir1 dir2 copy a directory
# cp file file1 outputs the mime type of the file as text
# iconv -l lists known encodings
# iconv -f fromEncoding -t toEncoding converting the coding of characters from one
inputFile > outputFile format to another
# find . -maxdepth 1 -name *.jpg -print batch resize files in the current directory and
-exec convert send them to a thumbnails directory
(requires convert from Imagemagick)
# ln -s file1 lnk1 create a symbolic link to file or directory
# ln file1 lnk1 create a physical link to file or directory
# ls view files of directory
# ls -F view files of directory
# ls -l show details of files and directory
# ls -a show hidden files
# ls *[0-9]* show files and directory containing numbers
# lstree show files and directories in a tree starting
from root(2)
# mkdir dir1 create a directory called 'dir1'
# mkdir dir1 dir2 create two directories simultaneously
# mkdir -p /tmp/dir1/dir2 create a directory tree
# mv dir1 new_dir rename / move a file or directory
# pwd show the path of work directory
# rm -f file1 delete file called 'file1'
# rm -rf dir1 remove a directory called 'dir1' and contents
recursively
# rm -rf dir1 dir2 remove two directories and their contents
recursively
# rmdir dir1 delete directory called 'dir1'
# touch -t 0712250000 file1 modify timestamp of a file or directory -
(YYMMDDhhmm)
# tree show files and directories in a tree starting
from root(1)
TOP ^
File search
Command Description
# find / -name file1 search file and directory into root filesystem
from '/'
# find / -user user1 search files and directories belonging to
'user1'
# find /home/user1 -name \*.bin search files with '. bin' extension within
directory '/ home/user1'
# find /usr/bin -type f -atime +100 search binary files are not used in the last
100 days
# find /usr/bin -type f -mtime -10 search files created or changed within 10
days
# find / -name *.rpm -exec chmod 755 search files with '.rpm' extension and modify
'{}' \; permits
# find / -xdev -name \*.rpm search files with '.rpm' extension ignoring
removable partitions as cdrom, pen-drive,
etc.…
# locate \*.ps find files with the '.ps' extension - first run
'updatedb' command
# whereis halt show location of a binary file, source or man
# which halt show full path to a binary / executable
TOP ^
Mounting a Filesystem
Command Description
# fuser -km /mnt/hda2 force umount when the device is busy
# mount /dev/hda2 /mnt/hda2 mount disk called hda2 - verify existence of
the directory '/ mnt/hda2'
# mount /dev/fd0 /mnt/floppy mount a floppy disk
# mount /dev/cdrom /mnt/cdrom mount a cdrom / dvdrom
# mount /dev/hdc /mnt/cdrecorder mount a cdrw / dvdrom
# mount /dev/hdb /mnt/cdrecorder mount a cdrw / dvdrom
# mount -o loop file.iso /mnt/cdrom mount a file or iso image
# mount -t vfat /dev/hda5 /mnt/hda5 mount a Windows FAT32 file system
# mount /dev/sda1 /mnt/usbdisk mount a usb pen-drive or flash-drive
# mount -t smbfs -o mount a windows network share
username=user,password=pass
//WinClient/share /mnt/share
# umount /dev/hda2 unmount disk called hda2 - exit from mount
point '/ mnt/hda2' first
# umount -n /mnt/hda2 run umount without writing the file /etc/mtab
- useful when the file is read-only or the hard
disk is full
TOP ^
Disk Space
Command Description
# df -h show list of partitions mounted
# dpkg-query -W -f='${Installed- show the used space by installed deb
Size;10}t${Package}n' | sort -k1,1n packages, sorting by size (debian, ubuntu
and alike)
# du -sh dir1 estimate space used by directory 'dir1'
# du -sk * | sort -rn show size of the files and directories sorted
by size
# ls -lSr |more show size of the files and directories ordered
by size
# rpm -q -a --qf '%10{SIZE}t% show the used space by rpm packages
{NAME}n' | sort -k1,1n installed sorted by size (fedora, redhat and
alike)
TOP ^
Filesystem Analysis
Command Description
# badblocks -v /dev/hda1 check bad blocks on disk hda1
# dosfsck /dev/hda1 repair / check integrity of dos filesystems on
disk hda1
# e2fsck /dev/hda1 repair / check integrity of ext2 filesystem on
disk hda1
# e2fsck -j /dev/hda1 repair / check integrity of ext3 filesystem on
disk hda1
# fsck /dev/hda1 repair / check integrity of linux filesystem on
disk hda1
# fsck.ext2 /dev/hda1 repair / check integrity of ext2 filesystem on
disk hda1
# fsck.ext3 /dev/hda1 repair / check integrity of ext3 filesystem on
disk hda1
# fsck.vfat /dev/hda1 repair / check integrity of fat filesystem on
disk hda1
# fsck.msdos /dev/hda1 repair / check integrity of dos filesystem on
disk hda1
TOP ^
Format a Filesystem
Command Description
# fdformat -n /dev/fd0 format a floppy disk
# mke2fs /dev/hda1 create a filesystem type linux ext2 on hda1
partition
# mke2fs -j /dev/hda1 create a filesystem type linux ext3 (journal)
on hda1 partition
# mkfs /dev/hda1 create a filesystem type linux on hda1
partition
# mkfs -t vfat 32 -F /dev/hda1 create a FAT32 filesystem
# mkswap /dev/hda3 create a swap filesystem
TOP ^
Filesystem SWAP
Command Description
# mkswap /dev/hda3 create a swap filesystem
# swapon /dev/hda3 activating a new swap partition
# swapon /dev/hda2 /dev/hdb3 activate two swap partitions
TOP ^
Backup
Command Description
# find /var/log -name '*.log' | tar cv find all files with '.log' extention and make
--files-from=- | bzip2 > log.tar.bz2 an bzip archive
# find /home/user1 -name '*.txt' | xargs find and copy all files with '.txt' extention
cp -av --target-directory=/home/backup/ from a directory to another
--parents
# dd bs=1M if=/dev/hda | gzip | ssh make a backup of a local hard disk on
user@ip_addr 'dd of=hda.gz' remote host via ssh
# dd if=/dev/sda of=/tmp/file1 backup content of the harddrive to a file
# dd if=/dev/hda of=/dev/fd0 bs=512 make a copy of MBR (Master Boot Record)
count=1 to floppy
# dd if=/dev/fd0 of=/dev/hda bs=512 restore MBR from backup copy saved to
count=1 floppy
# dump -0aj -f /tmp/home0.bak /home make a full backup of directory '/home'
# dump -1aj -f /tmp/home0.bak /home make a incremental backup of directory
'/home'
# restore -if /tmp/home0.bak restoring a backup interactively
# rsync -rogpav --delete /home /tmp synchronization between directories
# rsync -rogpav -e ssh --delete /home rsync via SSH tunnel
ip_address:/tmp
# rsync -az -e ssh --delete synchronize a local directory with a remote
ip_addr:/home/public /home/local directory via ssh and compression
# rsync -az -e ssh --delete /home/local synchronize a remote directory with a local
ip_addr:/home/public directory via ssh and compression
# tar -Puf backup.tar /home/user make a incremental backup of directory
'/home/user'
# ( cd /tmp/local/ && tar c . ) | ssh -C copy content of a directory on remote
user@ip_addr 'cd /home/share/ && tar x directory via ssh
-p'
# ( tar c /home ) | ssh -C user@ip_addr copy a local directory on remote directory
'cd /home/backup-home && tar x -p' via ssh
# tar cf - . | (cd /tmp/backup ; tar xf - ) local copy preserving permits and links from
a directory to another
TOP ^
CDROM
Command Description
# cd-paranoia -B rip audio tracks from a CD to wav files
# cd-paranoia -- rip first three audio tracks from a CD to wav
files
# cdrecord -v gracetime=2 clean a rewritable cdrom
dev=/dev/cdrom -eject blank=fast -force
# cdrecord -v dev=/dev/cdrom cd.iso burn an ISO image
# gzip -dc cd_iso.gz | cdrecord burn a compressed ISO image
dev=/dev/cdrom -
# cdrecord --scanbus scan bus to identify the channel scsi
# dd if=/dev/hdc | md5sum perform an md5sum on a device, like a CD
# mkisofs /dev/cdrom > cd.iso create an iso image of cdrom on disk
# mkisofs /dev/cdrom | gzip > cd_iso.gz create a compressed iso image of cdrom on
disk
# mkisofs -J -allow-leading-dots -R -V create an iso image of a directory
# mount -o loop cd.iso /mnt/iso mount an ISO image
TOP ^
Networking (LAN / WiFi)
Command Description
# dhclient eth0 active interface 'eth0' in dhcp mode
# ethtool eth0 show network statistics of eth0
# host www.example.com lookup hostname to resolve name to ip
address and viceversa
# hostname show hostname of system
# ifconfig eth0 show configuration of an ethernet network
card
# ifconfig eth0 192.168.1.1 netmask configure IP Address
255.255.255.0
# ifconfig eth0 promisc configure 'eth0' in promiscuous mode to
gather packets (sniffing)
# ifdown eth0 disable an interface 'eth0'
# ifup eth0 activate an interface 'eth0'
# ip link show show link status of all network interfaces
# iwconfig eth1 show wireless networks
# iwlist scan wifi scanning to display the wireless
connections available
# mii-tool eth0 show link status of 'eth0'
# netstat -tup show all active network connections and
their PID
# netstat -tupl show all network services listening on the
system and their PID
# netstat -rn show routing table alike "route -n"
# nslookup www.example.com lookup hostname to resolve name to ip
address and viceversa
# route -n show routing table
# route add -net 0/0 gw IP_Gateway configure default gateway
# route add -net 192.168.0.0 netmask configure static route to reach network
255.255.0.0 gw 192.168.1.1 '192.168.0.0/16'
# route del 0/0 gw IP_gateway remove static route
# echo "1" > activate ip routing temporarily
/proc/sys/net/ipv4/ip_forward
# tcpdump tcp port 80 show all HTTP traffic
# whois www.example.com lookup on Whois database
TOP ^
IPTABLES (firewall)
Command Description
# iptables -t filter -L show all chains of filtering table
# iptables -t nat -L show all chains of nat table
# iptables -t filter -F clear all rules from filtering table
# iptables -t nat -F clear all rules from table nat
# iptables -t filter -X delete any chains created by user
# iptables -t filter -A INPUT -p tcp allow telnet connections to input
--dport telnet -j ACCEPT
# iptables -t filter -A OUTPUT -p tcp block HTTP connections to output
--dport http -j DROP
# iptables -t filter -A FORWARD -p tcp allow POP3 connections to forward chain
--dport pop3 -j ACCEPT
# iptables -t filter -A INPUT -j LOG Logging on input chain
--log-prefix
# iptables -t nat -A POSTROUTING -o configure a PAT (Port Address Traslation)
eth0 -j MASQUERADE on eth0 masking outbound packets
# iptables -t nat -A PREROUTING -d redirect packets addressed to a host to
192.168.0.1 -p tcp -m tcp --dport 22 -j another host
DNAT --to-destination 10.0.0.2:22
TOP ^
Monitoring and debugging
Command Description
# free -m displays status of RAM in megabytes
# kill -9 process_id force closure of the process and finish it
# kill -1 process_id force a process to reload configuration
# last reboot show history reboot
# lsmod display kernel loaded
# lsof -p process_id display a list of files opened by processes
# lsof /home/user1 displays a list of open files in a given path
system
# ps -eafw displays linux tasks
# ps -e -o pid,args --forest displays linux tasks in a hierarchical mode
# pstree mostra un albero dei processi sistema Shows
a tree system processes
# smartctl -A /dev/hda monitoring reliability of a hard-disk through
SMART
# smartctl -i /dev/hda check if SMART is active on a hard-disk
# strace -c ls >/dev/null display system calls made and received by a
process
# strace -f -e open ls >/dev/null display library calls
# tail /var/log/dmesg show events inherent to the process of
booting kernel
# tail /var/log/messages show system events
# top display linux tasks using most cpu
# watch -n1 'cat /proc/interrupts' display interrupts in real-time
TOP ^
Others useful commands
Command Description
# alias hh='history' set an alias for a command - hh = history
# apropos ...keyword display a list of commands that pertain to
keywords of a program , useful when you
know what your program does, but you don't
know the name of the command
# chsh change shell command
# chsh --list-shells nice command to know if you have to
remote into another box
# gpg -c file1 encrypt a file with GNU Privacy Guard
# gpg file1.gpg decrypt a file with GNU Privacy Guard
# ldd /usr/bin/ssh show shared libraries required by ssh
program
# man ping display the on-line manual pages for
example on ping command - use '-k' option
to find any related commands
# mkbootdisk --device /dev/fd0 `uname create a boot floppy
-r`
# wget -r www.example.com download an entire web site
# wget -c www.example.com/file.iso download a file with the ability to stop the
download and resume later
# echo 'wget -c start a download at any given time
www.example.com/files.iso' | at 09:00
# whatis ...keyword displays description of what a program does
# who -a show who is logged on, and print: time of
last system boot, dead processes, system
login processes, active processes spawned by
init, current runlevel, last system clock
change
Social Bookmarking