System information
Command
Description
# arch
show architecture of machine(1) [man]
# cal 2007
show the timetable of 2007 [man]
# cat /proc/cpuinfo
show information CPU info [man]
# cat /proc/interrupts
show interrupts [man]
# cat /proc/meminfo
verify memory use [man]
# cat /proc/swaps
show file(s) swap [man]
# cat /proc/version
show version of the kernel [man]
# cat /proc/net/dev
show network adpters and statistics [man]
# cat /proc/mounts
show mounted file system(s) [man]
# clock -w
save date changes on BIOS [man]
# date
show system date [man]
# date 041217002007.00
set date and time - MonthDayhoursMinutesYear.Seconds [man]
# dmidecode -q
show hardware system components - (SMBIOS / DMI) [man]
# hdparm -i /dev/hda
displays the characteristics of a hard-disk [man]
# hdparm -tT /dev/sda
perform test reading on a hard-disk [man]
# lspci -tv
display PCI devices [man]
# lsusb -tv
show USB devices [man]
# uname -m
show architecture of machine(2) [man]
# uname -r
show used kernel version [man]
Shutdown, Restart and Logout of a system
Command
Description
# init 0
shutdown system(2) [man]
# logout
leaving session [man]
# reboot
reboot(2) [man]
# shutdown -h now
shutdown system(1) [man]
# shutdown -h 16:30 &
planned shutdown of the system at 16:30 [man]
# shutdown -c
cancel a planned shutdown of the system [man]
# shutdown -r now
reboot(1) [man]
# telinit 0
shutdown system(3) [man]
Files and Directory
Command
Description
# cd /home
enter to directory '/ home' [man]
# cd ..
go back one level [man]
# cd ../..
go back two levels [man]
# cd
go to home directory [man]
# cd ~user1
go to home directory [man]
# cd -
go to previous directory [man]
# cp file1 file2
copying a file [man]
# cp dir/* .
copy all files of a directory within the current work directory [man]
# cp -a /tmp/dir1 .
copy a directory within the current work directory [man]
# cp -a dir1 dir2
copy a directory [man]
# cp file file1
outputs the mime type of the file as text [man]
# iconv -l
lists known encodings [man]
# iconv -f fromEncoding -t toEncoding inputFile > outputFile
converting the coding of characters from one format to another [man]
# find . -maxdepth 1 -name *.jpg -print -exec convert
batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) [man]
# ln -s file1 lnk1
create a symbolic link to file or directory [man]
# ln file1 lnk1
create a physical link to file or directory [man]
# ls
view files of directory [man]
# ls -F
view files of directory [man]
# ls -l
show details of files and directory [man]
# ls -a
show hidden files [man]
# ls *[0-9]*
show files and directory containing numbers [man]
# lstree
show files and directories in a tree starting from root(2) [man]
# mkdir dir1
create a directory called 'dir1' [man]
# mkdir dir1 dir2
create two directories simultaneously [man]
# mkdir -p /tmp/dir1/dir2
create a directory tree [man]
# mv dir1 new_dir
rename / move a file or directory [man]
# pwd
show the path of work directory [man]
# rm -f file1
delete file called 'file1' [man]
# rm -rf dir1
remove a directory called 'dir1' and contents recursively [man]
# rm -rf dir1 dir2
remove two directories and their contents recursively [man]
# rmdir dir1
delete directory called 'dir1' [man]
# touch -t 0712250000 file1
modify timestamp of a file or directory - (YYMMDDhhmm) [man]
# tree
show files and directories in a tree starting from root(1) [man]
File search
Command
Description
# find / -name file1
search file and directory into root filesystem from '/' [man]
# find / -user user1
search files and directories belonging to 'user1' [man]
# find /home/user1 -name \*.bin
search files with '. bin' extension within directory '/ home/user1' [man]
# find /usr/bin -type f -atime +100
search binary files are not used in the last 100 days [man]
# find /usr/bin -type f -mtime -10
search files created or changed within 10 days [man]
# find / -name *.rpm -exec chmod 755 '{}' \;
search files with '.rpm' extension and modify permits [man]
# find / -xdev -name \*.rpm
search files with '.rpm' extension ignoring removable partitions as cdrom, pen-drive, etc.… [man]
# locate \*.ps
find files with the '.ps' extension - first run 'updatedb' command [man]
# whereis halt
show location of a binary file, source or man [man]
# which halt
show full path to a binary / executable [man]
Mounting a Filesystem
Command
Description
# fuser -km /mnt/hda2
force umount when the device is busy [man]
# mount /dev/hda2 /mnt/hda2
mount disk called hda2 - verify existence of the directory '/ mnt/hda2' [man]
# mount /dev/fd0 /mnt/floppy
mount a floppy disk [man]
# mount /dev/cdrom /mnt/cdrom
mount a cdrom / dvdrom [man]
# mount /dev/hdc /mnt/cdrecorder
mount a cdrw / dvdrom [man]
# mount /dev/hdb /mnt/cdrecorder
mount a cdrw / dvdrom [man]
# mount -o loop file.iso /mnt/cdrom
mount a file or iso image [man]
# mount -t vfat /dev/hda5 /mnt/hda5
mount a Windows FAT32 file system [man]
# mount /dev/sda1 /mnt/usbdisk
mount a usb pen-drive or flash-drive [man]
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
mount a windows network share [man]
# umount /dev/hda2
unmount disk called hda2 - exit from mount point '/ mnt/hda2' first [man]
# 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 [man]
Disk Space
Command
Description
# df -h
show list of partitions mounted [man]
# dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
show the used space by installed deb packages, sorting by size (debian, ubuntu and alike) [man]
# du -sh dir1
estimate space used by directory 'dir1' [man]
# du -sk * | sort -rn
show size of the files and directories sorted by size [man]
# ls -lSr |more
show size of the files and directories ordered by size [man]
# rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
show the used space by rpm packages installed sorted by size (fedora, redhat and alike) [man]
Users and Groups
Command
Description
# chage -E 2005-12-31 user1
set deadline for user password [man]
# groupadd [group]
create a new group [man]
# groupdel [group]
delete a group [man]
# groupmod -n moon sun
rename a group from moon to sun [man]
# grpck
check correct syntax and file format of '/etc/group' and groups existence [man]
# newgrp - [group]
log into a new group to change default group of newly created files [man]
# passwd
change password [man]
# passwd user1
change a user password (only by root) [man]
# pwck
check correct syntax and file format of '/etc/passwd' and users existence [man]
# useradd -c "User Linux" -g admin -d /home/user1 -s /bin/bash user1
create a new user "user1" belongs "admin" group [man]
# useradd user1
create a new user [man]
# userdel -r user1
delete a user ( '-r' eliminates home directory) [man]
# usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
change user attributes as description, group and other [man]
Permits on Files
Command
Description
# chgrp group1 file1
change group of files [man]
# chmod ugo+rwx directory1
set permissions reading (r), write (w) and (x) access to users owner (u) group (g) and others (o) [man]
# chmod go-rwx directory1
remove permits reading (r), write (w) and (x) access to users group (g) and others (or [man]
# chmod u+s /bin/file1
set SUID bit on a binary file - the user that running that file gets same privileges as owner [man]
# chmod u-s /bin/file1
disable SUID bit on a binary file [man]
# chmod g+s /home/public
set SGID bit on a directory - similar to SUID but for directory [man]
# chmod g-s /home/public
disable SGID bit on a directory [man]
# chmod o+t /home/public
set STIKY bit on a directory - allows files deletion only to legitimate owners [man]
# chmod o-t /home/public
disable STIKY bit on a directory [man]
# chown user1 file1
change owner of a file [man]
# chown -R user1 directory1
change user owner of a directory and all the files and directories contained inside [man]
# chown user1:group1 file1
change user and group ownership of a file [man]
# find / -perm -u+s
view all files on the system with SUID configured [man]
# ls -lh
show permits on files [man]
# ls /tmp | pr -T5 -W$COLUMNS
divide terminal into 5 columns [man]
Special Attributes on files
Command
Description
# chattr +a file1
allows write opening of a file only append mode [man]
# chattr +c file1
allows that a file is compressed / decompressed automatically by the kernel [man]
# chattr +d file1
makes sure that the program ignores Dump the files during backup [man]
# chattr +i file1
makes it an immutable file, which can not be removed, altered, renamed or linked [man]
# chattr +s file1
allows a file to be deleted safely [man]
# chattr +S file1
makes sure that if a file is modified changes are written in synchronous mode as with sync [man]
# chattr +u file1
allows you to recover the contents of a file even if it is canceled [man]
# lsattr
show specials attributes [man]
Archives and compressed files
Command
Description
# bunzip2 file1.bz2
decompress a file called 'file1.bz2' [man]
# bzip2 file1
compress a file called 'file1' [man]
# gunzip file1.gz
decompress a file called 'file1.gz' [man]
# gzip file1
compress a file called 'file1' [man]
# gzip -9 file1
compress with maximum compression [man]
# rar a file1.rar test_file
create an archive rar called 'file1.rar' [man]
# rar a file1.rar file1 file2 dir1
compress 'file1', 'file2' and 'dir1' simultaneously [man]
# rar x file1.rar
decompress rar archive [man]
# tar -cvf archive.tar file1
create a uncompressed tarball [man]
# tar -cvf archive.tar file1 file2 dir1
create an archive containing 'file1', 'file2' and 'dir1' [man]
# tar -tf archive.tar
show contents of an archive [man]
# tar -xvf archive.tar
extract a tarball [man]
# tar -xvf archive.tar -C /tmp
extract a tarball into / tmp [man]
# tar -cvfj archive.tar.bz2 dir1
create a tarball compressed into bzip2 [man]
# tar -xvfj archive.tar.bz2
decompress a compressed tar archive in bzip2 [man]
# tar -cvfz archive.tar.gz dir1
create a tarball compressed into gzip [man]
# tar -xvfz archive.tar.gz
decompress a compressed tar archive in gzip [man]
# unrar x file1.rar
decompress rar archive [man]
# unzip file1.zip
decompress a zip archive [man]
# zip file1.zip file1
create an archive compressed in zip [man]
# zip -r file1.zip file1 file2 dir1
compress in zip several files and directories simultaneously [man]
RPM Packages ( Fedora, Red Hat and like)
Command
Description
# rpm -ivh [package.rpm]
install a rpm package [man]
# rpm -ivh --nodeeps [package.rpm]
install a rpm package ignoring dependencies requests [man]
# rpm -U [package.rpm]
upgrade a rpm package without changing configuration files [man]
# rpm -F [package.rpm]
upgrade a rpm package only if it is already installed [man]
# rpm -e [package]
remove a rpm package [man]
# rpm -qa
show all rpm packages installed on the system [man]
# rpm -qa | grep httpd
show all rpm packages with the name "httpd" [man]
# rpm -qi [package]
obtain information on a specific package installed [man]
# rpm -qg "System Environment/Daemons"
show rpm packages of a group software [man]
# rpm -ql [package]
show list of files provided by a rpm package installed [man]
# rpm -qc [package]
show list of configuration files provided by a rpm package installed [man]
# rpm -q [package] --whatrequires
show list of dependencies required for a rpm packet [man]
# rpm -q [package] --whatprovides
show capability provided by a rpm package [man]
# rpm -q [package] --scripts
show scripts started during installation / removal [man]
# rpm -q [package] --changelog
show history of revisions of a rpm package [man]
# rpm -qf /etc/httpd/conf/httpd.conf
verify which rpm package belongs to a given file [man]
# rpm -qp [package.rpm] -l
show list of files provided by a rpm package not yet installed [man]
# rpm --import /media/cdrom/RPM-GPG-KEY
import public-key digital signature [man]
# rpm --checksig [package.rpm]
verify the integrity of a rpm package [man]
# rpm -qa gpg-pubkey
verify integrity of all rpm packages installed [man]
# rpm -V [package]
check file size, permissions, type, owner, group, MD5 checksum and last modification [man]
# rpm -Va
check all rpm packages installed on the system - use with caution [man]
# rpm -Vp [package.rpm]
verify a rpm package not yet installed [man]
# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]
install a package built from a rpm source [man]
# rpm2cpio [package.rpm] | cpio --extract --make-directories *bin*
extract executable file from a rpm package [man]
# rpmbuild --rebuild [package.src.rpm]
build a rpm package from a rpm source [man]
YUM packages tool (Fedora, RedHat and alike)
Command
Description
# yum -y install [package]
download and install a rpm package [man]
# yum localinstall [package.rpm]
That will install an RPM, and try to resolve all the dependencies for you using your repositories. [man]
# yum -y update
update all rpm packages installed on the system [man]
# yum update [package]
upgrade a rpm package [man]
# yum remove [package]
remove a rpm package [man]
# yum list
list all packages installed on the system [man]
# yum search [package]
find a package on rpm repository [man]
# yum clean [package]
clean up rpm cache erasing downloaded packages [man]
# yum clean headers
remove all files headers that the system uses to resolve dependency [man]
# yum clean all
remove from the cache packages and headers files [man]
DEB packages (Debian, Ubuntu and like)
Command
Description
# dpkg -i [package.deb]
install / upgrade a deb package [man]
# dpkg -r [package]
remove a deb package from the system [man]
# dpkg -l
show all deb packages installed on the system [man]
# dpkg -l | grep httpd
show all deb packages with the name "httpd" [man]
# dpkg -s [package]
obtain information on a specific package installed on system [man]
# dpkg -L [package]
show list of files provided by a package installed on system [man]
# dpkg --contents [package.deb]
show list of files provided by a package not yet installed [man]
# dpkg -S /bin/ping
verify which package belongs to a given file [man]
APT packages tool (Debian, Ubuntu and alike)
Command
Description
# apt-cache search [package]
returns list of packages which corresponds string "searched-packages" [man]
# apt-cdrom install [package]
install / upgrade a deb package from cdrom [man]
# apt-get install [package]
install / upgrade a deb package [man]
# apt-get update
update the package list [man]
# apt-get upgrade
upgrade all of the installed packages [man]
# apt-get remove [package]
remove a deb package from system [man]
# apt-get check
verify correct resolution of dependencies [man]
# apt-get clean
clean up cache from packages downloaded [man]
Pacman packages tool (Arch, Frugalware and alike)
Command
Description
# pacman -S name
Install package 'name' with dependencies [man]
# pacman -R name
Delete package 'name' and all files of it [man]
View file content
Command
Description
# cat file1
view the contents of a file starting from the first row [man]
# head -2 file1
view first two lines of a file [man]
# less file1
similar to 'more' command but which allows backward movement in the file as well as forward movement [man]
# more file1
view content of a file along [man]
# tac file1
view the contents of a file starting from the last line [man]
# tail -2 file1
view last two lines of a file [man]
# tail -f /var/log/messages
view in real time what is added to a file [man]
Text Manipulation
Command
Description
# cat example.txt | awk 'NR%2==1'
remove all even lines from example.txt [man]
# echo a b c | awk '{print $1}'
view the first column of a line [man]
# echo a b c | awk '{print $1,$3}'
view the first and third column of a line [man]
# cat -n file1
number row of a file [man]
# comm -1 file1 file2
compare contents of two files by deleting only unique lines from 'file1' [man]
# comm -2 file1 file2
compare contents of two files by deleting only unique lines from 'file2' [man]
# comm -3 file1 file2
compare contents of two files by deleting only the lines that appear on both files [man]
# diff file1 file2
find differences between two files [man]
# grep Aug /var/log/messages
look up words "Aug" on file '/var/log/messages' [man]
# grep ^Aug /var/log/messages
look up words that begin with "Aug" on file '/var/log/messages' [man]
# grep [0-9] /var/log/messages
select from file '/var/log/messages' all lines that contain numbers [man]
# grep Aug -R /var/log/*
search string "Aug" at directory '/var/log' and below [man]
# paste file1 file2
merging contents of two files for columns [man]
# paste -d '+' file1 file2
merging contents of two files for columns with '+' delimiter on the center [man]
# sdiff file1 file2
find differences between two files and merge interactively alike "diff" [man]
# sed 's/string1/string2/g' example.txt
replace "string1" with "string2" in example.txt [man]
# sed '/^$/d' example.txt
remove all blank lines from example.txt [man]
# sed '/ *#/d; /^$/d' example.txt
remove comments and blank lines from example.txt [man]
# sed -e '1d' exampe.txt
eliminates the first line from file example.txt [man]
# sed -n '/string1/p'
view only lines that contain the word "string1" [man]
# sed -e 's/ *$//' example.txt
remove empty characters at the end of each row [man]
# sed -e 's/string1//g' example.txt
remove only the word "string1" from text and leave intact all [man]
# sed -n '1,5p' example.txt
print from 1th to 5th row of example.txt [man]
# sed -n '5p;5q' example.txt
print row number 5 of example.txt [man]
# sed -e 's/00*/0/g' example.txt
replace more zeros with a single zero [man]
# sort file1 file2
sort contents of two files [man]
# sort file1 file2 | uniq
sort contents of two files omitting lines repeated [man]
# sort file1 file2 | uniq -u
sort contents of two files by viewing only unique line [man]
# sort file1 file2 | uniq -d
sort contents of two files by viewing only duplicate line [man]
# echo 'word' | tr '[:lower:]' '[:upper:]'
convert from lower case in upper case [man]
Character set and Format file conversion
Command
Description
# dos2unix filedos.txt fileunix.txt
convert a text file format from MSDOS to UNIX [man]
# recode ..HTML < page.txt > page.html
convert a text file to html [man]
# recode -l | more
show all available formats conversion [man]
# unix2dos fileunix.txt filedos.txt
convert a text file format from UNIX to MSDOS [man]
Filesystem Analysis
Command
Description
# badblocks -v /dev/hda1
check bad blocks on disk hda1 [man]
# dosfsck /dev/hda1
repair / check integrity of dos filesystems on disk hda1 [man]
# e2fsck /dev/hda1
repair / check integrity of ext2 filesystem on disk hda1 [man]
# e2fsck -j /dev/hda1
repair / check integrity of ext3 filesystem on disk hda1 [man]
# fsck /dev/hda1
repair / check integrity of linux filesystem on disk hda1 [man]
# fsck.ext2 /dev/hda1
repair / check integrity of ext2 filesystem on disk hda1 [man]
# fsck.ext3 /dev/hda1
repair / check integrity of ext3 filesystem on disk hda1 [man]
# fsck.vfat /dev/hda1
repair / check integrity of fat filesystem on disk hda1 [man]
# fsck.msdos /dev/hda1
repair / check integrity of dos filesystem on disk hda1 [man]
Format a Filesystem
Command
Description
# fdformat -n /dev/fd0
format a floppy disk [man]
# mke2fs /dev/hda1
create a filesystem type linux ext2 on hda1 partition [man]
# mke2fs -j /dev/hda1
create a filesystem type linux ext3 (journal) on hda1 partition [man]
# mkfs /dev/hda1
create a filesystem type linux on hda1 partition [man]
# mkfs -t vfat 32 -F /dev/hda1
create a FAT32 filesystem [man]
# mkswap /dev/hda3
create a swap filesystem [man]
Filesystem SWAP
Command
Description
# mkswap /dev/hda3
create a swap filesystem [man]
# swapon /dev/hda3
activating a new swap partition [man]
# swapon /dev/hda2 /dev/hdb3
activate two swap partitions [man]
Backup
Command
Description
# find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
find all files with '.log' extention and make an bzip archive [man]
# find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
find and copy all files with '.txt' extention from a directory to another [man]
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
make a backup of a local hard disk on remote host via ssh [man]
# dd if=/dev/sda of=/tmp/file1
backup content of the harddrive to a file [man]
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1
make a copy of MBR (Master Boot Record) to floppy [man]
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1
restore MBR from backup copy saved to floppy [man]
# dump -0aj -f /tmp/home0.bak /home
make a full backup of directory '/home' [man]
# dump -1aj -f /tmp/home0.bak /home
make a incremental backup of directory '/home' [man]
# restore -if /tmp/home0.bak
restoring a backup interactively [man]
# rsync -rogpav --delete /home /tmp
synchronization between directories [man]
# rsync -rogpav -e ssh --delete /home ip_address:/tmp
rsync via SSH tunnel [man]
# rsync -az -e ssh --delete ip_addr:/home/public /home/local
synchronize a local directory with a remote directory via ssh and compression [man]
# rsync -az -e ssh --delete /home/local ip_addr:/home/public
synchronize a remote directory with a local directory via ssh and compression [man]
# tar -Puf backup.tar /home/user
make a incremental backup of directory '/home/user' [man]
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
copy content of a directory on remote directory via ssh [man]
# ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
copy a local directory on remote directory via ssh [man]
# tar cf - . | (cd /tmp/backup ; tar xf - )
local copy preserving permits and links from a directory to another [man]
CDROM
Command
Description
# cd-paranoia -B
rip audio tracks from a CD to wav files [man]
# cd-paranoia --
rip first three audio tracks from a CD to wav files [man]
# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
clean a rewritable cdrom [man]
# cdrecord -v dev=/dev/cdrom cd.iso
burn an ISO image [man]
# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
burn a compressed ISO image [man]
# cdrecord --scanbus
scan bus to identify the channel scsi [man]
# dd if=/dev/hdc | md5sum
perform an md5sum on a device, like a CD [man]
# mkisofs /dev/cdrom > cd.iso
create an iso image of cdrom on disk [man]
# mkisofs /dev/cdrom | gzip > cd_iso.gz
create a compressed iso image of cdrom on disk [man]
# mkisofs -J -allow-leading-dots -R -V
create an iso image of a directory [man]
# mount -o loop cd.iso /mnt/iso
mount an ISO image [man]
Networking (LAN / WiFi)
Command
Description
# dhclient eth0
active interface 'eth0' in dhcp mode [man]
# ethtool eth0
show network statistics of eth0 [man]
# host www.example.com
lookup hostname to resolve name to ip address and viceversa [man]
# hostname
show hostname of system [man]
# ifconfig eth0
show configuration of an ethernet network card [man]
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
configure IP Address [man]
# ifconfig eth0 promisc
configure 'eth0' in promiscuous mode to gather packets (sniffing) [man]
# ifdown eth0
disable an interface 'eth0' [man]
# ifup eth0
activate an interface 'eth0' [man]
# ip link show
show link status of all network interfaces [man]
# iwconfig eth1
show wireless networks [man]
# iwlist scan
wifi scanning to display the wireless connections available [man]
# mii-tool eth0
show link status of 'eth0' [man]
# netstat -tup
show all active network connections and their PID [man]
# netstat -tupl
show all network services listening on the system and their PID [man]
# netstat -rn
show routing table alike "route -n" [man]
# nslookup www.example.com
lookup hostname to resolve name to ip address and viceversa [man]
# route -n
show routing table [man]
# route add -net 0/0 gw IP_Gateway
configure default gateway [man]
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
configure static route to reach network '192.168.0.0/16' [man]
# route del 0/0 gw IP_gateway
remove static route [man]
# echo "1" > /proc/sys/net/ipv4/ip_forward
activate ip routing temporarily [man]
# tcpdump tcp port 80
show all HTTP traffic [man]
# whois www.example.com
lookup on Whois database [man]
Microsoft Windows networks (samba)
Command
Description
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
mount a windows network share [man]
# nbtscan ip_addr
netbios name resolution [man]
# nmblookup -A ip_addr
netbios name resolution [man]
# smbclient -L ip_addr/hostname
show remote shares of a windows host [man]
# smbget -Rr smb://ip_addr/share
like wget can download files from a host windows via smb [man]
IPTABLES (firewall)
Command
Description
# iptables -t filter -L
show all chains of filtering table [man]
# iptables -t nat -L
show all chains of nat table [man]
# iptables -t filter -F
clear all rules from filtering table [man]
# iptables -t nat -F
clear all rules from table nat [man]
# iptables -t filter -X
delete any chains created by user [man]
# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
allow telnet connections to input [man]
# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
block HTTP connections to output [man]
# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
allow POP3 connections to forward chain [man]
# iptables -t filter -A INPUT -j LOG --log-prefix
Logging on input chain [man]
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
configure a PAT (Port Address Traslation) on eth0 masking outbound packets [man]
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22
redirect packets addressed to a host to another host [man]
Monitoring and debugging
Command
Description
# free -m
displays status of RAM in megabytes [man]
# kill -9 process_id
force closure of the process and finish it [man]
# kill -1 process_id
force a process to reload configuration [man]
# last reboot
show history reboot [man]
# lsmod
display kernel loaded [man]
# lsof -p process_id
display a list of files opened by processes [man]
# lsof /home/user1
displays a list of open files in a given path system [man]
# ps -eafw
displays linux tasks [man]
# ps -e -o pid,args --forest
displays linux tasks in a hierarchical mode [man]
# pstree
Shows a tree system processes [man]
# smartctl -A /dev/hda
monitoring reliability of a hard-disk through SMART [man]
# smartctl -i /dev/hda
check if SMART is active on a hard-disk [man]
# strace -c ls >/dev/null
display system calls made and received by a process [man]
# strace -f -e open ls >/dev/null
display library calls [man]
# tail /var/log/dmesg
show events inherent to the process of booting kernel [man]
# tail /var/log/messages
show system events [man]
# top
display linux tasks using most cpu [man]
# watch -n1 'cat /proc/interrupts'
display interrupts in real-time [man]
Others useful commands
Command
Description
# alias hh='history'
set an alias for a command - hh = history [man]
# 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 [man]
# chsh
change shell command [man]
# chsh --list-shells
nice command to know if you have to remote into another box [man]
# gpg -c file1
encrypt a file with GNU Privacy Guard [man]
# gpg file1.gpg
decrypt a file with GNU Privacy Guard [man]
# ldd /usr/bin/ssh
show shared libraries required by ssh program [man]
# man ping
display the on-line manual pages for example on ping command - use '-k' option to find any related commands [man]
# mkbootdisk --device /dev/fd0 `uname -r`
create a boot floppy [man]
# wget -r www.example.com
download an entire web site [man]
# wget -c www.example.com/file.iso
download a file with the ability to stop the download and resume later [man]
# echo 'wget -c www.example.com/files.iso' | at 09:00
start a download at any given time [man]
# whatis ...keyword
displays description of what a program does [man]
# 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 [man]