SlideServe
Menu
Préférences
© SlideServe · v2026

Part 1: Basic Commands/Utilities

gefjun avatar
32 diapositives · 451 Views · Jan 13, 2013

Fundamental Linux commands and utilities necessary for final exam preparation are covered, including file management using commands such as ls, cat, and echo, along with file permissions using chmod. Shell scripting concepts are explained, including executing commands, managing foreground and background jobs, and using conditionals and loops for control flow. Advanced text-processing tools such as Perl, AWK, and SED are also covered for efficient data handling. The guide provides essential material for students preparing for exams on basic utilities and scripting.

Part 1: Basic Commands/Utilities - slide 1
01 / 32Part 1: Basic Commands/Utilities
1 / 17

Télécharger la présentation

Part 1: Basic Commands/Utilities
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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 • 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 • head -5 file • tail -f file • pwd, cd • cp, mv, rm, mkdir, rmdir • ‘-i’ option • ‘-r’ option: • rm –r dir1, cp –r dir1 dir2 • rmdiran 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) • chmoda+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 • 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 • $PATH, $PWD, $HOME • User defined variables • VAR=hello • export VAR=hello • declare; declare -x

  15. Variables • New shell for executing a script $cat script1 echo $VAR VAR=new echo $VAR $VAR=old;./script1;echo $VAR $VAR=new ./script1;echo $VAR $export VAR=old;./script1;echo $VAR

  16. Expansion/ Quote • Types • echo hello*; echo ~ • echo $VAR • echo $(pwd) • echo $((1+1)) • VAR=hello* • echo $VAR • 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 do commands done

  18. Control Flow • Conditions • test $# -eq 0 • [ -f “$1” ] • [ condition1 –a condition2 ], -o • [[ && ]], (( || )) • Exit status $? • if [ read <file $line ] …

  19. Expressions • Arithmetic • a=5;b=3;echo $((a%b)) • echo $((a+++3)) • Logic • cat abc && ls • echo $?

  20. Control Flow • Boolean operators

  21. Control Flow • Boolean operators • Short circuiting $((a=2, b=2)) $((a++ || b--)) $echo $a $b $((--a>2 || b++)) $echo $a $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 set a 123 hello echo $1 $2 $3 set $(date) • shift echo $@ shift echo $@ • $$, $?

  24. File I/O • exec exec 3 < infile 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 • a=5;b=3;echo $((a%b)) • echo $((a+++3)) • Logic • cat abc && ls • echo $?

  26. Part 4: Perl/AWK/SED

  27. Run a Program • Perl • perl simple.pl • perl –e ‘print “hi\n”’ • AWK • 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 • 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 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 do echo “$line” >&5 done • 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?