courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob...

33

Transcript of courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob...

Page 1: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

Page 2: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● – – grep–

Page 3: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● ●

● ● ● ● ●

Page 4: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● ls -l *.txt●

– –

Page 5: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● – mkdir hw1/{old,new,test}

– hw1/old, hw1/new, hw1/test

● – ~bob

– ~

● *, ?, [–

Page 6: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● *

● ?

● [ ]– [abc][a-c]

● [!abc] [^abc]

● “. ”●

– mv mytaxes*19* very-old

– mv mytaxes*200[0-4]* old

Page 7: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

abcdef  abcXdef  abcXXdef  abcYdef  CVS  zzzz

> ls abc*def

abcdef  abcXdef  abcXXdef  abcYdef

> ls abc?def

abcXdef  abcYdef

> ls [!zC]*

abcdef  abcXdef  abcXXdef  abcYdef

Page 8: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● \x x

● 'xxx'

● “xxx”$``\

Page 9: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

a.txt, a*.txt, a?*.txt

> ls a*.txt

a?*.txt  a.txt  a*.txt

> ls a\*.txt

a*.txt

> ls a\?\*.txt

a?*.txt

> ls “a?*.txt”  ls 'a?*.txt'

a?*.txt

Page 10: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● history

● !– !!

– !n

– ●

Page 11: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● – ~/.bashrc

● ●

– alias ls=”ls ­­color”

– alias ls

– unalias ls 

Page 12: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● ● “ ”

Page 13: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

C-x C-f:

C-x 5 f

C-x C-s

C-x C-w

C-x C-c:

C-x b

C-g:

Page 14: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● C-k

● C-y

● M-/MESC

● C-x 2C-x 0● ●

● “”

Page 15: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● ● ●

Page 16: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● ●

– ●

– – $?

Page 17: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● “ ”

● –

● –

● – –

Page 18: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● cmd < file

● cmd > file

● cmd >> file

● cmd 2> file

● cmd &> file

Page 19: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

man ls > manual­page.txt

man idonotexit > manual­page.txt

man idonotexit 2> manual­page.txt

man ls > manual­page.txt 2>&1

man idonotexist > manual­page.txt 2>&1

man ls &> manual­page.txt

man ls >> manual­page.txt

history > my­history

Page 20: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

cmd1 | cmd2

● –

– wc –help | less– history | grep man

Page 21: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● cmd1; cmd2

● cmd1 || cmd2– “ ”

● cmd1 && cmd2 ● cmd1 `cmd2`

– – mkdir `whoami`

– echo `date`

Page 22: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● – – – –

Page 23: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● #!/bin/bash– –

● ● trivial.sh

#!/bin/bash

echo “Hello world”

Page 24: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● chmod u+x my_script.sh

./my_script.sh

● bash my_script.sh

● source my_script.sh

– variable.sh

Page 25: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● #!/bin/bash

echo “Hello world”

● > chmod u+x trivial.sh

> ./trivial.sh● “ ” “ ”

“ ”

Page 26: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● #!/bin/bash

echo “Hello world”

● #!/bin/bash

echo “Hello world” > &2

Page 27: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● – i=42

– q=”What is the answer”

● – echo $q $i

– a=”The answer is $i”

● – a2=”The answers are ${i}s”

Page 28: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

> chmod u+x variable.sh

> ./variable.sh

Hello World

Value of MYVAR is 3

> echo $MYVAR

              

Page 29: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

> source variable.sh

Hello World

Value of MYVAR is 3

> echo $MYVAR

3             

Page 30: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● $i

● $0

● $#●

if [ $# -lt 1 ]

then

...

fi

Page 31: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● test [ – [ ]

– [ aabb = aabb ]

– [ 1 ­lt 5]

–  [ ­e my­file ]

– -a-o● [ -f $1 -o -d $1 ]

– && ||● [ -f $1 ] || [ -d $1 ]

Page 32: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● – –

– ●

Page 33: courses.cs.washington.edu · –mkdir hw1/{old,new,test} – hw1/old, hw1/new, hw1/test – ~bob – [abc] [a-c]

● “ ”

● – –