Your SlideShare is downloading. ×
11 qlx02vutil
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

11 qlx02vutil

88
views

Published on

Published in: Education, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
88
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Unit 11 Linux Utilities
  • 2. Objectives_ After completing this unit, you should be able to: • Use the find and locate command to search for files • Use the cut command to list specific columns of a file • Use the grep command to search text files for patterns • Use the head and tail commands to view specific lines in a file • Use the sort command to sort the contents of a file • Use the type, which and whereis commands to find commands • Use the file command to find out the content of a file • Use the join and paste commands to combine files • Manipulate files with gzip, gunzip and zcat
  • 3. The find Command • Search one or more directory structures for files that meet certain specified criteria • Display the names of matching files or execute commands against those files Syntax: $ find path expression
  • 4. Sample Directory Structure blue box big brown circle giant green phone little square small
  • 5. Using find • Generally, you want to search a directory structure for files with certain names and list the names found. $ CD /HOME/JOE $ FIND . - NAME PHONE ./SHAPE/PHONE ./PHONE On many other UNIX systems, with find you have to tell it specifically to print the names using -print $ FIND . -NAME PHONE -PRINT ./SHAPE/PHONE ./PHONE
  • 6. Executing Commands with find •The -exec option executes a command on each of the file names found. $ find . -name 'b*' -exec ls -i {} ; 187787 ./color/blue 187788 ./color/brown 187792 ./shape/box 202083 ./size big 132754 ./blues " { } " IS A PLACEHOLDER FOR EACH FILENAME. THE BACKSLASH ESCAPES THE FOLLOWING SEMICOLON.
  • 7. Interactive Command Execution •The -ok option also causes command execution but on an interactive basis: $ find . -NAME B* -OK RM {} ; < RM .. ./COLOR/BLUE > ? Y < RM .. ./color/brown > ? y < rm .. ./SHAPE/BOX > ? Y < rm .. ./size/big > ? y < rm .. ./blues > ? y
  • 8. Additional find Options type size mtime perm user newe r o a f d + n - n n c + x - x x onum mode user ordinary file directory larger than n blocks smaller than n blocks equal to n characters modified more than x days ago modified less than x days ago modified x days ago access permissions match onum access permissions match mode finds files owned by user file was modified more recently than ref.file Logical OR Logical AND
  • 9. find Examples $ find . -perm 777 ./SIZE/LITTLE File matches expr 1 and expr 2: $ find . - name 'S*' -type f -a -size +2 >-exec ls -i {} ; 187791 ./SHAPE/SQUARE 202086 ./SIZE/SMALL File matches expr 1 or expr 2: $ find . -name big -o -name 'c*' ./COLOR ./SHAPE/CIRCLE ./SIZE/BIG
  • 10. locate Command locate allows you to quickly find a file on the system, based on simple criteria $ locate passwd /USR/SHARE/MAN/MAN1/PASSWD.1.GZ /USR/SHARE/MAN/MAN5/PASSWD.5.GZ /ETC/PASSWD /USR/BIN/PASSWD • Requires that the superuser runs updatedb regularly • Most distributions run updatedb automatically •SuSE does not install locate/updatedb by default
  • 11. The cut Command • Pull selected columns or fields from one or more files. • Syntax: cut -f(ields) -d(elimiter) file(s) cut - c(haracters) file(s)
  • 12. cut Example (1) $ cat /etc/passwd root:x:0:0:Big Brother:/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown tux1:x:500:500::/home/tux1:/bin/bash tux2:x:501:501::/home/tux2:/bin/bash $ cut -f1,6,7 -d: /etc/passwd root:/root:/bin/bash shutdown:/sbin:/sbin/shutdown tux1:/home/tux1:/bin/bash tux2:/home/tux2:/bin/bash
  • 13. cut Example (2) $ ps PID TTY STAT TIME COMMAND 374 p0 S 0:00 -bash 460 p0 R 0:00 ps $ ps cut -c-5,20- PID COMMAND 374 -bash 471 ps
  • 14. The grep Command • Searches one or more files or standard input for lines matching pattern • Simple match or Regular Expression Syntax grep [options] pattern [filel ...]
  • 15. grep Sample Data Files • Phone 1: Allet 10300 intern Judith 20500 intern Kees 30500 extern Leo 40599 extern Nannie 50599 extern Peter 60300 intern Phone 2: Allet 1342 intern Judith 2083 intern Kees 3139 extern Leo 4200 intern Nannie 5200 intern Peter 6342 extern
  • 16. Basic grep $ grep 20 phonel Judith 20500 intern $ grep 20 phone* phonel: Judith 20500 intern phone2: Judith 2083 intern phone2: Leo 4200 intern phone2: Nannie 5200 intern $ grep -v Judith phone2 Allet 1342 intern Kees 3139 extern Leo 4200 intern Nannie 5200 intern Peter 6342 extern
  • 17. grep with Regular Expressions • Patterns with metacharacters should be in single quotes (' ') so that the shell will leave it alone * Valid metacharacters with grep: $ . * A [ - ] . ANY SINGLE CHARACTER Zero or more occurrences of the preceding character Any ONE of the characters in the range a through f Any line that starts with a Any line that ends with z [a- f] AA z$
  • 18. Regular Expression 1. Display all the processes that belong to tuxl Using grep, write commands to select the following lines from the phonel file: 2. Select all the lines of the file (blank and non-blank) grep_phonel 3. Select all the lines that contain an e and end in a 0 grep_phone 1
  • 19. grep Options -v Print lines that do not match -c Print only a count of matching lines -l Print only the names of the files with matching lines -n Number the matching lines -i Ignore the case of letters when making comparisons -w Do a whole word search -f <file> Read expressions from file instead of command line
  • 20. Other greps • fgrep allows only fixed strings (no regular expressions) • egrep allows for multiple (alternate) patterns $ egrep ■20500|40599|50599' PHONE1 Judith 20500 intern Leo 40599 extern Nannie 50599 extern •What does the following command do? $ grep 30 phone1 | grep intern ????????
  • 21. The sort Command •The sort command sorts the lines in the file specified and writes the result to standard output sort -t(delimiter) +field -options file $ cat animals dog.2 cat.4 penguin.10 $ sort animals cat.4 dog.2 penguin.10
  • 22. sort Examples $ sort +0.1 animals cat.4 penguin.10 dog.2 $ sort -t. +1 animals penguin.10 dog .2 cat.4 $ sort -t. -n +1 animals dog. 2 cat.4 penguin.10 Options: -d sorts in dictionary order. Only letters, digits and spaces are considered in comparisons -r reverses the order of the specified sort -n sorts numeric fields in arithmetic value
  • 23. The head and tail Commands •The head command can be used to view the first few lines of a file or files. The command syntax is: $ head [- lines] file(s) $ HEAD -5 MYFILE $ LS -L | HEAD -12 •The tail command displays the last few lines of a file or files. The command syntax is: $ tail [{-lines|+lines|- f}] file(s) $ tail -20 file $ tail +20 file $ tail -f file
  • 24. The type, which and whereis Commands •To find out what the path to a command is, use type $ type find echo find is /usr/bin/find echo is a shell builtin •To find out where the binary is located, use which $ which find echo /USR/BIN/FIND /BIN/ECHO •To locate the binary, source and manual page files of a command, use whereis $ whereis find echo find: /usr/bin/find /usr/man/man1/find.1 echo: /bin/echo /usr/man/man1/echo.1
  • 25. The file Command •With the file command, you can find out what the type of data in the file is. $ FILE /ETC/PASSWD /BIN/LS /HOME/PETER /TMP/FAKE.JPG /ETC/PASSWD: ASCII TEXT /BIN/LS: ELF 32-BIT LSB EXECUTABLE, INTEL 80386, version 1, dynamically linked, stripped /home/peter: directory /TMP/FAKE.JPG: PDF DOCUMENT, VERSION 1.3
  • 26. The gzip, gunzip and zcat Commands To compress or uncompress files use gzip, gunzip or zcat $ ls -l file1 -rw-rw-r-- 1 team01 team01 32031 Apr 6 23:40 file1 $ gzip -v file1 file1: 89.9% -- replaced with file1.gz $ ls -l file1.gz -rw-rw-r-- 1 team01 team01 3265 Apr 6 23:40 file1.gz $ zcat file1 (output is the same as the output of the cat command with the uncompressed file) $ gunzip file1 $ ls -l file1 -rw-rw-r-- 1 team01 team01 32031 Apr 6 23:40 file1
  • 27. The join and paste Commands join and paste combine files $ cat one a apple another b bee beast $ cat two a ape b broken $ join one two a apple another ape b bee beast broken $ paste one two a apple another a ape b bee beast b broken
  • 28. Checkpoint T/F 1. The command ps -aux | grep tux | grep netscape lists all Netscape processes of a user named tux. 2. Which command would best be used to locate all files in your system that begin with the string "team"? a. find / -name "Ateam" b. find / -name "team*" c. find / -name "*team*" d. find / -type f -name "team" 3. Translate the following command into your native language: LS -LR | EGREP "TXT$|TAB$"| SORT -RN +4 | TAIL +4 | HEAD -5
  • 29. Unit Summary The following commands were considered: •The find command is used to recursively search directories for files with particular characteristics •The grep command is used to select entire lines containing a particular pattern •The head and tail commands are used to view specific lines in a file •The sort command sorts the contents of a file by the options specified • Find out where you can find commands with type, where and whereis •The gzip, zcat and gunzip commands can be used to create and work with compressed files