0 Suchmuster_für_Dateien
kraeml edited this page 2023-09-22 15:28:28 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Suchmuster für Dateien

cd ~/dateien
ls suchmuster
a1.txt    c1.txt    p22.dat     p-.c        prog1.c    prog-.c  rot.txt
a2.txt    c2.txt    p22.txt     p..c        prog2.c    prog.c   untitled.txt
a3.txt    c3.txt    p2.c        p.c         prog3.c    prog:.c
b1.txt    gelb.txt  p3.c        pop-rock.c  prog4.c    prog_.c
b2.txt    p1.c      p4.c        prog        prog5.c    progQ.c
b3.txt    p1.txt    pa.c        prog12.c    progabc.c  progx.c
blau.txt  p21.txt   paulchen.c  prog13.c    prog+.c    p.txt
ls suchmuster/p*.c
suchmuster/p1.c        suchmuster/pop-rock.c  suchmuster/prog+.c
suchmuster/p2.c        suchmuster/prog12.c    suchmuster/prog-.c
suchmuster/p3.c        suchmuster/prog13.c    suchmuster/prog.c
suchmuster/p4.c        suchmuster/prog1.c     suchmuster/prog:.c
suchmuster/pa.c        suchmuster/prog2.c     suchmuster/prog_.c
suchmuster/paulchen.c  suchmuster/prog3.c     suchmuster/progQ.c
suchmuster/p-.c        suchmuster/prog4.c     suchmuster/progx.c
suchmuster/p..c        suchmuster/prog5.c
suchmuster/p.c         suchmuster/progabc.c
ls suchmuster/p?.c
suchmuster/p1.c  suchmuster/p3.c  suchmuster/pa.c  suchmuster/p..c
suchmuster/p2.c  suchmuster/p4.c  suchmuster/p-.c
ls suchmuster/prog[123].c
suchmuster/prog1.c  suchmuster/prog2.c  suchmuster/prog3.c
ls suchmuster/prog[1-9].c
suchmuster/prog1.c  suchmuster/prog3.c  suchmuster/prog5.c
suchmuster/prog2.c  suchmuster/prog4.c

Achtung dies funktioniert anders als im Buch

ls suchmuster/prog[A-z].c
suchmuster/prog_.c  suchmuster/progQ.c  suchmuster/progx.c
ls suchmuster/prog[!A-z].c
suchmuster/prog1.c  suchmuster/prog3.c  suchmuster/prog5.c  suchmuster/prog-.c
suchmuster/prog2.c  suchmuster/prog4.c  suchmuster/prog+.c  suchmuster/prog:.c

Geschweifte Klammern

cd ~/dateien
if [ -d geschweifte ]; then rm -rf geschweifte; fi;
mkdir geschweifte
ls -d geschweifte
cd geschweifte
geschweifte
touch {rot,blau,gelb}.txt
ls -l *.txt
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:22 blau.txt
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:22 gelb.txt
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:22 rot.txt
touch {a,b,c}{1,2,3}.dat
ls -l *.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 a1.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 a2.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 a3.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 b1.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 b2.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 b3.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 c1.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 c2.dat
-rw-r--r-- 1 vagrant vagrant 0 Dez 22 12:25 c3.dat
mkdir -p umsatz/201{6,7}/q{1,2,3,4}
tree umsatz
umsatz
├── 2016
│   ├── q1
│   ├── q2
│   ├── q3
│   └── q4
└── 2017
    ├── q1
    ├── q2
    ├── q3
    └── q4

10 directories, 0 files

Übungen

  • C 6.7 [!1] Im aktuellen Verzeichnis stehen die Dateien

  • prog.c

  • p.txt

  • prog1.c

  • p1.txt

  • prog2.c

  • p21.txt

  • progabc.c

  • p22.txt

  • prog

  • p22.dat

Auf welche dieser Dateinamen passen die Suchmuster

(a) prog*.c, 
(b) prog?.c,
(c) p?*.txt, 
(d) p[12]*, 
(e) p*, 
(f) *.*
  • C 6.8 [!2] Was ist der Unterschied zwischen » ls « und » ls * «? (Tipp: Probieren Sie beides in einem Verzeichnis aus, das Unterverzeichnisse enthält.)

  • C 6.9 [2] Erklären Sie, warum das folgende Kommando zur angezeigten Ausgabe führt:

    $ ls -l datei1 datei2 datei3 $ ls * -rw-r--r-- 1 hugo users 0 Dec 19 11:24 datei1 -rw-r--r-- 1 hugo users 0 Dec 19 11:24 datei2 -rw-r--r-- 1 hugo users 0 Dec 19 11:24 datei3

  • C 6.10 [2] Warum ist es sinnvoll, dass » * « nicht auf Dateinamen mit Punkt am Anfang passt?

Kopieren, Verschieben und Löschen cp und Verwandte

cd ~/dateien
if [ -d kopieren ]; then rm -rf kopieren; fi;
mkdir kopieren
ls -lisa >> kopieren/liste
cd kopieren
md5sum liste
cp liste liste2
md5sum liste2
ls -l /etc/passwd
md5sum /etc/passwd
cp /etc/passwd .
ls -l
md5sum passwd
mv passwd liste2
ls -l
md5sum *
rm lis*
ls -l

Übungen

  • C 6.11 [!2] Legen Sie in Ihrem Heimatverzeichnis eine Kopie der Datei /etc/services unter dem Namen myservices an. Benennen Sie sie um in srv.dat und kopieren Sie sie unter demselben Namen ins Verzeichnis /tmp. Löschen Sie anschließend beide Kopien der Datei.

  • C 6.12 [1] Warum hat mv keine -R -Option wie cp?

  • C 6.13 [!2] Angenommen, in einem Ihrer Verzeichnisse steht eine Datei namens »- file« (mit einem Minuszeichen am Anfang des Namens). Wie würden Sie diese Datei entfernen?

  • C 6.14 [2] Wenn Sie ein Verzeichnis haben, in dem Sie nicht versehentlich einem »rm *« zum Opfer fallen wollen, können Sie dort eine Datei namens »- i« anlegen, etwa mit $ > -i (wird in Kapitel 7 genauer erklärt). Was passiert, wenn Sie jetzt das Kommando » rm * « ausführen, und warum?