Session4

Post on 11-May-2015

766 views 2 download

Tags:

Transcript of Session4

L2B Second Linux Course

Please visit our Facebook Group

Session4

L2B Linux course

L2B Second Linux Course

Session outlines: Text Processing Tools Text Processing Tools Exercises VIM VIM Exercises Basic System Configuration Tools

L2B Linux course

L2B Second Linux Course

Text Processing Tools

L2B Linux course

L2B Second Linux Course

Extracting Text cat

• One or more files less

• Easy to read• /text• n/N• v open an editor• Used by man command to present man pages

L2B Linux course

L2B Second Linux Course

Extracting Text head

• First 10 lines only• -n change number of lines

tail• Last 10 lines only• -n change number of lines• -f monitoring the file

L2B Linux course

L2B Second Linux Course

Extracting Text cut

• Display specific columns• -d column delimiter• -f number of field• -c cut by characters

– cut -c2-5 /usr/share/dict/words

L2B Linux course

L2B Second Linux Course

Extracting Text Grep

• Display lines where a pattern is matched• -i case-insensitively• -n print line numbers of matches• -v print lines not containing pattern• -AX include the X lines after each match• -Bx include the X lines before each match

L2B Linux course

L2B Second Linux Course

Tools for Analyzing Text wc

• Counts words, lines, bytes and characters• -l only line count• -w only word count• -c only byte count• -m character count (not displayed)

L2B Linux course

L2B Second Linux Course

Tools for Analyzing Text sort

• Sort text and original file is not changed• -r reverse (descending) sort• -n numeric sort• -u (unique) removes duplicate lines• -t c field separator• -k X which field• uniq & uniq -c

L2B Linux course

L2B Second Linux Course

Tools for Analyzing Text diff and patch

• diff foo.conf-broken foo.conf-works• -u better for patchfiles• Patching

– diff -u foo.conf-broken foo.conf-works > foo.patch– patch -b foo.conf-broken foo.patch

L2B Linux course

L2B Second Linux Course

Tools for Analyzing Text aspell

• Interactively spell-check files:– aspell check letter.txt

• Non-interactively list mis-spelled words in– Only reads data from standard input– aspell list < letter.txt

L2B Linux course

L2B Second Linux Course

Tools for Manipulating Text

tr and sed

L2B Linux course

L2B Second Linux Course

Tools for Manipulating Text Tr

• Converts characters in one set to corresponding characters in another set

• Only reads data from STDIN• tr 'a-z' 'A-Z' < lowercase.txt

L2B Linux course

L2B Second Linux Course

sed (stream editor) search/replace operations on a stream of text Normally does not alter source file -i to alter source file -i.bak to back-up and alter source file

L2B Linux course

L2B Second Linux Course

sed Examples sed 's/dog/cat/i' pets sed 's/dog/cat/g' pets sed '1,50s/dog/cat/g' pets sed '/digby/,/duncan/s/dog/cat/g' pets sed -e 's/dog/cat/' -e 's/hi/lo/' pets

L2B Linux course

L2B Second Linux Course

Characters for Complex Searches ^ represents beginning of line $ represents end of line Character classes as in bash:

• [abc], [^abc]• [[:upper:]], [^[:upper:]]

Used by: grep, sed, less, others

L2B Linux course

L2B Second Linux Course

VIM

L2B Linux course

L2B Second Linux Course

VIM Advantages: Speed: Do more with fewer keystrokes Simplicity: No dependence on mouse/GUI Availability: Included with most Unix-like OSes

Disadvantages Difficulty: Steeper learning curve than simpler

editors

L2B Linux course

L2B Second Linux Course

Three main modes: Command Mode (default): Move cursor,

cut/paste text Insert Mode: Modify text Exit Mode: Save, quit, etc

L2B Linux course

L2B Second Linux Course

First steps with vim vim filename(command mode) Insert mode

• I at the cursor • A append to end of line• I insert at beginning of line• o insert new a line (below)• O insert new line (above)

Exit mode• :w writes (saves) the file to disk• :wq writes and quits• :q! quits, even if changes are lost

L2B Linux course

L2B Second Linux Course

Command Mode Right Arrow moves right one character 5, Right Arrow moves right five characters Arrow Keys, h, j, k, l (the same as arrows) w, b Move by word ), ( Move by sentence }, { Move by paragraph xG Jump to line x gg Jump to the first line G Jump to the last line

L2B Linux course

L2B Second Linux Course

Command Mode As in less

• /, n, N As in sed The selected line only

• :1,5s/cat/dog/ All of the entire file

• :%s/cat/dog/gi

L2B Linux course

L2B Second Linux Course

Command Mode Line

• cc • dd • yy

Letter• cl • dl • yl

L2B Linux course

L2B Second Linux Course

Command Mode Word

• cw• dw • yw

Sentence ahead• c) • d) • y)

L2B Linux course

L2B Second Linux Course

Command Mode Sentence behind

• c(• d( • y(

Paragraph above • c{ • d{ • y{

L2B Linux course

L2B Second Linux Course

Command Mode Paragraph below

• c} • d} • y}

u undo Ctrl-r redo U undo all changes to the last modified line

L2B Linux course

L2B Second Linux Course

Command Mode v starts character-oriented highlighting V starts line-oriented highlighting Visual keys used with movement keys:

• w, ), }, arrows Highlighted text can be

• Deleted• Yanked• Changed• Filtered• search/replaced, etc.

L2B Linux course

L2B Second Linux Course

Command Mode Ctrl-w, s splits the screen horizontally Ctrl-w, v splits the screen vertically Ctrl-w, Arrow moves between windows Ctrl-w twice, Arrow moves between windows To search for help inside vim convert to the

exit mode and ask for help by running the following

• :help

L2B Linux course

L2B Second Linux Course

Configuring vi and vim :set

• :set number• :set all• :set number (:se nu)• :set nonumber (:se nonu)• :set ignorecase (:se ic)• :set noignorecase (:se noic)• :set showmatch (:se sm)• :set noshowmatch(:se nosm)• :set autoindent• :set noautoindent

L2B Linux course

L2B Second Linux Course

Configuring vi and vim :help :help something :set

• :set textwidth=3• :set textwidth=0• :set wrapmargin=10• :set wrapmargin=0

~/.vimrc vimtutor

L2B Linux course

L2B Second Linux Course

Basic System Configuration Tools

L2B Linux course

L2B Second Linux Course

Introduction Network interfaces are named sequentially:

eth0, eth1, etc Multiple addresses can be assigned to a

device with aliases Aliases are labeled eth0:1, eth0:2, etc. Aliases are treated like separate interfaces View interface configuration with :

ifconfig [ethX] Enable interface with ifup ethX Disable interface with ifdown ethX

L2B Linux course

L2B Second Linux Course

Graphical Network Configuration system-config-network System > Administration > Network

Network Configuration Files For Devices /etc/sysconfig/network-scripts/ifcfg-ethX Complete list of options in

/usr/share/doc/initscripts-*/sysconfig.txt

L2B Linux course

L2B Second Linux Course

Example Of Dynamic Configuration DEVICE=ethX HWADDR=0:02:8A:A6:30:45 BOOTPROTO=dhcp ONBOOT=yes Type=Ethernet

L2B Linux course

L2B Second Linux Course

Example Of Static Configuration DEVICE=ethX HWADDR=0:02:8A:A6:30:45 IPADDR=192.168.0.254 NETMASK=255.255.255.0 GATEWAY=192.168.2.254 ONBOOT=yes Type=Ethernet

L2B Linux course

L2B Second Linux Course

Network Configuration Files and Other Global Network Settings /etc/sysconfig/network

• NETWORKING=yes• HOSTNAME=server1.example.com• GATEWAY=192.168.2.254

L2B Linux course

L2B Second Linux Course

DNS configuration Server address is specified by dhcp or in

/etc/resolv.conf• nameserver 192.168.0.254• nameserver 192.168.1.254

L2B Linux course

L2B Second Linux Course

Setting the System's Date and Time GUI:

• system-config-date• System->Administration->Date & Time

CLI: date [MMDDhhmm[[CC]YY][.ss]]• date 01011330• Date 010113302007.05• Date 12312359• Date 123123592007• Date 01010101.01

L2B Linux course

L2B Second Linux Course

Scripting Taking input with positional parameters

• $1• $2• $3• $4, etc.• $*• $#

L2B Linux course

L2B L2B Second Linux Course Second Linux Course

Scripting Taking input with the read command

• read x• read -p "Enter a filename: " file

For More info Please Visit Our Facebook Group