Download presentation
Presentation is loading. Please wait.
1
Part 1: Basic Commands/Utilities
2
Final Exam May 17th 3:00~4:00pm S-3-143
Same types of questions as in mid-term
3
Basic Utilities ls, cat, echo ls -l ls -a cat file1 file2 file3 …
e.g., regular file or directory, permissions, file size ls -a cat file1 file2 file3 … echo “hello world” > file echo $VAR, echo hello* echo –n “hello world”
4
Basic Utilities more, less, head, tail pwd, cd
head -5 file tail -f file pwd, cd cp, mv, rm, mkdir, rmdir ‘-i’ option ‘-r’ option: rm –r dir1, cp –r dir1 dir2 rmdir an empty directory
5
Basic Utilities sort, wc, grep, |(pipe) wc -l file, wc –c file
grep “keyword” file grep -v sort linux | head -5 command1 | command2 command1 > temp command2 < temp rm temp
6
Part 2: File Systems
7
Filename and Path Hierarchical tree structure Absolute path name
ls /home/it244/it244 Relative path name cd /home/it244 ls it244 ‘.’ ‘..’ ‘~’ ‘*’ ‘?’ echo hello*, echo ./.?a*
8
Access Permissions r, w, x (chmod) Execute permission of a directory
chmod a+rw file chmod a=rx file chmod 644 file Execute permission of a directory A directory is a table of files (filename:meta) Executable means searchable
9
Access Permissions Operations on book/book1 ls book/book1
book ( x ) cat book/book1 book1 ( r ), book ( x ) rm book/book1 book ( xw ), book1 ( w )
10
Links Hard link and soft link Hard link cannot refer to a directory
Soft link can point to a nonexistent file $ ln -s hello hello.sl $ rm hello $ echo “new” > hello $ cat hello.sl new
11
Part 3: Bash/Shell Scripting
12
Execute Commands Foreground and background jobs Group commands
command &, CTRL+Z difference between a suspended job and a background job, PID jobs, ps, kill, bg, fg Group commands (cmd1; cmd2; cmd3)
13
Redirection Standard input, output, error output
cat file1 file2 > out 2>err cat file1 file2 &> out cat file1 file2 > out 2>&1 Redirected output will not be displayed on the screen.
14
Variables System variables User defined variables $PATH, $PWD, $HOME
VAR=hello export VAR=hello declare; declare -x
15
Variables New shell for executing a script $cat script1 echo $VAR
VAR=new $VAR=old;./script1;echo $VAR $VAR=new ./script1;echo $VAR $export VAR=old;./script1;echo $VAR
16
Expansion/ Quote Types Single quote suspends all expansions
echo hello*; echo ~ echo $VAR echo $(pwd) echo $((1+1)) VAR=hello* Single quote suspends all expansions
17
Control Flow if..then..fi, if..then..else..fi, while test-command do
commands done for loop-index in argument-list
18
Control Flow Conditions test $# -eq 0 [ -f “$1” ]
[ condition1 –a condition2 ], -o [[ && ]], (( || )) Exit status $? if [ read <file $line ] …
19
Expressions Arithmetic Logic a=5;b=3;echo $((a%b)) echo $((a+++3))
cat abc && ls echo $?
20
Control Flow Boolean operators cond1 cond2 cond1 && cond2
True False false
21
Control Flow Boolean operators Short circuiting $((a=2, b=2))
$echo $a $b $((--a>2 || b++))
22
Control Flow Boolean operators Short circuiting
(($#==2)) || echo "Usage:require two arguments” mkdir $1 && cp file1 $1
23
Variables Arguments $$, $? $1-$n, $0, $#, $@ set shift set a 123 hello
echo $1 $2 $3 set $(date) shift echo $$, $?
24
File I/O exec read exec 3 < infile Write to a file
exec 4 > outfile read read -p “Enter sth: ” input1 input2 read <&3 line, read –u3 line Determine the end of a file $line has no value ‘read’ returns false Write to a file echo “abc” >&4
25
Expressions Arithmetic Logic a=5;b=3;echo $((a%b)) echo $((a+++3))
cat abc && ls echo $?
26
Part 4: Perl/AWK/SED
27
Run a Program Perl AWK SED perl simple.pl perl –e ‘print “hi\n”’
gawk -f simple file gawk ‘/chevy/ {print}’ file SED sed -f simple file sed ‘/line/ p’ file Stand-alone scripts #!/usr/bin/perl #!/usr/bin/gawk -f #!/bin/sed -f
28
Patterns AWK SED awk ‘/chevy/ {print}’ cars gawk ‘$1 ~ /h/’ cars
gawk ‘$5 > 2000 && $5<6000’ cars SED sed -n ‘3,6 p’ lines sed –n ‘s/line/sentence/w temp’ lines
29
File I/O in perl Read Write open ($infile, '<', “filename”);
while ($line=<$infile>){ print $line; } $line=<> Write $filename="./log"; open($outfile,'>',$filename); print $outfile "Hello world!\n";
30
Questions If we execute the following sequence of commands in order, what are the values of variables a, b and the output AFTER executing each line? $((a=1, b=2)) $echo $((a b++)) a=_0_, b=_3_, output=_3_ $echo $((a b)) a=_1_, b=_4_, output=_4_
31
Questions Read the following shell script and explain its function.
$ cat script1 #!/bin/bash count=0 for i in * then ((count++)) fi echo $count
32
Questions Read the following shell script and answer the questions
$cat script1 #!/bin/bash exec 3<$1 exec 4<$2 exec 5>$3 while read line <&3 do echo “$line” >&5 done while read line <&4 Q1. The script requires 3 filenames as arguments, e.g., ./script1 file1 file2 file3 Which files are input files and which are output files? Q2. Inside the while-loop, why variable “$line” has to be enclosed by double quotes?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.