linux tutorial - gregg roeten · 2019-02-16 · linux tutorial os bootloader kernel daemons -...
TRANSCRIPT
1
LINUX TUTORIAL ................................................................................................................................... 3
OS .......................................................................................................................................................................... 3
Releases ................................................................................................................................................................. 3
GUI or Command line Basics................................................................................................................................ 3
Networking Commands ......................................................................................................................................... 3
bash (Bourne again shell) ....................................................................................................................................... 4
Basic Navigation .................................................................................................................................................... 4
File Manipulation ................................................................................................................................................... 5
vi text editor .......................................................................................................................................................... 5
Wildcards ............................................................................................................................................................... 6
Permissions ........................................................................................................................................................... 6
Filters ..................................................................................................................................................................... 7 Run grep with extended regular expressions. ........................................................................................................... 8 Grep Regular Expression ........................................................................................................................................... 9
Regular Expressions ............................................................................................................................................... 9 Regular Expression Multipliers ................................................................................................................................ 10 Regular Expression Anchors .................................................................................................................................... 10
Piping and Redirection ......................................................................................................................................... 11
Process Management .......................................................................................................................................... 12
bash scripts .......................................................................................................................................................... 12 1. tar command examples ................................................................................................................................... 15 2. grep command examples ................................................................................................................................ 15 3. find command examples ................................................................................................................................. 16 4. ssh command examples .................................................................................................................................. 16 5. sed command examples .................................................................................................................................. 16 6. awk command examples ................................................................................................................................. 16 7. vim command examples ................................................................................................................................. 16 8. diff command examples .................................................................................................................................. 17 9. sort command examples ................................................................................................................................. 17 10. export command examples ........................................................................................................................... 17 11. xargs command examples ............................................................................................................................. 17 12. ls command examples ................................................................................................................................... 17 13. pwd command .............................................................................................................................................. 18 14. cd command examples ................................................................................................................................. 18 15. gzip command examples ............................................................................................................................... 18 16. bzip2 command examples ............................................................................................................................. 18 17. unzip command examples ............................................................................................................................ 18 18. shutdown command examples ..................................................................................................................... 19 19. ftp command examples ................................................................................................................................. 19 20. crontab command examples ......................................................................................................................... 19 21. service command examples .......................................................................................................................... 19 22. ps command examples .................................................................................................................................. 20 23. free command examples ............................................................................................................................... 20
2
24. top command examples ................................................................................................................................ 20 25. df command examples .................................................................................................................................. 21 26. kill command examples ................................................................................................................................. 21 27. rm command examples ................................................................................................................................. 21 28. cp command examples ................................................................................................................................. 21 29. mv command examples ................................................................................................................................ 22 30. cat command examples ................................................................................................................................ 22 31. mount command examples .......................................................................................................................... 22 32. chmod command examples .......................................................................................................................... 22 33. chown command examples .......................................................................................................................... 23 34. passwd command examples ......................................................................................................................... 23 35. mkdir command examples ............................................................................................................................ 23 36. ifconfig command examples ......................................................................................................................... 23 37. uname command examples .......................................................................................................................... 23 38. whereis command examples ......................................................................................................................... 24 39. whatis command examples ........................................................................................................................... 24 40. locate command examples ........................................................................................................................... 24 41. man command examples .............................................................................................................................. 24 42. tail command examples ................................................................................................................................ 25 43. less command examples ............................................................................................................................... 25 44. su command examples .................................................................................................................................. 25 45. mysql command examples ............................................................................................................................ 26 46. yum command examples .............................................................................................................................. 26 47. rpm command examples ............................................................................................................................... 26 48. ping command examples .............................................................................................................................. 26 49. date command examples .............................................................................................................................. 26 50. wget command examples ............................................................................................................................. 27
hash command line for Linux. .............................................................................................................................. 28
3
Linux Tutorial
OS Bootloader kernel Daemons - background services, printing, sound, scheduling Shell Graphical Server = X or X server Desktop Environment ex GNOME, Unity, have built-in file managers, web browsers, etc Applications
Releases Ubuntu - newbie friendly Debian or Fedora - above avg user Gentoo - master Ubuntu Server - server only distribution
GUI or Command line Basics Open a terminal on Linux WS
Applications -> System or Applications -> Utilities
Windows login into remote machine use SSH client, ex Putty which is free
Tab Completion works
Case Sensitive
file names with spaces allowed, will need quotes cd “Roman Holiday” OR
use escape character ie backslash \ ex cd Roman\ Holiday
Everything is a file, even directories If the GUI has locked up, and we are in luck, we can get to another console and kill the
offending process from there. To switch between consoles you use the keyboard sequence CTRL + ALT + F<Console>. So CTRL + ALT F2 will get you to a console (if all goes well) where you can run the commands as above to identify process ids and kill them. Then CTRL + ALT F7 will get you back to the GUI to see if it has been fixed.
! ls
executes last command ls command
!! execute last command
history | grep “keyword”
Networking Commands hostname -dfifinding host/domain name and IP address -
ping test network connection –
ifconfig gnetting network configuration –
netstat -all Network connections, routing tables, interface statistics –
nslookup query DNS lookup name – nslookup google.com
4
telnetcommunicate with other hostname – telnet hostname port
traceroute outing steps that packets take to get to network host –
finger view user information –
telnet checking status of destination host -
ifconfigfind ws IP address
Description
bash is an sh-compatible command language interpreter that executes commands read from the
standard input or from a file. bash also incorporates useful features from the Korn and C shells
(ksh and csh).
bash is intended to be a conformant implementation of the Shell and Utilities portion of the
IEEE POSIX specification (IEEE Standard 1003.1). bash can be configured to be POSIX-
conformant by default.
bash (Bourne again shell) echo
prints to screen
echo #SHELL
/bin/bash
user@bash:
Basic Navigation
ls -l /home/ryan
ls
ls -ashows hidden files (.filename, dot before filename is a
hidden file)
ls Documents if in current directory relative path
ls /home/groeten/Documents absolute path
pwd
~ home
ls ~/Documents
5
ls ./Documents current directory
ls ../Documents parent directory
ls ../../
cd Documents
cd ~/Documents
file.exe - an executable file, or program.
file.txt - a plain text file.
file.png, file.gif, file.jpg - an image.
man <command to look up>
File Manipulation mkdir [options] <dir>
rmdir
touch
cp [options] src dest
mv [options] src destcan also rename with mv command
rm [options] <file>
vi text editor vi filename
ZZ (Note: capitals) - Save and exit
:q! - discard all changes, since the last save, and exit
:w - save file but don't exit
:wq - again, save and exit
x - delete a single character
nx - delete n characters (eg 5x deletes five characters)
dd - delete the current line
dn - d followed by a movement command. Delete to where the movement command
would have taken you. (eg d5w means delete 5 words)
u - Undo the last action (you may keep pressing u to keep undoing)
U (Note: capital) - Undo all changes to the current line
cat <file>
less <file>
6
less allows you to move up and down within a file using the arrow keys. You may go forward
a whole page using the SpaceBar or back a page by pressing b. When you are done you can
press q for quit.
Wildcards
* - represents zero or more characters
? - represents a single character
[] - represents a range of characters
ls [sv]*
range operator allows you to limit to a subset of characters. In this example we are looking for every file whose name either begins with a s or v.
ls *[0-9]*
With ranges we may also include a set by using a hyphen. So for example if we wanted
to find every file whose name includes a digit in it we could do the following:
ls [^a-k]*
We may also reverse a range using the caret ( ^ ) which means look for any character
which is not one of the following.
Permissions r read - you may view the contents of the file.
w write - you may change the contents of the file.
x execute - you may execute or run the file if it is a program or script.
owner - a single person who owns the file. (typically the person who created the file but ownership may be granted to some one else by certain users)
group - every file belongs to a single group.
others - everyone else who is not in the group or the owner.
view permissions use l option
ls -l
-rwxr----x
rwx owner read, write execute
-rwxr----x
r-- group read only
-rwxr----x
--x others execute only
7
chmod g+wx filename
-rwxrwx--x
chmod go-x filename grp and other remove execute permission
-rwxrw----
chmod 777 read,write,execute for self,grp,others
SUID - Set User ID
Zeroth field - Special permissions, represents the special bits.
chmod 4750, 2777, 1477
"0" by default, which means: "No special permissions set."
Sticky bit = Value 1 = sets to directories - may only remove file in directory owned by you
Set Group id = Value 2 = execute as the Group of the file
Set User id= Value 4 = program is executed as the Owner of the file.
chmod 4750 = file may be executed by owner and grp and will be executed as the owner
Filters head
head filename prints entire file
head -r filename prints first 4 lines of file
tail
prints entire file or last x lines of file
sort
Sort will sort it's input, nice and simple. By default it will sort alphabetically but there are many options available to modify the sorting mechanism.
nl
number lines
nl -s '. ' -w 10 mysampledata.txt
format print
-s what should be printed after the number, dot and space
-w specifies how much padding to put before the numbers, 10
spaces in this example
1. Fred apples 20
2. Susy oranges 5
8
3. Mark watermellons 12
4. Robert pears 4
5. Terry oranges 9
wc
word count
wc [options] path -w is # of words -l is # of lines
cut
sed
sed [expression] [path]
s/search/replace/g
substitute / what we’re searching for / what we’re to replace it with / global is optional
sed 's/oranges/bananas/g' mysampledata.txt
uniq [options] [path]
unique, remove duplicat lines from data. Dupes must be side by side
uniq mysampledata.txt
tac
reverse of cat!
grep
egrep or grep -E
Run grep with extended regular expressions. -IIgnore case (ie uppercase, lowercase letters).
-vReturn all lines which don't match the pattern.
-wSelect only matches that form whole words.
-cPrint a count of matching lines.
Can be combined with the -v option to print a count of non matchine lines.
-lPrint the name of each file which contains a match.
Normally used when grep is invoked with wildcards for the file argument.
-nPrint the line number before each line that matches.
-rRecursive, read all files in given directory and subdirectories.
9
Grep Regular Expression .A single character
[abc]Range. ie any one of these characters
[^abc]Not range. A character that is not one of those enclosed.
(abc)Group these characters and remember for later.
\nReplace n with a number. Recall the charactes matched in that set of brackets.
May also be used to rename files or directories.
|The logical 'or' operation.
\In front of a character, removes it's special meaning.
egrep
egrep [command line options] <pattern> [path]
egrep is a program which will search a given set of data and print every line which contains a given pattern.
the -v option tells grep to instead print every line which does not match the pattern.
egrep 'mellon' mysampledata.txt
egrep -n 'mellon' mysampledata.txt -n print line #
-c line count of matches
egrep '[aeiou]{2,}' mysampledata.txt
identify any line with two or more vowels in a row. In the example below the multiplier {2,} applies to the preceding item which is the range.
egrep '2.+' mysampledata.txt
any line with a 2 on it which is not the end of the line. In this example the multiplier + applies to the . which is any character.
egrep 'or|is|go' mysampledata.txt
each line which contains either 'is' or 'go' or 'or'.
egrep '^[A-K]' mysampledata.txt
see orders for everyone who's name begins with A - K.
Regular Expressions . (dot)- a single character.
? - the preceding character matches 0 or 1 times only.
* - the preceding character matches 0 or more times.
+ - the preceding character matches 1 or more times.
{n} - the preceding character matches exactly n times.
{n,m} - the preceding character matches at least n times and not more than m times.
[agd] - the character is one of those included within the square brackets.
[^agd]- the character is not one of those included within the square brackets.
[c-f] - the dash within the square brackets operates as a range. In this case it means either
the letters c, d, e or f.
() - allows us to group several characters to behave as one.
| (pipe symbol) - the logical OR operation.
^ - matches the beginning of the line.
10
# - matches the end of the line.
Regular Expression Multipliers ?The preceding item is optional, it is matched zero or one times.
* The preceding item will be matched zero or more times.
+The preceding item will be matched one or more times.
{n}The preceding item will be matched exactly n times.
{n,}The preceding item will be matched n or more times.
{n,m}The preceding item will be matched between n and m times.
Regular Expression Anchors ^From the beginning of the line.
#To the end of the line.
\<At the beginning of a word.
\>At the end of a word.
\bMatch either the beginning or end of a word.
Examples
egrep 'mellon' myfile.txt
Print every line in myfile.txt containing the string 'mellon'.
egrep -n 'mellon' myfile.txt
Same as above but print a line number before each line.
egrep '(.)bb\1' myfile.txt
Find every line with 2 b's and the same character both before and after those b's.
egrep -l '[0-9]{8,}' /files/projectx/*
Print each file in the directory projectx which contains a number of 8 digits or more.
egrep '\b[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b' myfile.txt
Print every line of myfiles.txt containing an email address.
Note: this is just a simple email matching pattern. There is a miniscule number of email addresses it will not match.
awk
data in record with field filter data and control how displayed like find and xargs popular alternative to Perl
awk '{print #2}' mysampledata.txtprint only the second column
scp
secure copy, part of SSH (Secure Shell)
copy files from one machine to another
scp [email protected]:/home/ryan/myfilex.jpg ./myfiley.jpg
diff
11
Piping and Redirection STDIN (0) - Standard input (data fed into the program)
STDOUT (1) - Standard output (data printed by the program, defaults to the terminal)
STDERR (2) - Standard error (for error messages, also defaults to the terminal)
ls > myoutput
wc -l barry.txt > myoutput
ls >> myoutput
wc -l < myoutput
( < ) then we can send data the other way. We will read data from the file and feed it into the program via it's STDIN stream.
wc -l < barry.txt > myoutput
cat myoutput
7
Redirecting Standard Error
ls -l video.mpg blah.foo 2> errors.txt
-rwxr--r-- 1 ryan users 6 May 16 09:14 video.mpg
cat errors.txt
ls: cannot access blah.foo: No such file or directory
Piping
sending data from one program to another.
ls | head -3
barry.txt
bob
example.png
ls | head -3 | tail -1
example.png
12
combine pipes and redirection too
ls | head -3 | tail -1 > myoutput
cat myoutput
example.png
Process Management ps -ef | grep ‘firefox’
kill
kill pid
kill -9 pid
CTRL +Z
jobs
fg move pgm from background to foreground
bg move pgm from foreground to background
bash scripts which
path to a program
which <program>
which bash
/bin/bash
which ls
/usr/bin/ls
#
placed before a var name referrs to its value
morevariables.sh
#!/bin/bash
13
# A simple demonstration of variables
# Ryan 23/6/2015
echo My name is #0 and I’ve been give # # command line args
echo Here they are: #*
echo And the 2nd command line argument is #2
user@bash: ./morevariables.sh bob fred sally
My name is morevariables.sh and I’ve been given 3 command line args
Here they are: bob fred sally
And the 2nd command line argument is fred
if statements
if [ ] then else fi
ex projectbackup.sh
#!/bin/bash
# Backs up a single project directory
# Ryan 23/6/2015
if [ ## != 1 ]
then
echo Usage: A single argument which is the directory to backup
exit
fi
if [ ! -d ~/projects/#1 ]
then
echo The given dir does not seem to exist (possible typo?)
exit
fi
date=`date +%F`
# Do we already have a backup folder for todays date?
if [ -d ~/projectbackups/#1_#date ]
then
14
echo This project has already been backed up today, overwrite?
read answer
if [ #answer != 'y' ]
then
exit
fi
else
mkdir ~/projectbackups/#1_#date
fi
cp -R ~/projects/#1 ~/projectbackups/#1_#date
echo Backup of #1 completed
Backup Script - Useful………………………….
projectbackup.sh
#!/bin/bash
# Backs up a single project directory
# Ryan 29/6/2015
date=`date +%F`
mkdir ~/projectbackups/#1_#date
cp -R ~/projects/#1 ~/projectbackups/#1_#date
echo Backup of #1 completed
./projectbackup.sh GRBackup
Backup of GRBackup completed
Cron
Command Run ON
mins hrs day-of-month months day-of-wk
30 3 * * 4 /bin/myscript.sh
Execute myscript.sh every Thursday at 3:30am.
15
crontab -l
List of cron jobs running
Tar
Tape Archive
z = use gzip to compress
c = create new archive
v = verbose
f = result should be saved into a file
x = extract
tar -zcvf mytar.tar.gz *
50 Most Frequently Used UNIX / Linux
Commands (With Examples)
by Ramesh Natarajan on November 8, 2010
1. tar command examples
Create a new tar archive.
# tar cvf archive_name.tar dirname/
Extract from an existing tar archive.
# tar xvf archive_name.tar
View an existing tar archive.
# tar tvf archive_name.tar
2. grep command examples
Search for a given string in a file (case in-sensitive search).
# grep -i "the" demo_file
Print the matched line, along with the 3 lines after it.
# grep -A 3 -i "example" demo_text
Search for a given string in all files recursively
16
# grep -r "ramesh" *
3. find command examples
Find files using file-name ( case in-sensitve find)
# find -iname "MyCProgram.c"
Execute commands on files found by the find command
# find -iname "MyCProgram.c" -exec md5sum {} \;
Find all empty files in home directory
# find ~ -empty
4. ssh command examples
Login to remote host
ssh -l jsmith remotehost.example.com
Debug ssh client
ssh -v -l jsmith remotehost.example.com
Display ssh client version
# ssh -V
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
5. sed command examples
When you copy a DOS file to Unix, you could find \r\n in the end of each line. This example converts the DOS file format to Unix file format using sed command.
#sed 's/.#//' filename
Print file content in reverse order
# sed -n '1!G;h;#p' thegeekstuff.txt
Add line number for all non-empty-lines in a file
# sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /'
6. awk command examples
Remove duplicate lines using awk
# awk '!(#0 in array) { array[#0]; print }' temp
Print all lines from /etc/passwd that has the same uid and gid
#awk -F ':' '#3==#4' passwd.txt
Print only specific field from a file.
# awk '{print #2,#5;}' employee.txt
7. vim command examples
Go to the 143rd line of file
# vim +143 filename.txt
Go to the first match of the specified
17
# vim +/search-term filename.txt
Open the file in read only mode.
# vim -R /etc/passwd
More vim examples: How To Record and Play in Vim Editor
8. diff command examples
Ignore white space while comparing.
# diff -w name_list.txt name_list_new.txt
2c2,3
< John Doe --- > John M Doe
> Jason Bourne
9. sort command examples
Sort a file in ascending order
# sort names.txt
Sort a file in descending order
# sort -r names.txt
Sort passwd file by 3rd field.
# sort -t: -k 3n /etc/passwd | more
10. export command examples
To view oracle related environment variables.
# export | grep ORACLE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"
To export an environment variable:
# export ORACLE_HOME=/u01/app/oracle/product/10.2.0
11. xargs command examples
Copy all images to external hard-drive
# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory
Search all jpg images in the system and archive it.
# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
Download all the URLs mentioned in the url-list.txt file
# cat url-list.txt | xargs wget –c
12. ls command examples
18
Display filesize in human readable format (e.g. KB, MB etc.,)
# ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz
Order Files Based on Last Modified Time (In Reverse Order) Using ls -ltr
# ls -ltr
Visual Classification of Files With Special Characters Using ls -F
# ls -F
More ls examples: Unix LS Command: 15 Practical Examples
13. pwd command
pwd is Print working directory. What else can be said about the good old pwd who has been printing the current directory name for ages.
14. cd command examples
Use “cd -” to toggle between the last two directories
Use “shopt -s cdspell” to automatically correct mistyped directory names on cd
More cd examples: 6 Awesome Linux cd command Hacks
15. gzip command examples
To create a *.gz compressed file:
# gzip test.txt
To uncompress a *.gz file:
# gzip -d test.txt.gz
Display compression ratio of the compressed file using gzip -l
# gzip -l *.gz
compressed uncompressed ratio uncompressed_name
2370997975 75.8% asp-patch-rpms.txt
16. bzip2 command examples
To create a *.bz2 compressed file:
# bzip2 test.txt
To uncompress a *.bz2 file:
bzip2 -d test.txt.bz2
More bzip2 examples: BZ is Eazy! bzip2, bzgrep, bzcmp, bzdiff, bzcat, bzless, bzmore examples
17. unzip command examples
To extract a *.zip compressed file:
# unzip test.zip
View the contents of *.zip file (Without unzipping it):
# unzip -l jasper.zip
Archive: jasper.zip
19
LengthDate Time Name
-------- ---- ---- ----
40995 11-30-98 23:50 META-INF/MANIFEST.MF
32169 08-25-98 21:07 classes_
15964 08-25-98 21:07 classes_names
10542 08-25-98 21:07 classes_ncomp
18. shutdown command examples
Shutdown the system and turn the power off immediately.
# shutdown -h now
Shutdown the system after 10 minutes.
# shutdown -h +10
Reboot the system using shutdown command.
# shutdown -r now
Force the filesystem check during reboot.
# shutdown -Fr now
19. ftp command examples
Both ftp and secure ftp (sftp) has similar commands. To connect to a remote server and download multiple files, do the following.
# ftp IP/hostname
ftp> mget *.html
To view the file names located on the remote server before downloading, mls ftp command as shown below.
ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html
20. crontab command examples
View crontab entry for a specific user
# crontab -u john -l
Schedule a cron job every 10 minutes.
*/10 * * * * /home/ramesh/check-disk-space
21. service command examples
Service command is used to run the system V init scripts. i.e Instead of calling the scripts located in the /etc/init.d/ directory with their full path, you can use the service command.
Check the status of a service:
# service ssh status
Check the status of all the services.
service --status-all
20
Restart a service.
# service ssh restart
22. ps command examples
ps command is used to display information about the processes that are running in the system.
While there are lot of arguments that could be passed to a ps command, following are some of the common ones.
To view current running processes.
# ps -ef | more
To view current running processes in a tree structure. H option stands for process hierarchy.
# ps -efH | more
23. free command examples
This command is used to display the free, used, swap memory available in the system.
Typical free command output. The output is displayed in bytes.
# free
total used freeshared bufferscached
Mem: 3566408 1580220 19861880203988902960
-/+ buffers/cache:473272 3093136
Swap: 40001760 4000176
If you want to quickly check how many GB of RAM your system has use the -g option. -b option displays in bytes, -k in kilo bytes, -m in mega bytes.
# free -g
total used freeshared bufferscached
Mem: 311000
-/+ buffers/cache:02
Swap: 303
If you want to see a total memory ( including the swap), use the -t switch, which will display a total line as shown below.
ramesh@ramesh-laptop:~# free -t
total used freeshared bufferscached
Mem: 3566408 1592148 19742600204260912556
-/+ buffers/cache:475332 3091076
Swap: 40001760 4000176
Total:7566584 1592148 5974436
24. top command examples
top command displays the top processes in the system ( by default sorted by cpu usage ). To sort top output by any column, Press O (upper-case O) , which will display all the possible columns that you can sort by as shown below.
Current Sort Field: P for window 1:Def
Select sort field via field letter, type any other key to return
a: PID = Process Id v: nDRT = Dirty Pages count
d: UID = User Id y: WCHAN = Sleeping in Function
e: USER = User Namez: Flags = Task Flags
21
........
To displays only the processes that belong to a particular user use -u option. The following will show only the top processes that belongs to oracle user.
# top -u oracle
25. df command examples
Displays the file system disk space usage. By default df -k displays output in bytes.
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29530400 3233104 24797232 12% /
/dev/sda2 120367992 50171596 64082060 44% /home
df -h displays output in human readable form. i.e size will be displayed in GB’s.
ramesh@ramesh-laptop:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 3.1G 24G 12% /
/dev/sda2 115G 48G 62G 44% /home
Use -T option to display what type of file system.
ramesh@ramesh-laptop:~# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1ext4 29530400 3233120 24797216 12% /
/dev/sda2ext4 120367992 50171596 64082060 44% /home
26. kill command examples
Use kill command to terminate a process. First get the process id using ps -ef command, then use kill -9 to kill the running Linux process as shown below. You can also use killall, pkill, xkill to terminate a unix process.
# ps -ef | grep vim
ramesh 7243 7222 9 22:43 pts/2 00:00:00 vim
# kill -9 7243
27. rm command examples
Get confirmation before removing the file.
# rm -i filename.txt
It is very useful while giving shell metacharacters in the file name argument.
Print the filename and get confirmation before removing the file.
# rm -i file*
Following example recursively removes all files and directories under the example directory. This also removes the example directory itself.
# rm -r example
28. cp command examples
Copy file1 to file2 preserving the mode, ownership and timestamp.
22
# cp -p file1 file2
Copy file1 to file2. if file2 exists prompt for confirmation before overwritting it.
# cp -i file1 file2
29. mv command examples
Rename file1 to file2. if file2 exists prompt for confirmation before overwritting it.
# mv -i file1 file2
Note: mv -f is just the opposite, which will overwrite file2 without prompting.
mv -v will print what is happening during file rename, which is useful while specifying shell metacharacters in the file name argument.
# mv -v file1 file2
30. cat command examples
You can view multiple files at the same time. Following example prints the content of file1 followed by file2 to stdout.
# cat file1 file2
While displaying the file, following cat -n command will prepend the line number to each line of the output.
# cat -n /etc/logrotate.conf
1/var/log/btmp {
2 missingok
3 monthly
4 create 0660 root utmp
5 rotate 1
6}
31. mount command examples
To mount a file system, you should first create a directory and mount it as shown below.
# mkdir /u01
# mount /dev/sdb1 /u01
You can also add this to the fstab for automatic mounting. i.e Anytime system is restarted, the filesystem will be mounted. /dev/sdb1 /u01 ext2 defaults 0 2
32. chmod command examples
chmod command is used to change the permissions for a file or directory.
Give full access to user and group (i.e read, write and execute ) on a specific file.
# chmod ug+rwx file.txt
Revoke all access for the group (i.e read, write and execute ) on a specific file.
# chmod g-rwx file.txt
Apply the file permissions recursively to all the files in the sub-directories.
# chmod -R ug+rwx file.txt
23
More chmod examples: 7 Chmod Command Examples for Beginners
33. chown command examples
chown command is used to change the owner and group of a file. \
To change owner to oracle and group to db on a file. i.e Change both owner and group at the same time.
# chown oracle:dba dbora.sh
Use -R to change the ownership recursively.
# chown -R oracle:dba /home/oracle
34. passwd command examples
Change your password from command line using passwd. This will prompt for the old password followed by the new password.
# passwd
Super user can use passwd command to reset others password. This will not prompt for current password of the user.
# passwd USERNAME
Remove password for a specific user. Root user can disable password for a specific user. Once the password is disabled, the user can login without entering the password.
# passwd -d USERNAME
35. mkdir command examples
Following example creates a directory called temp under your home directory.
# mkdir ~/temp
Create nested directories using one mkdir command. If any of these directories exist already, it will not display any error. If any of these directories doesn’t exist, it will create them.
# mkdir -p dir1/dir2/dir3/dir4/
36. ifconfig command examples
Use ifconfig command to view or configure a network interface on the Linux system.
View all the interfaces along with status.
# ifconfig -a
Start or stop a specific interface using up and down command as shown below.
# ifconfig eth0 up
# ifconfig eth0 down
More ifconfig examples: Ifconfig: 7 Examples To Configure Network Interface
37. uname command examples
Uname command displays important information about the system such as — Kernel name, Host name, Kernel release number, Processor type, etc.,
Sample uname output from a Ubuntu laptop is shown below.
24
# uname -a
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux
38. whereis command examples
When you want to find out where a specific Unix command exists (for example, where does ls command exists?), you can execute the following command.
# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
When you want to search an executable from a path other than the whereis default path, you can use -B option and give path as argument to it. This searches for the executable lsmk in the /tmp directory, and displays it, if it is available.
# whereis -u -B /tmp -f lsmk
lsmk: /tmp/lsmk
39. whatis command examples
Whatis command displays a single line description about a command.
# whatis ls
ls(1) - list directory contents
# whatis ifconfig
ifconfig (8) - configure a network interface
40. locate command examples
Using locate command you can quickly search for the location of a specific file (or group of files). Locate command uses the database created by updatedb.
The example below shows all files in the system that contains the word crontab in it.
# locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/share/doc/cron/examples/crontab2english.pl.gz
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim72/syntax/crontab.vim
41. man command examples
Display the man page of a specific command.
# man crontab
When a man page for a command is located under more than one section, you can view the man page for that command from a specific section as shown below.
# man SECTION-NUMBER commandname
Following 8 sections are available in the man page.
25
1. General commands
System calls
C library functions
Special files (usually devices, those found in /dev) and drivers
File formats and conventions
Games and screensavers
Miscellaneous
2. System administration commands and daemons
For example, when you do whatis crontab, you’ll notice that crontab has two man pages (section 1 and section 5). To view section 5 of crontab man page, do the following.
# whatis crontab
crontab (1)- maintain crontab files for individual users (V3)
crontab (5)- tables for driving cron
# man 5 crontab
42. tail command examples
Print the last 10 lines of a file by default.
# tail filename.txt
Print N number of lines from the file named filename.txt
# tail -n N filename.txt
View the content of the file in real time using tail -f. This is useful to view the log files, that keeps growing. The command can be terminated using CTRL-C.
# tail -f log-file
More tail examples: 3 Methods To View tail -f output of Multiple Log Files in One Terminal
43. less command examples
less is very efficient while viewing huge log files, as it doesn’t need to load the full file while opening.
# less huge-log-file.log
One you open a file using less command, following two keys are very helpful. CTRL+F – forward one window
CTRL+B – backward one window
More less examples: Unix Less Command: 10 Tips for Effective Navigation
44. su command examples
Switch to a different user account using su command. Super user can switch to any other user without entering their password.
# su - USERNAME
Execute a single command from a different account name. In the following example, john can execute the ls command as raj username. Once the command is executed, it will come back to john’s account.
26
[john@dev-server]# su - raj -c 'ls'
[john@dev-server]#
Login to a specified user account, and execute the specified shell instead of the default shell.
# su -s 'SHELLNAME' USERNAME
45. mysql command examples
mysql is probably the most widely used open source database on Linux. Even if you don’t run a mysql database on your server, you might end-up using the mysql command ( client ) to connect to a mysql database running on the remote server.
To connect to a remote mysql database. This will prompt for a password.
# mysql -u root -p -h 192.168.1.2
To connect to a local mysql database.
# mysql -u root -p
If you want to specify the mysql root password in the command line itself, enter it immediately after -p (without any space).
46. yum command examples
To install apache using yum.
# yum install httpd
To upgrade apache using yum.
# yum update httpd
To uninstall/remove apache using yum.
# yum remove httpd
47. rpm command examples
To install apache using rpm.
# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
To upgrade apache using rpm.
# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
To uninstall/remove apache using rpm.
# rpm -ev httpd
More rpm examples: RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages
48. ping command examples
Ping a remote host by sending only 5 packets.
# ping -c 5 gmail.com
More ping examples: Ping Tutorial: 15 Effective Ping Command Examples
49. date command examples
27
Set the system date:
# date -s "01/31/2010 23:59:53"
Once you’ve changed the system date, you should syncronize the hardware clock with the system date as shown below.
# hwclock –systohc
# hwclock --systohc –utc
50. wget command examples
The quick and effective method to download software, music, video from internet is using wget command.
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
Download and store it with a different name.
# wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
Copyright © 2008–2015 Ramesh Natarajan. All rights reserved | Terms of Service
28
hash command line for Linux. alias Create an alias •
apropos Search Help manual pages (man -k)
apt-get Search for and install software packages (Debian/Ubuntu)
aptitude Search for and install software packages (Debian/Ubuntu)
aspell Spell Checker
awk Find and Replace text, database sort/validate/index
b
basename Strip directory and suffix from filenames
bashGNU Bourne-Again SHell
bc Arbitrary precision calculator language
bg Send to background
break Exit from a loop •
builtin Run a shell builtin
bzip2 Compress or decompress named file(s)
c
cal Display a calendar
caseConditionally perform a command
cat Concatenate and print (display) the content of files
cd Change Directory
cfdisk Partition table manipulator for Linux
chgrp Change group ownership
chmod Change access permissions
chown Change file owner and group
chroot Run a command with a different root directory
chkconfig System services (runlevel)
cksum Print CRC checksum and byte counts
clear Clear terminal screen
cmp Compare two files
commCompare two sorted files line by line
command Run a command - ignoring shell functions •
continue Resume the next iteration of a loop •
cp Copy one or more files to another location
cronDaemon to execute scheduled commands
crontab Schedule a command to run at a later time
csplit Split a file into context-determined pieces
cut Divide a file into several parts
d
dateDisplay or change the date & time
dc Desk Calculator
dd Convert and copy a file, write disk headers, boot records
ddrescue Data recovery tool
declare Declare variables and give them attributes •
df Display free disk space
diffDisplay the differences between two files
diff3 Show differences among three files
dig DNS lookup
dir Briefly list directory contents
dircolors Colour setup for `ls'
dirname Convert a full pathname to just a path
dirsDisplay list of remembered directories
29
dmesg Print kernel & driver messages
du Estimate file space usage
e
echoDisplay message on screen •
egrep Search file(s) for lines that match an extended expression
eject Eject removable media
enable Enable and disable builtin shell commands •
env Environment variables
ethtool Ethernet card settings
evalEvaluate several commands/arguments
execExecute a command
exitExit the shell
expect Automate arbitrary applications accessed over a terminal
expand Convert tabs to spaces
export Set an environment variable
exprEvaluate expressions
f
false Do nothing, unsuccessfully
fdformat Low-level format a floppy disk
fdisk Partition table manipulator for Linux
fg Send job to foreground
fgrep Search file(s) for lines that match a fixed string
fileDetermine file type
findSearch for files that meet a desired criteria
fmt Reformat paragraph text
foldWrap text to fit a specified width.
for Expand words, and execute commands
format Format disks or tapes
freeDisplay memory usage
fsckFile system consistency check and repair
ftp File Transfer Protocol
function Define Function Macros
fuser Identify/kill the process that is accessing a file
g
gawkFind and Replace text within file(s)
getopts Parse positional parameters
grepSearch file(s) for lines that match a given pattern
groupadd Add a user security group
groupdel Delete a group
groupmod Modify a group
groups Print group names a user is in
gzipCompress or decompress named file(s)
h
hashRemember the full pathname of a name argument
headOutput the first part of file(s)
helpDisplay help for a built-in command •
history Command History
hostname Print or set system name
htopInteractive process viewer
i
iconv Convert the character set of a file
30
id Print user and group id's
if Conditionally perform a command
ifconfig Configure a network interface
ifdown Stop a network interface
ifupStart a network interface up
import Capture an X server screen and save the image to file
install Copy files and set attributes
ip Routing, devices and tunnels
j
jobsList active jobs •
joinJoin lines on a common field
k
killKill a process by specifying its PID
killall Kill processes by name
l
lessDisplay output one screen at a time
let Perform arithmetic on shell variables •
linkCreate a link to a file
ln Create a symbolic link to a file
local Create variables •
locate Find files
logname Print current login name
logout Exit a login shell •
lookDisplay lines beginning with a given string
lpc Line printer control program
lpr Off line print
lprint Print a file
lprintd Abort a print job
lprintq List the print queue
lprmRemove jobs from the print queue
ls List information about file(s)
lsofList open files
m
makeRecompile a group of programs
man Help manual
mkdir Create new folder(s)
mkfifo Make FIFOs (named pipes)
mkisofs Create an hybrid ISO9660/JOLIET/HFS filesystem
mknod Make block or character special files
moreDisplay output one screen at a time
mostBrowse or page through a text file
mount Mount a file system
mtools Manipulate MS-DOS files
mtr Network diagnostics (traceroute/ping)
mv Move or rename files or directories
mmv Mass Move and rename (files)
n
netstat Networking information
niceSet the priority of a command or job
nl Number lines and write files
nohup Run a command immune to hangups
31
notify-send Send desktop notifications
nslookup Query Internet name servers interactively
o
openOpen a file in its default application
op Operator access
p
passwd Modify a user password
paste Merge lines of files
pathchk Check file name portability
pingTest a network connection
pkill Kill processes by a full or partial name.
popdRestore the previous value of the current directory
pr Prepare files for printing
printcap Printer capability database
printenv Print environment variables
printf Format and print data •
ps Process status
pushd Save and then change the current directory
pv Monitor the progress of data through a pipe
pwd Print Working Directory
q
quota Display disk usage and limits
quotacheck Scan a file system for disk usage
quotactl Set disk quotas
r
ram ram disk device
rar Archive files with compression
rcp Copy files between two machines
readRead a line from standard input •
readarray Read from stdin into an array variable •
readonly Mark variables/functions as readonly
reboot Reboot the system
rename Rename files
renice Alter priority of running processes
remsync Synchronize remote files via email
return Exit a shell function
rev Reverse lines of a file
rm Remove files
rmdir Remove folder(s)
rsync Remote file copy (Synchronize file trees)
s
screen Multiplex terminal, run remote shells via ssh
scp Secure copy (remote file copy)
sdiff Merge two files interactively
sed Stream Editor
select Accept keyboard input
seq Print numeric sequences
set Manipulate shell variables and functions
sftpSecure File Transfer Program
shift Shift positional parameters
shopt Shell Options
32
shutdown Shutdown or restart linux
sleep Delay for a specified time
slocate Find files
sortSort text files
source Run commands from a file '.'
split Split a file into fixed-size pieces
ssh Secure Shell client (remote login program)
statDisplay file or file system status
strace Trace system calls and signals
su Substitute user identity
sudoExecute a command as another user
sum Print a checksum for a file
suspend Suspend execution of this shell •
syncSynchronize data on disk with memory
t
tailOutput the last part of file
tar Store, list or extract files in an archive
tee Redirect output to multiple files
testEvaluate a conditional expression
timeMeasure Program running time
timeout Run a command with a time limit
times User and system times
touch Change file timestamps
top List processes running on the system
tputSet terminal-dependent capabilities, color, position
traceroute Trace Route to Host
trapRun a command when a signal is set(bourne)
tr Translate, squeeze, and/or delete characters
trueDo nothing, successfully
tsort Topological sort
tty Print filename of terminal on stdin
typeDescribe a command •
u
ulimit Limit user resources •
umask Users file creation mask
umount Unmount a device
unalias Remove an alias •
uname Print system information
unexpand Convert spaces to tabs
uniqUniquify files
units Convert units from one scale to another
unrar Extract files from a rar archive
unset Remove variable or function names
unshar Unpack shell archive scripts
until Execute commands (until error)
uptime Show uptime
useradd Create new user account
userdel Delete a user account
usermod Modify user account
users List users currently logged in
uuencode Encode a binary file
33
uudecode Decode a file created by uuencode
v
v Verbosely list directory contents (`ls -l -b')
vdirVerbosely list directory contents (`ls -l -b')
vi Text Editor
vmstat Report virtual memory statistics
w
waitWait for a process to complete •
watch Execute/display a program periodically
wc Print byte, word, and line counts
whereis Search the user's #path, man pages and source files for a program
which Search the user's #path for a program file
while Execute commands
who Print all usernames currently logged in
whoami Print the current user id and name (`id -un')
wgetRetrieve web pages or files via HTTP, HTTPS or FTP
write Send a message to another user
x
xargs Execute utility, passing constructed argument list(s)
xdg-open Open a file or URL in the user's preferred application.
yes Print a string until interrupted
zip Package and compress (archive) files.
. Run a command script in the current shell
!! Run the last command again
### Comment / Remark