Linux Commands
Linux Commands
Linux Commands
1
last updates 06 Jan 2008 06.54 pm
check for updates at
http://www.linuxguide.it/cmd_ver.php?v=1.1
COMMAND DESCRIPTION
System information
arch
show architecture of the machine
uname m
uname r show kernel version used
dmidecode q show hardware system components (SMBIOS / DMI)
hdparm i /dev/hda displays the characteristics of a harddisk
hdparm tT /dev/sda perform test reading on a hard-disk
cat /proc/cpuinfo shows 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)
lspci tv display PCI devices
lsusb tv show USB devices
date show system date
cal 2007 show the timetable of 2007
date 041217002007.00 set date and time MonthDayhoursMinutesYear.Seconds
clock w
save changes of date on BIOS
linux commands line v1.1 www.LinuxGuide.it
Shutdown, Restart of a system and Logout
shutdown h now
shutdown system
init 0
shutdown r hours:minutes & planned shutdown of the system
shutdown c cancel a planned shutdown of the system
shutdown r now reboot
reboot reboot
logout leaving session
linux commands line v1.1 www.LinuxGuide.it
Files and Directory
cd /home enter to directory '/ home'
cd .. go back one level
cd ../.. go back two levels
cd go to home directory
cd ~utente go to home directory
cd go to previous directory
pwd show the path of work 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 *[09]* show files and directory containing numbers
tree
show files and directories in a tree starting from root
lstree
mkdir dir1 create a directory called 'dir1'
mkdir dir1 dir2 create two directories simultaneously
mkdir p /tmp/dir1/dir2 create a directory tree
rm f file1 delete file called 'file1'
rmdir dir1 delete directory called 'dir1'
rm rf dir1 remove a directory called 'dir1' and contents recursively
rm rf dir1 dir2 remove two directories and their contents recursively
mv dir1 new_dir rename / move a file or 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
ln s file1 lnk1 create a symbolic link to file or directory
ln file1 lnk1 create a physical link to file or directory
touch t 0712250000 fileditest
modify timestamp of a file or directory (YYMMDDhhmm)
linux commands line v1.1 www.LinuxGuide.it
File search
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 bynary 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, pendrive, 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
linux commands line v1.1 www.LinuxGuide.it
Mounting a Filesystem
mount /dev/hda2 /mnt/hda2 mount disk called hda2 verify existence of the directory '/
mnt/hda2'
umount /dev/hda2 unmount disk called hda2 exit from mount point '/
mnt/hda2' first
fuser km /mnt/hda2 force umount when the device is busy
umount n /mnt/hda2 run umount without writing the file /etc/mtab useful when
the file is readonly or the hard disk is full
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 pendrive or flashdrive
mount t smbfs o username=user,password=pass
//winclient/share /mnt/share mount a windows network share
linux commands line v1.1 www.LinuxGuide.it
Disk Space
df h show list of partitions mounted
ls lSr |more show size of the files and directories ordered by size
du sh dir1 estimate space used by directory 'dir1'
du sk * | sort rn show size of the files and directories sorted by size
rpm q a qf '%10{SIZE}\t%{NAME}\n' | sort k1,1n show space used by rpm packages installed sorted by size
(fedora, redhat and like)
dpkgquery W f='${InstalledSize;10}\t${Package}\n' show space used by deb packages installed sorted by size
| sort k1,1n (ubuntu, debian and like)
linux commands line v1.1 www.LinuxGuide.it
Users and Groups
groupadd group_name create a new group
groupdel group_name delete a group
groupmod n new_group_name old_group_name rename a group
useradd c "Nome Cognome" g admin d /home/user1 s
/bin/bash user1 create a new user belongs "admin" group
useradd user1 create a new user
userdel r user1 delete a user ( 'r' eliminates home directory)
usermod c "User FTP" g system d /ftp/user1 s
/bin/nologin user1 change user attributes
passwd change password
passwd user1 change a user password (only by root)
chage E 20051231 user1 set deadline for user password
pwck check correct syntax and file format of '/etc/passwd' and
users existence
grpck check correct syntax and file format of '/etc/group' and
groups existence
newgrp group_name log in to a new group to change default group of newly
created files
linux commands line v1.1 www.LinuxGuide.it
Permits on File use "+" to set permissions and "" to
remove
ls lh show permits
ls /tmp | pr T5 W$COLUMNS divide terminal into 5 columns
chmod ugo+rwx directory1 set permissions reading (r), write (w) and (x) access to users
owner (u) group (g) and others (o)
chmod gorwx directory1 remove permits reading (r), write (w) and (x) access to users
group (g) and others (or
chown user1 file1 change owner of a file
chown user1 R directory1 change user owner of a directory and all the files and
directories contained inside
chgrp gruppo1 file1 change group of files
chown user1:gruppo1 file1 change user and group ownership of a file
find / perm u+s view all files on the system with SUID configured
chmod u+s /bin/file_eseguibile set SUID bit on a binary file the user that running that file
gets same privileges as owner
chmod us /bin/file_binario disable SUID bit on a binary file
chmod g+s /home/public
set SGID bit on a directory similar to SUID but for directory
chmod gs /home/public disable SGID bit on a directory
chmod o+t /home/comune set STIKY bit on a directory allows files deletion only to
legitimate owners
chmod ot /home/comune disable STIKY bit on a directory
linux commands line v1.1 www.LinuxGuide.it
Special Attributes on file use "+" to set permissions
and "" to remove
chattr +a file1 allows write opening of a file only append mode
chattr +c file1 allows that a file is compressed / decompressed automatically
by the kernel
chattr +d file1 makes sure that the program ignores Dump the files during
backup
chattr +i file1 makes it an immutable file, which can not be removed,
altered, renamed or linked
chattr +s file1 allows a file to be deleted safely
chattr +S file1 makes sure that if a file is modified changes are written in
synchronous mode as with sync
chattr +u file1 allows you to recover the contents of a file even if it is
canceled
lsattr show specials attributes
linux commands line v1.1 www.LinuxGuide.it
Archives and compressed files
bunzip2 file1.bz2 decompress a file called 'file1.bz2'
bzip2 file1 compress a file called 'file1'
gunzip file1.gz decompress a file called 'file1.gz'
gzip file1 compress a file called 'file1'
gzip 9 file1 compress with maximum compression
rar a file1.rar test_file create an archive rar called 'file1.rar'
rar a file1.rar file1 file2 dir1 compress 'file1', 'file2' and 'dir1' simultaneously
rar x file1.rar decompress rar archive
unrar x file1.rar decompress rar archive
tar cvf archive.tar file1 create a uncompressed tarball
tar cvf archive.tar file1 file2 dir1 create an archive containing 'file1', 'file2' and 'dir1'
tar tf archive.tar show contents of an archive
tar xvf archive.tar extract a tarball
tar xvf archive.tar C /tmp extract a tarball into / tmp
tar cvfj archive.tar.bz2 dir1 create a tarball compressed into bzip2
tar xvfj archive.tar.bz2 decompress a compressed tar archive in bzip2
tar cvfz archive.tar.gz dir1 create a tarball compressed into gzip
tar xvfz archive.tar.gz decompress a compressed tar archive in gzip
zip file1.zip file1 create an archive compressed in zip
zip r file1.zip file1 file2 dir1
compress in zip several files and directories simultaneously
unzip file1.zip decompress a zip archive
linux commands line v1.1 www.LinuxGuide.it
RPM Packages Fedora, Red Hat and like
rpm ivh package.rpm install a rpm package
rpm ivh nodeeps package.rpm install a rpm package ignoring dependencies requests
rpm U package.rpm
upgrade a rpm package without changing configuration files
rpm F package.rpm upgrade a rpm package only if it is already installed
rpm e package_name.rpm remove a rpm package
rpm qa show all rpm packages installed on the system
rpm qa | grep httpd show all rpm packages with the name "httpd"
rpm qi package_name obtain information on a specific package installed
rpm qg "System Environment/Daemons" show rpm packages of a group software
rpm ql package_name show list of files provided by a rpm package installed
rpm qc package_name show list of configuration files provided by a rpm pa
ckage
installed
rpm q package_name whatrequires show list of dependencies required for a rpm packet
rpm q package_name whatprovides show capability provided by a rpm package
rpm q package_name scripts show scripts started during installation / removal
rpm q package_name changelog show history of revisions of a rpm package
rpm qf /etc/httpd/conf/httpd.conf verify which rpm package belongs to a given file
rpm qp package.rpm l
show list of files provided by a rpm package not yet installed
rpm import /media/cdrom/RPMGPGKEY import publickey digital signature
rpm checksig package.rpm verify the integrity of a rpm package
rpm qa gpgpubkey verify integrity of all rpm packages installed
rpm V package_name check file size, permissions, type, owner, group, MD5
checksum and last modification
rpm Va check all rpm packages installed on the system use with
caution
rpm Vp package.rpm verify a rpm package not yet installed
rpm2cpio package.rpm | cpio extract make
directories *bin* extract executable file from a rpm package
rpm ivh /usr/src/redhat/RPMS/`arch`/package.rpm install a package built from a rpm source
rpmbuild rebuild package_name.src.rpm build a rpm package from a rpm source
linux commands line v1.1 www.LinuxGuide.it
YUM packages updater Fedora, RedHat and like
yum install package_name download and install a rpm package
yum update update all rpm packages installed on the system
yum update package_name upgrade a rpm package
yum remove package_name remove a rpm package
yum list list all packages installed on the system
yum search package_name find a package on rpm repository
yum clean packages clean up rpm cache erasing downloaded packages
yum clean headers remove all files headers that the system uses to resolve
dependency
yum clean all remove from the cache packages and headers files
linux commands line v1.1 www.LinuxGuide.it
DEB packages Debian, Ubuntu and like
dpkg i package.deb install / upgrade a deb package
dpkg r package_name remove a deb package from the system
dpkg l show all deb packages installed on the system
dpkg l | grep httpd show all rpm packages with the name "httpd"
dpkg s package_name
obtain information on a specific package installed on system
dpkg L package_name
show list of files provided by a package installed on system
dpkg contents package.deb show list of files provided by a package not yet installed
dpkg S /bin/ping verify which package belongs to a given file
linux commands line v1.1 www.LinuxGuide.it
APT packages updater Debian, Ubuntu e like
aptget install package_name install / upgrade a deb package
aptcdrom install package_name install / upgrade a deb package from cdrom
aptget update update all deb packages installed on system
aptget remove package_name remove a deb package from system
aptget check verify correct resolution of dependencies
aptget clean clean up cache from packages downloaded
linux commands line v1.1 www.LinuxGuide.it
View file content
cat file1 view the contents of a file starting from the first row
tac file1 view the contents of a file starting from the last line
more file1 view content of a file along
less file1 similar to 'more' command but which allows backward
movement in the file as well as forward movement
head 2 file1 view first two lines of a file
tail 2 file1 view last two lines of a file
tail f /var/log/messages view in real time what is added to a file
linux commands line v1.1 www.LinuxGuide.it
Text Manipulation
cat file_test | [operation: sed, grep, awk, grep, syntax to elaborate the text of a file, and write result to a new
etc] > result.txt file
cat file_originale | [operazione: sed, grep, awk, syntax to elaborate the text of a file and append result onto
grep, etc] >> result.txt existing file
grep Aug /var/log/messages look up words "Aug" in the file onto 'messages'
grep ^Aug /var/log/messages look up words that begin with "Aug" onto file 'messages'
grep [09] /var/log/messages select from file 'messages' all lines that contain numbers
grep Aug R /var/log/* search string "Aug" at directory '/var/log' and below
sed 's/stringa1/stringa2/g' example.txt replace "string1" with "string2" onto example.txt
sed '/^$/d' example.txt remove all blank lines from example.txt
sed '/ *#/d; /^$/d' example.txt remove comments and blank lines from example.txt
echo 'esempio' | tr '[:lower:]' '[:upper:]' convert from lower case in upper case
sed e '1d' result.txt eliminates the first line from file example.txt
sed n '/stringa1/p' view only lines that contain the word "string1"
sed e 's/ *$//' example.txt remove empty characters at the end of each row
sed e 's/stringa1//g' example.txt
remove only the word "string1" from text and leave intact all
sed n '1,5p;5q' example.txt view from 1th to 5th row
sed n '5p;5q' example.txt view row number 5
sed e 's/00*/0/g' example.txt replace more zeros with a single zero
cat n file1 number row of a file
cat example.txt | awk 'NR%2==1' remove all lines even from example.txt
echo a b c | awk '{print $1}' view the first column of line
echo a b c | awk '{print $1,$3}' view the first and third column of line
paste file1 file2 merging contents of two files for columns
paste d '+' file1 file2 merging contents of two files for columns with '+' delimiter
on the center
sort file1 file2 sort contents of two files
sort file1 file2 | uniq sort contents of two files omitting lines repeated
sort file1 file2 | uniq u sort contents of two files by viewing only unique line
sort file1 file2 | uniq d sort contents of two files by viewing only duplicate line
comm 1 file1 file2 compare contents of two files by deleting only unique lines
from 'file1'
comm 2 file1 file2 compare contents of two files by deleting only unique lines
from 'file2'
comm 3 file1 file2 compare contents of two files by deleting only the lines that
appear on both files
linux commands line v1.1 www.LinuxGuide.it
Character set and Format file conversion
dos2unix filedos.txt fileunix.txt convert a text file format from MSDOS to UNIX
unix2dos fileunix.txt filedos.txt convert a text file format from UNIX to MSDOS
recode ..HTML < page.txt > page.html convert a text file to html
recode l | more show all available formats conversion
linux commands line v1.1 www.LinuxGuide.it
Filesystem Analysis
badblocks v /dev/hda1 check bad blocks onto 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
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.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
dosfsck /dev/hda1 repair / check integrity of dos filesystems on disk hda1
linux commands line v1.1 www.LinuxGuide.it
Format a Filesystem
mkfs /dev/hda1 create a filesystem type linux on hda1 partition
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 t vfat 32 F /dev/hda1 create a FAT32 filesystem
fdformat n /dev/fd0 format a floppy disk
mkswap /dev/hda3 create a swap filesystem
linux commands line v1.1 www.LinuxGuide.it
SWAP filesystem
mkswap /dev/hda3 create a swap filesystem
swapon /dev/hda3 activating a new swap partition
swapon /dev/hda2 /dev/hdb3 activate two swap partitions
linux commands line v1.1 www.LinuxGuide.it
Backup
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 ip_address:/tmp rsync via SSH tunnel
rsync az e ssh delete ip_addr:/home/public synchronize a local directory with a remote directory via ssh
/home/local and compression
rsync az e ssh delete /home/local synchronize a remote directory with a local directory via ssh
ip_addr:/home/public and compression
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
tar Puf backup.tar /home/user make a incremental backup of directory '/home/user'
( 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
( tar c /home ) | ssh C user@ip_addr 'cd
/home/backuphome && tar x p' copy a local directory on remote directory via ssh
tar cf . | (cd /tmp/backup ; tar xf ) local copy preserving permits and links from a directory to
another
find /home/user1 name '*.txt' | xargs cp av find and copy all files with '.txt' extention from a directory to
targetdirectory=/home/backup/ parents another
find /var/log name '*.log' | tar cv filesfrom= |
bzip2 > log.tar.bz2 find all files with '.log' extention and make an bzip archive
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 make a copy of MBR (Master Boot Record) to floppy
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 restore MBR from backup copy saved to floppy
linux commands line v1.1 www.LinuxGuide.it
CDROM
cdrecord v gracetime=2 dev=/dev/cdrom eject
blank=fast force clean a rewritable cdrom
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 allowleadingdots R V "Label CD" iso
level 4 o ./cd.iso data_cd create an iso image of a directory
cdrecord v dev=/dev/cdrom cd.iso burn an ISO image
gzip dc cd_iso.gz | cdrecord dev=/dev/cdrom burn a compressed ISO image
mount o loop cd.iso /mnt/iso mount an ISO image
cdparanoia B rip audio tracks from a CD to wav files
cdparanoia "3" rip first three audio tracks from a CD to wav files
cdrecord scanbus scan bus to identify the channel scsi
linux commands line v1.1 www.LinuxGuide.it
Networking LAN and WiFi
ifconfig eth0 show configuration of an ethernet network card
ifup eth0 activate an interface 'eth0'
ifdown eth0 disable an interface 'eth0'
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 configure IP Address
ifconfig eth0 promisc configure 'eth0' in promiscuous mode to gather packets
(sniffing)
dhclient eth0 active interface 'eth0' in dhcp mode
route n show routing table
route add net 0/0 gw IP_Gateway configura default gateway
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'
route del 0/0 gw IP_gateway remove static route
echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname
host www.linuxguide.it
lookup hostname to resolve name to ip address and viceversa
ip link show show link status of all interfaces
miitool eth0 show link status of 'eth0'
ethtool eth0 show statistics of network card 'eth0'
netstat tup show all active network connections and their PID
netstat tupl show all network services listening on the system and their
PID
tcpdump tcp port 80 show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
linux commands line v1.1 www.LinuxGuide.it
Microsoft Windows networks SAMBA
nbtscan ip_addr netbios name resolution
nmblookup A ip_addr netbios name resolution
smbclient L ip_addr/hostname show remote shares of a windows host
smbget Rr smb://ip_addr/share
like wget can download files from a host windows via smb
mount t smbfs o username=user,password=pass
//winclient/share /mnt/share mount a windows network share
linux commands line v1.1 www.LinuxGuide.it
IPTABLES firewall
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 dport telnet j
ACCEPT allow telnet connections to input
iptables t filter A OUTPUT p tcp dport http j
DROP block HTTP connections to output
iptables t filter A FORWARD p tcp dport pop3 j
ACCEPT allow POP3 connections to forward chain
iptables t filter A INPUT j LOG logprefix "DROP
INPUT" logging sulla chain di input Logging on chain input
iptables t nat A POSTROUTING o eth0 j MASQUERADE configure a PAT (Port Address Traslation) on eth0 masking
outbound packets
iptables t nat A PREROUTING d 192.168.0.1 p tcp
m tcp dport 22 j DNAT todestination
10.0.0.2:22 redirect packets addressed to a host to another host
linux commands line v1.1 www.LinuxGuide.it
Monitoring and debugging
top display linux tasks using most cpu
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
kill 9 ID_Processo force closure of the process and finish it
kill 1 ID_Processo force a process to reload configuration
lsof p $$ display a list of files opened by processes
lsof /home/user1 displays a list of open files in a given path system
strace c ls >/dev/null display system calls made and received by a process
strace f e open ls >/dev/null display library calls
watch n1 'cat /proc/interrupts' display interrupts in realtime
last reboot show history reboot
lsmod display kernel loaded
free m displays status of RAM in megabytes
smartctl A /dev/hda monitoring reliability of a harddisk through SMART
smartctl i /dev/hda check if SMART is active on a harddisk
tail /var/log/dmesg show events inherent to the process of booting kernel
tail /var/log/messages show system events
linux commands line v1.1 www.LinuxGuide.it
Other useful commands
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 ping display the online manual pages for example on ping
command
whatis …keyword displays description of what a program does
mkbootdisk device /dev/fd0 `uname r` create a boot floppy
gpg c file1 encrypt a file with GNU Privacy Guard
gpg file1.gpg decrypt a file with GNU Privacy Guard
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 www.example.com/files.iso' | at 09:00 start a download at any given time
ldd ssh show shared libraries required by ssh program
alias hh='history' set an alias for a command hh = history
linux commands line v1.1 www.LinuxGuide.it www.LinuxGuide.it
Notes on responsibility.
LinuxGuide.it assumes no responsibility and in no
case can be attributed to physical damage, moral or
otherwise caused by content, by command, from
configurations and any other content published on
www.linuxguide.it or copies of the same content
distributed by third parties.