List of Linux and Unix commands
Here is a list of Linux and Unix commands which will be useful for you. These commands can be used as a quick reference
to simplify your Linux or Unix using experience. The commands are categorized into different categories depending
upon the operation of the command. Almost commands of every type are listed here. The commands are listed with their
category , command and the operation it does. The list goes as follows..
File Commands
ls : directory listing
ls -al : formatted listing with hidden files
cd dir : change directory to dir
cd : change to home
pwd : show current directory
mkdir dir : create a directory dir
rm file : delete file
rm -r dir : delete directory dir
rm -f file : force remove file
rm -rf dir : force remove directory dir
cp file1 file2 : copy file1 to file2
cp -r dir1 dir2 : copy dir1 to dir2; create dir2 if it doesnt exist
mv file1 file2 : rename or move file1 to file2 if file2 is an existing directory, moves file1 into directory file2
ln -s file link : create symbolic link link to file
touch file : create or update file
cat > file : places standard input into file
more file : output the contents of file
head file : output the first 10 lines of file
tail file : output the last 10 lines of file
tail -f file : output the contents of file as it grows, starting with the last 10 lines
Process Management
ps : display your currently active processes
top : display all running processes
kill pid : kill process id pid
killall proc : kill all processes named proc
bg : lists stopped or background jobs; resume a stopped job in the background
fg : brings the most recent job to foreground
fg n : brings job n to the foreground
File Permissions
chmod octal file change the permissions of file to octal, which can be found separately for user, group, and world
by adding: 4 read (r), 2 write (w), 1 execute (x)
Examples:
chmod 777 read, write, execute for all
chmod 755 rwx for owner, rx for group and world
For more options, see man chmod.
SSH
ssh user@host : connect to host as user
ssh -p port user@host : connect to host on port port as user
ssh-copy-id user@host : add your key to host for user to enable a keyed or passwordless login
Searching
grep pattern files : search for pattern in files
grep -r pattern dir : search recursively for pattern in dir
command | grep pattern : search for pattern in the output of command
locate file : find all instances of file
System Info
date : show the current date and time
cal : show this months calendar
uptime : show current uptime
w : display who is online
whoami : who you are logged in as
finger user : display information about user
uname -a : show kernel information
cat /proc/cpuinfo : cpu information
cat /proc/meminfo : memory information
man command : show the manual for command
df : show disk usage
du : show directory space usage
free : show memory and swap usage
whereis app : show possible locations of app
which app : show which app will be run by default
Compression
tar cf file.tar files : create a tar named file.tar containing files
tar xf file.tar : extract the files from file.tar
tar czf file.tar.gz files : create a tar with Gzip compression
tar xzf file.tar.gz : extract a tar using Gzip
tar cjf file.tar.bz2 : create a tar with Bzip2 compression
tar xjf file.tar.bz2 : extract a tar using Bzip2
gzip file : compresses file and renames it to file.gz
gzip -d file.gz : decompresses file.gz back to file
Network
ping host : ping host and output results
whois domain : get whois information for domain
dig domain : get DNS information for domain
dig -x host : reverse lookup host
wget file : download file
wget -c file : continue a stopped download
Installation
Install from source:
./configure
make
make install
dpkg -i pkg.deb : install a package (Debian)
rpm -Uvh pkg.rpm : install a package (RPM)
Shortcuts
Ctrl+C halts the current command
Ctrl+Z stops the current command, resume with fg in the foreground or bg in the background
Ctrl+D log out of current session, similar to exit
Ctrl+W erases one word in the current line
Ctrl+U erases the whole line
Ctrl+R type to bring up a recent command
!! repeats the last command
exit log out of current session
Linux Commands
mkdir - make directories
Usage
mkdir [OPTION] DIRECTORY
Options
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options
too.
-m, mode=MODE set permission mode (as in chmod), not rwxrwxrwx umask
-p, parents no error if existing, make parent directories as needed
-v, verbose print a message for each created directory
-help display this help and exit
-version output version information and exit
cd - change directories
Use cd to change directories. Type cd followed by the name of a directory
to access that directory.Keep in mind that you are always in a directory
and can navigate to directories hierarchically above or below.
mv- change the name of a directory
Type mv followed by the current name of a directory and the new name of
the directory.
Ex: mv testdir newnamedir
pwd - print working directory
will show you the full path to the directory you are currently in. This is
very handy to use, especially when performing some of the other
commands on this page
rmdir - Remove an existing directory
rm -r
Removes directories and files within the directories recursively.
chown - change file owner and group
Usage
chown [OPTION] OWNER[:[GROUP]] FILE
chown [OPTION] :GROUP FILE
chown [OPTION] --reference=RFILE FILE
Options
Change the owner and/or group of each FILE to OWNER and/or
GROUP. With --reference, change the owner and group of each FILE to
those of RFILE.
-c, changes like verbose but report only when a change is made
-dereference affect the referent of each symbolic link, rather than the
symbolic link itself
-h, no-dereference affect each symbolic link instead of any referenced file
(useful only on systems that can
change the ownership of a symlink)
-from=CURRENT_OWNER:CURRENT_GROUP
change the owner and/or group of each file only if its current owner
and/or group match those specified here. Either may be omitted, in
which case a match is not required for the omitted attribute.
-no-preserve-root do not treat `/' specially (the default)
-preserve-root fail to operate recursively on `/'
-f, -silent, -quiet suppress most error messages
-reference=RFILE use RFILE's owner and group rather than the specifying
OWNER:GROUP values
-R, -recursive operate on files and directories recursively
-v, -verbose output a diagnostic for every file processed
The following options modify how a hierarchy is traversed when the -R
option is also specified. If more than one is specified, only the final one
takes effect.
-H
if a command line argument is a symbolic link to a directory,
traverse it
-L
traverse every symbolic link to a directory encountered
-P
do not traverse any symbolic links (default)
chmod - change file access permissions
Usage
chmod [-r] permissions filenames
r Change the permission on files that are in the subdirectories of the
directory that you are currently in.
permission Specifies the rights
that are being granted. Below is the different rights that you can grant in
an alpha numeric format.filenames File or directory that you are
associating the rights with Permissions
u - User who owns the file.
g - Group that owns the file.
o - Other.
a - All.
r - Read the file.
w - Write or edit the file.
x - Execute or run the file as a program.
Numeric Permissions:
CHMOD can also to attributed by using Numeric Permissions:
400 read by owner
040 read by group
004 read by anybody (other)
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody
ls - Short listing of directory contents
-a
list hidden files
-d
list the name of the current directory
-F
show directories with a trailing '/'
executable files with a trailing '*'
-g
show group ownership of file in long listing
-i
print the inode number of each file
-l
long listing giving details about files and directories
-R
list all subdirectories encountered
-t
sort by time modified instead of name
cp - Copy files
cp myfile yourfile
Copy the files "myfile" to the file "yourfile" in the current working
directory. This command will create the file "yourfile" if it doesn't exist. It
will normally overwrite it without warning if it exists.
cp -i myfile yourfile
With the "-i" option, if the file "yourfile" exists, you will be prompted
before it is overwritten.
cp -i /data/myfile
Copy the file "/data/myfile" to the current working directory and name it
"myfile". Prompt before overwriting the file.
cp -dpr srcdir destdir
Copy all files from the directory "srcdir" to the directory "destdir"
preserving links (-poption), file attributes (-p option), and copy
recursively (-r option). With these options, a directory and all it contents
can be copied to another dir
ln - Creates a symbolic link to a file.
ln -s test symlink
Creates a symbolic link named symlink that points to the file test Typing
"ls -i test symlink" will show the two files are different with different
inodes. Typing "ls -l test symlink" will show that symlink points to the file
test.
locate - A fast database driven file locator.
slocate -u
This command builds the slocate database. It will take several minutes to
complete this command.This command must be used before searching for
files, however cron runs this command periodically on most
systems.locate whereis Lists all files whose names contain the string
"whereis". directory.
more - Allows file contents or piped output to be sent to the screen one
page at a time
less - Opposite of the more command
cat - Sends file contents to standard output. This is a way to list the
contents of short files to the screen. It works well with piping.
whereis - Report all known instances of a command
wc - Print byte, word, and line counts
bg
bg jobs Places the current job (or, by using the alternative form, the
specified jobs) in the background, suspending its execution so that a new
user prompt appears immediately. Use the jobs command to discover the
identities of background jobs.
cal month year - Prints a calendar for the specified month of the
specified year.
cat files - Prints the contents of the specified files.
clear - Clears the terminal screen.
cmp file1 file2 - Compares two files, reporting all discrepancies. Similar
to the diffcommand, though the output format differs.
diff file1 file2 - Compares two files, reporting all discrepancies. Similar
to the cmpcommand, though the output format differs.
dmesg - Prints the messages resulting from the most recent system
boot.
fg
fg jobs - Brings the current job (or the specified jobs) to the foreground.
file files - Determines and prints a description of the type of each
specified file.
find path -name pattern -print
Searches the specified path for files with names matching the specified
pattern (usually enclosed in single quotes) and prints their names.
The find command has many other arguments and functions;
.
ftp hostname
Opens an FTP connection to the specified host, allowing files to be
transferred. The FTP program provides subcommands for accomplishing
file transfers; see the online documentation.
head files - Prints the first several lines of each specified file.
ispell files - Checks the spelling of the contents of the specified files.
kill process_ids
kill - signal process_ids
kill -l
Kills the specified processes, sends the specified processes the specified
signal (given as a number or name), or prints a list of available signals.
killall program
killall - signal program
Kills all processes that are instances of the specified program or sends the
specified signal to all processes that are instances of the specified
program.
mail - Launches a simple mail client that permits sending and receiving
email messages.
man title
man section title - Prints the specified man page.
ping host - Sends an echo request via TCP/IP to the specified host. A
response confirms that the host is operational.
reboot - Reboots the system (requires root privileges).
shutdown minutes
shutdown -r minutes
Shuts down the system after the specified number of minutes elapses
(requiresroot privileges). The -r option causes the system to be rebooted
once it has shut down.
sleep time - Causes the command interpreter to pause for the specified
number of seconds.
sort files - Sorts the specified files. The command has many useful
arguments; see the online documentation.
split file - Splits a file into several smaller files. The command has many
arguments; see the online documentation
sync - Completes all pending input/output operations
(requires root privileges).
telnet host - Opens a login session on the specified host.
top - Prints a display of system processes that's continually updated until
the user presses the q key.
traceroute host - Uses echo requests to determine and print a network
path to the host.
uptime - Prints the system uptime.
w - Prints the current system users.
wall - Prints a message to each user except those who've disabled
message reception. Type Ctrl-D to end the message.
File Commands
ls : directory listing
ls -al : formatted listing with hidden files
cd dir : change directory to dir
cd : change to home
pwd : show current directory
mkdir dir : create a directory dir
rm file : delete file
rm -r dir : delete directory dir
rm -f file : force remove file
rm -rf dir : force remove directory dir
cp file1 file2 : copy file1 to file2
cp -r dir1 dir2 : copy dir1 to dir2; create dir2 if it doesnt exist
mv file1 file2 : rename or move file1 to file2 if file2 is an existing directory, moves file1 into directory file2
ln -s file link : create symbolic link link to file
touch file : create or update file
cat > file : places standard input into file
more file : output the contents of file
head file : output the first 10 lines of file
tail file : output the last 10 lines of file
tail -f file : output the contents of file as it grows, starting with the last 10 lines
Process Management
ps : display your currently active processes
top : display all running processes
kill pid : kill process id pid
killall proc : kill all processes named proc
bg : lists stopped or background jobs; resume a stopped job in the background
fg : brings the most recent job to foreground
fg n : brings job n to the foreground
File Permissions
chmod octal file change the permissions of file to octal, which can be found separately for user, group, and world
by adding: 4 read (r), 2 write (w), 1 execute (x)
Examples:
chmod 777 read, write, execute for all
chmod 755 rwx for owner, rx for group and world
For more options, see man chmod.
SSH
ssh user@host : connect to host as user
ssh -p port user@host : connect to host on port port as user
ssh-copy-id user@host : add your key to host for user to enable a keyed or passwordless login
Searching
grep pattern files : search for pattern in files
grep -r pattern dir : search recursively for pattern in dir
command | grep pattern : search for pattern in the output of command
locate file : find all instances of file
System Info
date : show the current date and time
cal : show this months calendar
uptime : show current uptime
w : display who is online
whoami : who you are logged in as
finger user : display information about user
uname -a : show kernel information
cat /proc/cpuinfo : cpu information
cat /proc/meminfo : memory information
man command : show the manual for command
df : show disk usage
du : show directory space usage
free : show memory and swap usage
whereis app : show possible locations of app
which app : show which app will be run by default
Compression
tar cf file.tar files : create a tar named file.tar containing files
tar xf file.tar : extract the files from file.tar
tar czf file.tar.gz files : create a tar with Gzip compression
tar xzf file.tar.gz : extract a tar using Gzip
tar cjf file.tar.bz2 : create a tar with Bzip2 compression
tar xjf file.tar.bz2 : extract a tar using Bzip2
gzip file : compresses file and renames it to file.gz
gzip -d file.gz : decompresses file.gz back to file
Network
ping host : ping host and output results
whois domain : get whois information for domain
dig domain : get DNS information for domain
dig -x host : reverse lookup host
wget file : download file
wget -c file : continue a stopped download
Installation
Install from source:
./configure
make
make install
dpkg -i pkg.deb : install a package (Debian)
rpm -Uvh pkg.rpm : install a package (RPM)
Shortcuts
Ctrl+C halts the current command
Ctrl+Z stops the current command, resume with fg in the foreground or bg in the background
Ctrl+D log out of current session, similar to exit
Ctrl+W erases one word in the current line
Ctrl+U erases the whole line
Ctrl+R type to bring up a recent command
!! repeats the last command
exit log out of current session