Presentation is loading. Please wait.

Presentation is loading. Please wait.

Part 1: Basic Commands/Utilities

Similar presentations


Presentation on theme: "Part 1: Basic Commands/Utilities"— Presentation transcript:

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?


Download ppt "Part 1: Basic Commands/Utilities"

Similar presentations


Ads by Google