Unix/Linux Commands description
Command
|
Description
|
|
Ls
|
link file or directory
|
|
Psd
|
for background running jobs
|
|
Cd
|
change directory
|
|
Clear
|
clear screen
|
|
diff,comm,cmp
|
file compare
|
|
Cp
|
file copy
|
|
Ctl-C
|
break (signal)
|
|
Ctl-D
|
EOF (end-of-file)
|
|
rm–rf
|
delete directory recursively
|
|
Rm
|
delete file(s)
|
|
Exit
|
exit current process
|
|
Grep
|
find strings in files
|
|
Mkdir
|
make directory
|
|
More
|
text file paging filter
|
|
$PATH
|
path to executables
|
|
Mv
|
rename (move)
|
|
Rmdir
|
remove directory
|
|
Sort
|
sort file
|
|
Date
|
display system time
|
|
Cat
|
output file to stdout
|
|
Scp
|
secure file copy
|
|
Gzip
|
Compress named file(s)
|
|
gunzip
|
decompress named file(s)
|
|
man
|
Help manual
|
|
mv
|
Move or rename files or
directories
|
|
Cal
|
Display a calendar
|
|
cat
|
Concatenate and print (display)
the content of files
|
|
chmod
|
Change access permissions
|
|
crontab
|
Schedule a command to run at a
later time
|
|
echo
|
Display message on screen •
|
|
egrep
|
Search file(s) for lines that
match an extended expression
|
|
exit
|
Exit the shell
|
|
fgrep
|
Search file(s) for lines that
match a fixed string
|
|
free
|
Display memory usage
|
|
grep
|
Search file(s) for lines that
match a given pattern
|
|
hostname
|
Print or set system name
|
|
help
|
Display help for a built-in
command
|
|
jobs
|
List active jobs
|
|
kill
|
Stop a process from running
|
|
killall
|
Kill processes by name
|
|
less
|
Display output one screen at a
time
|
|
logout
|
Exit a login shell
|
|
nohup
|
Run a command immune to hang-ups
|
|
passwd
|
Modify a user password
|
|
Pwd
|
Print Working Directory
|
|
Sed
|
Stream Editor
|
|
Su
|
Substitute user identity
|
|
sudosu
|
Execute a command as another user
|
|
tail
|
Output the last part of file
|
|
tar
|
Tape ARchiver
|
|
time
|
Measure Program running time
|
|
vi
|
Text Editor
|
|
vmstat
|
Report virtual memory statistics
|
|
Wc
|
Print byte, word, and line counts
|
|
who
|
Print all usernames currently
logged in
|
|
whoami
|
Print the current user id and name
(`id -un')
|
|
export
|
Set an environment variable
|
|
.
|
Run a command script in the
current shell
|
|
!!
|
Run the last command again
|
|
###
|
Comment / Remark
|
How to Use Unix Commands
Command
|
Example
|
Description
|
Ls
|
Ls
|
Lists files in current directory
|
ls –alF
|
List in long format
|
|
Cd
|
cd tempdir
|
Change directory to tempdir
|
cd ..
|
Move back one directory
|
|
cd ~dhyatt/web-docs
|
Move into dhyatt's web-docs
directory
|
|
Mkdir
|
mkdir graphics
|
Make a directory called graphics
|
Rmdir
|
rmdiremptydir
|
Remove directory (must be empty)
|
Cp
|
cp file1 web-docs
|
Copy file into directory
|
cp file1 file1.bak
|
Make backup of file1
|
|
Rm
|
rm file1.bak
|
Remove or delete file
|
rm *.tmp
|
Remove all file
|
|
Mv
|
mv old.html new.html
|
Move or rename files
|
More
|
more index.html
|
Look at file, one page at a time
|
Man
|
man ls
|
Online manual (help) about command
|
grep <str><files>
|
grep "bad word" *
|
Find which files contain a certain
word
|
chmod<opt><file>
|
chmod 644 *.html
|
Change file permissions read only
|
chmod 755 file.exe
|
Change file permissions to
executable
|
|
Passwd
|
Passwd
|
Change passwd
|
ps<opt>
|
ps aux
|
List all running processes by #ID
|
ps aux |
grep dhyatt
|
List process #ID's running by
dhyatt
|
|
kill <opt><ID>
|
kill -9 8453
|
Kill process with ID #8453
|
gcc (g++) <source>
|
gccfile.c -o file
|
Compile a program written in C
|
g++ fil2.cpp -o fil2
|
Compile a program written in C++
|
|
gzip<file>
|
gzipbigfile
|
Compress file
|
gunzip bigfile.gz
|
Uncompress file
|
|
Mail
|
mail me@tjhsst.edu < file1
|
Send file1 by email to
someone
|
(pine)
|
Pine
|
Read mail using pine
|
telnet <host>
|
telnet vortex.tjhsst.edu
|
Open a connection to vortex
|
ssh<host>
|
ssh -l dhyatt jazz.tjhsst.edu
|
Open a secure connection to jazz
as user dhyatt
|
ftp <host>
|
ftp station1.tjhsst.edu
|
Upload or Download files to
station1
|
ncftp<host/directory>
|
ncftp metalab.unc.edu
|
Connect to archives at UNC
|
Who
|
Who
|
Lists who is logged on your
machine
|
History
|
History
|
Lists commands you've done
recently
|
Date
|
Date
|
Print out current date
|
cal<mo><yr>
|
cal 9 2000
|
Print calendar for September 2000
|
Xcalc
|
xcalc&
|
Calculator ("background"
process)
|
ispell<fname>
|
ispell file1
|
Spell check file1
|
latex <fname>
|
latex file.tex
|
Run LaTeX, a scientific document
tool
|
Df
|
Df
|
See how much free disk space
|
Du
|
du -b subdir
|
Estimate disk usage of directory
in Bytes
|
Alias
|
alias lls="ls -alF"
|
Create new command "lls"
for long format of ls
|
Tar
|
tar -cf subdir.tar subdir
|
Create an archive called
subdir.tar of a directory
|
tar -xvf subdir.tar
|
Extract files from an archive file
|
|
logout (exit)
|
logout or exit
|
How to quit a UNIX shell.
|
Unix/Linux Commands Examples
Linux Commands:
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
$ grep -r "ramesh" *
3. find command examples
Find
files using file-name ( case in-sensitve find)
# find -iname "demo.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
$ vim +/search-term filename.txt
Open
the file in read only mode.
$ vim -R /etc/passwd
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
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
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
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
23709 97975 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
17. gunzip 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
Length
Date 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 steatus of all the services.
service --status-all
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
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/sda1 ext4
29530400 3233120 24797216
12% /
/dev/sda2 ext4
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.
$ 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
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
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.
$ 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.
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
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
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
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.
[john@dev-server]$ su - raj
[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).
49. date command examples
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 banner command examples
Banner command give design of names in the form
of # symbols
~ $ banner suresh
#### #
# ##### ###### ####
# #
#
# # # #
# #
# #
#### #
# # # ##### ####
######
#
# # #####
# #
# #
# #
# # # #
# # #
# #
#### ####
# # ###### ####
# #
wc:
wc filename
X Y Z filename
X – Number of lines
Y – Number of words
Z – Number of bytes
filename – name of the file
EX:
wc demofile.txt
36 104 570 demofile.txt
51 Symbolic or soft Links
Symbolic links, sometimes called
"soft" links, are different than "hard" links. Instead of
linking to the data of a file, they link to another link. So in the
example above, file2.txtpoints to the link file1.txt,
which in turn points to the data of the file.
This has several potential benefits. For one
thing, symbolic links (also called "symlinks" for short) can link to
directories. Also, symbolic links can cross file system boundaries, so a
symbolic link to data on one drive or partition can exist on another drive or
partition.
You should also be aware that, unlike hard
links, removing the file (or directory) that a symlink points to will break the
link. So if we create file1.txt:
echo "This is a file." > file1.txt
...and create a symbolic link to it:
ln -s file1.txt file2.txt
...we can cat either one of
these to see the contents:
cat file1.txt
This is a file.
cat file2.txt
This is a file.
...but if we remove file1.txt:
rm file1.txt
...we can no longer access the data it contained
with our symlink:
cat file2.txt
cat: file2.txt: No such file or directory
53 hard link
echo "This is a file." > file1.txt
...and create a hard link to it:
ln file1.txt file2.txt
...we can cat either one of
these to see the contents:
cat file1.txt
This is a file.
cat file2.txt
This is a file.
...but if we remove file1.txt:
rm file1.txt
...we can access the data it contained with our
hardlink:
cat file2.txt
This is a file.
53.unlink
Used to remove the soft link or hard link
[/u03/appl/farbat1/suresh]$ ls -alrt
total 10
drwxr-xr-x 23 farbat1
arboradm 3072 Sep 28 12:06 ..
drwxrwxr-x 2 farbat1
arboradm 96 Sep 28 12:06 .
-rw-rw-r-- 2 farbat1
arboradm 47 Sep 28 12:07 file2.txt
-rw-rw-r-- 2 farbat1
arboradm 47 Sep 28 12:07 file1.txt
[/u03/appl/farbat1/suresh]$ unlink file2.txt
[/u03/appl/farbat1/suresh]$ ls -alrt
total 8
drwxr-xr-x 23 farbat1
arboradm 3072 Sep 28 12:06 ..
-rw-rw-r-- 1 farbat1
arboradm 47 Sep 28 12:07 file1.txt
drwxrwxr-x 2 farbat1
arboradm 96 Sep 28 12:13 .
[/u03/appl/farbat1/suresh]$
53 Tr command Examples:
1.
Convert lower case letters to upper case
The following tr command translates the lower case letters to capital letters in the give string:
Convert lower case letters to upper case
The following tr command translates the lower case letters to capital letters in the give string:
>echo "linux dedicated server" | tr
"[:lower:]" "[:upper:]"
LINUX DEDICATED SERVER
>echo "linux dedicated server" | tr
"[a-z]" "[A-Z]"
LINUX DEDICATED SERVER
2.
Transform upper case letters to lower case.
Similar to the above example, you can translate the uppercase letters to small letters.
Transform upper case letters to lower case.
Similar to the above example, you can translate the uppercase letters to small letters.
> echo "UNIX DEDICATED SERVER" | tr
"[:upper:]" "[:lower:]"
unix dedicated server
> echo "UNIX DEDICATED SERVER" | tr
"[A-Z]" "[a-z]"
unix dedicated server
3.
Replace non-matching characters.
The -c option is used to replace the non-matching characters with another set of characters.
Replace non-matching characters.
The -c option is used to replace the non-matching characters with another set of characters.
> echo "unix" | tr -c "u"
"a"
uaaa
In the above example, except the character
"c" other characters are replaced with "a"
4. Delete non-printable characters
The -d option can be used to delete characters.
The following example deletes all the non-printable characters from a
file.
>tr -cd "[:print:]" < filename
5. Squeezing
characters
You can squeeze more than one occurrence of continuous characters with single occurrence. The following example squeezes two or more successive blank spaces into a single space.
You can squeeze more than one occurrence of continuous characters with single occurrence. The following example squeezes two or more successive blank spaces into a single space.
>echo "linux
server" | tr -s " "
linux server
Here you can replace the space character with
any other character by specifying in set2.
> "linux server"
| tr -s " " ","
linux,server
6.
Delete characters
The following example removes the word linux from the string.
Delete characters
The following example removes the word linux from the string.
> echo "linuxserver" | tr -d
"linux"
server
54 tee examples
ls -1 *.txt | wc -l | tee count.txt
In the above example, the ls command lists all
files in the current directory that have the filename extension .txt,
one file per line; this output is piped to wc, which
counts the lines and outputs the number; this output is piped to tee,
which writes the output to the terminal, and writes the same information
to the file count.txt. If count.txt already
exists, it is overwritten.
55 NL
To provide sequence to the script.
cat list.txt
applesorangespotatoeslemonsgarlic
nl list.txt
1
apples
2
oranges 3
potatoes
4
lemons
5
garlic
In the above example, we use the cat command
to display the contents of list.txt. Then we use nl to
number each line and display the result to standard output.
56 pg examples
pg myfile.txt
Displays the first screenful of the contents of
text file myfile.txt, and a prompt (":"). Pressing
the RETURN key displays the next page, or any of the command listed above may
be entered to otherwise navigate the file.
57 Paste Command Examples:
Create the following three files in your unix or
linux servers to practice to practice the examples:
>cat file1
Unix
Linux
Windows
>cat file2
Dedicated server
Virtual server
>cat file3
Hosting
Machine
Operating system
1.
Merging files in parallel
By default, the paste command merges the files in parallel. The paste command writes corresponding lines from the files as a tab delimited on the terminal.
Merging files in parallel
By default, the paste command merges the files in parallel. The paste command writes corresponding lines from the files as a tab delimited on the terminal.
> paste file1 file2
Unix Dedicated server
Linux Virtual server
Windows
> paste file2 file1
Dedicated server Unix
Virtual server Linux
Windows
2.
Specifying the delimiter
Paste command uses the tab delimiter by default for merging the files. You can change the delimiter to any other character by using the -d option.
Specifying the delimiter
Paste command uses the tab delimiter by default for merging the files. You can change the delimiter to any other character by using the -d option.
>paste -d"|" file1 file2
Unix|Dedicated server
Linux|Virtual server
Windows|
In the above example, pipe delimiter is
specified
3. Merging files in sequentially.
You can merge the files in sequentially using
the -s option. The paste command reads each file in sequentially. It reads all
the lines from a single file and merges all these lines into a single line.
>paste -s file1 file2
Unix Linux Windows
Dedicated
server Virtual server
The following example shows how to specify a
delimiter for sequential merging of files:
> paste -s -d"," file1 file2
Unix,Linux,Windows
Dedicated server,Virtual server
4.
Specifying multiple delimiters.
Multiple delimiters come in handy when you want to merge more than two files with different delimiters. For example I want to merge file1, file2 with pipe delimiter and file2, file3 with comma delimiter. In this case multiple delimiters will be helpful.
Specifying multiple delimiters.
Multiple delimiters come in handy when you want to merge more than two files with different delimiters. For example I want to merge file1, file2 with pipe delimiter and file2, file3 with comma delimiter. In this case multiple delimiters will be helpful.
>paste -d"|," file1 file2 file3
Unix|Dedicatedserver,Hosting
Linux|Virtualserver,Machine
Windows|,Operating system
5.
Combining N consecutive lines
The paste command can also be used to merge N consecutive lines from a file into a single line. The following example merges 2 consecutive lines into a single line
Combining N consecutive lines
The paste command can also be used to merge N consecutive lines from a file into a single line. The following example merges 2 consecutive lines into a single line
>cat file1 | paste - -
Unix Linux
Windows
57.CUT
Cut command in unix (or linux) is used to select
sections of text from each line of files. You can use the cut command to select
fields or columns from a line by specifying a delimiter or you can select a
portion of text by specifying the range or characters. Basically the cut
command slices a line and extracts the text.
$ cat test.txtcat command for file oriented
operations.cp command for copy files or directories.ls command to list out
files and directories with its attributes.
60. Select Column of Characters
To extract only a desired column from a file use
-c option. The following example displays 2nd character from each line of a
file test.txt
$ cut -c2 test.txtaps
As seen above, the characters a, p, s are the
second character from each line of the test.txt file.
61. Select Column of Characters using Range
Range of characters can also be extracted from a
file by specifying start and end position delimited with -. The following
example extracts first 3 characters of each line from a file called test.txt
$ cut -c1-3 test.txtcatcpls
62. Select Column of Characters using either
Start or End Position
Either start position or end position can be
passed to cut command with -c option.
The following specifies only the start position
before the ‘-‘. This example extracts from 3rd character to end of each line
from test.txt file.
$ cut -c3- test.txtt command for file oriented
operations.command for copy files or directories.command to list out files and
directories with its attributes.
The following specifies only the end position
after the ‘-‘. This example extracts 8 characters from the beginning of each
line from test.txt file.
$ cut -c-8 test.txtcatcommcp commals comma
The entire line would get printed when you don’t
specify a number before or after the ‘-‘ as shown below.
$ cut -c- test.txtcat command for file oriented
operations.cp command for copy files or directories.ls command to list out
files and directories with its attributes.
63. Select a Specific Field from a File
Instead of selecting x number of characters, if
you like to extract a whole field, you can combine option -f and -d. The option
-f specifies which field you want to extract, and the option -d specifies what
is the field delimiter that is used in the input file.
The following example displays only first field
of each lines from /etc/passwd file using the field delimiter : (colon). In
this case, the 1st field is the username. The file
$ cut -d':' -f1 /etc/passwdrootdaemonbinsyssyncgamesbala
64. Select Multiple Fields from a File
You can also extract more than one fields from a
file or stdout. Below example displays username and home directory of users who
has the login shell as “/bin/bash”.
$ grep "/bin/bash" /etc/passwd | cut
-d':' -f1,6root:/rootbala:/home/bala
To display the range of fields specify start
field and end field as shown below. In this example, we are selecting field 1
through 4, 6 and 7
$ grep "/bin/bash" /etc/passwd | cut
-d':' -f1-
4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash
65. Select Fields Only When a Line Contains the
Delimiter
In our /etc/passwd example, if you pass a
different delimiter other than : (colon), cut will just display the whole line.
In the following example, we’ve specified the
delimiter as | (pipe), and cut command simply displays the whole line, even
when it doesn’t find any line that has | (pipe) as delimiter.
$ grep "/bin/bash" /etc/passwd | cut
-d'|'
-f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash
But, it is possible to filter and display only
the lines that contains the specified delimiter using -s option.
The following example doesn’t display any
output, as the cut command didn’t find any lines that has | (pipe) as delimiter
in the /etc/passwd file.
$ grep "/bin/bash" /etc/passwd | cut
-d'|' -s -f1
66. Select All Fields Except the Specified
Fields
In order to complement the selection field list
use option –complement.
The following example displays all the fields
from /etc/passwd file except field 7
$ grep "/bin/bash" /etc/passwd | cut
-d':' --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala
67. Change Output Delimiter for Display
By default the output delimiter is same as input
delimiter that we specify in the cut -d option.
To change the output delimiter use the option
–output-delimiter as shown below. In this example, the input delimiter is :
(colon), but the output delimiter is # (hash).
$ grep "/bin/bash" /etc/passwd | cut
-d':' -s -f1,6,7
--output-delimiter='#'root#/root#/bin/bashbala#/home/bala#/bin/bash
68. Change Output Delimiter to Newline
In this example, each and every field of the cut
command output is displayed in a separate line. We still used
–output-delimiter, but the value is $’\n’ which indicates that we should add a
newline as the output delimiter.
$ grep bala /etc/passwd | cut -d':' -f1,6,7
--output-delimiter=$'\n'bala/home/bala/bin/bash
69 Install the mailx command
On Ubuntu/Debian based systems the mailx command
is available from 2 different packages -
1. heirloom-mailx
2. 2.
bsd-mailx
We shall be using the heirloom-mailx package
because it has more features and options.
On CentOS/Fedora based systems, there is only
one package named "mailx" which is the heirloom package.
To find out what mailx package is installed on
your system, check the "man mailx" output and scroll down to the end
and you should see some useful information.
# ubuntu/debian$ sudo apt-get install
heirloom-mailx # fedora/centos$ sudo yum install mailx
EmoticonEmoticon