103.3 Lektion 1
Zertifikat: |
LPIC-1 |
---|---|
Version: |
5.0 |
Thema: |
103 GNU- und Unix-Befehle |
Lernziel: |
103.3 Grundlegende Dateiverwaltung |
Lektion: |
1 von 2 |
Einführung
Alles in Linux ist eine Datei, daher ist es wichtig zu wissen, wie man diese manipulieren kann. In dieser Lektion behandeln wir grundlegende Dateienoperationen.
Im Allgemeinen sehen sich Linuxbenutzer mit der Aufgabe konfrontiert durch das Dateisystem zu navigieren, Dateien von einem Ort zum Anderen zu kopieren und Dateien zu löschen. Wir werden ebenfalls die mit der Dateiverwaltung verbundenen Befehle behandeln.
Eine Datei ist eine Entität, die Daten oder Programme speichert. Sie besteht aus Inhalt und Metadaten (Dateigröße, Eigentümer, Erstellungsdatum, Berechtigungen). Dateien sind in Verzeichnissen organisiert. Ein Verzeichnis ist eine Datei, die andere Dateien beherbergt.
Die verschiedenen Dateitypen umfassen:
- Reguläre Dateien
-
die Daten und Programme speichern.
- Verzeichnisse
-
die andere Dateien enthalten.
- Spezielle Dateien
-
die für die Ein- und Ausgabe verwendet werden.
Natürlich gibt es auch andere Arten von Dateien, aber das übersteigt den Rahmen dieser Lektion. Später werden wir erörtern, wie diese verschiedenen Dateitypen identifiziert werden können.
Dateimanipulation
Verwendung von ls
zum Auflisten von Dateien
Der Befehl ls
ist eines der wichtigsten Kommandozeilenwerkzeuge, welches es zu beherrschen gilt, um sich in Dateisystemen zurechtzufinden.
In seiner Grundform wird ls
nur Datei- und Verzeichnisnamen auflisten:
$ ls Desktop Downloads emp_salary file1 Music Public Videos Documents emp_name examples.desktop file2 Pictures Templates
Bei Verwendung mit -l
, bezeichnet als long listing
Format, zeigt es Datei- oder Verzeichnisberechtigungen, Eigentümer, Speichergröße, Änderungsdatum, Zeit und Name an:
$ ls -l total 60 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8980 Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Music drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Public drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Videos
Das erste Zeichen in der Ausgabe gibt den Dateityp an:
-
-
für eine reguläre Datei.
d
-
für ein Verzeichnis.
c
-
für eine spezielle Datei.
Um die Dateigrößen in einem für Menschen lesbaren Format anzuzeigen, fügen Sie die Option -h
hinzu:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
Um alle Dateien einschließlich versteckter Dateien (welche mit .
beginnen) aufzulisten, benutzen Sie die Option -a
:
$ ls -a . .dbus file1 .profile .. Desktop file2 Public .bash_history .dmrc .gconf .sudo_as_admin_successful
Konfigurationsdateien wie .bash_history
, die standardmäßig versteckt sind, sind jetzt sichtbar.
Im Allgemeinen lautet die Befehlssyntax von ls
wie folgt:
ls OPTIONEN DATEI
Wobei OPTIONEN
irgendeine der zuvor gezeigten Optionen darstellt (um alle möglichen Optionen zu sehen, führen Sie man ls
aus), und DATEI
ist der Name der Datei oder des Verzeichnisses, welches aufgelistet werden soll.
Note
|
Wenn |
Erstellen, Kopieren, Verschieben und Löschen von Dateien
Dateien mit touch
erstellen
Der Befehl touch
ist der einfachste Weg, um neue, leere Dateien zu erstellen. Sie können ihn auch benutzen, um den Zeitstempel (d.h. die Änderungszeit) bestehender Dateien und Verzeichnisse zu ändern. Die Syntax für die Verwendung von touch
lautet:
touch OPTIONEN DATEI_NAME(N)
Ohne irgendwelche Optionen würde touch
neue Dateien für alle Dateinamen erzeugen, die als Argumente geliefert werden, vorausgesetzt, dass Dateien mit solchen Namen nicht bereits existieren. touch
kann eine beliebige Anzahl von Dateien gleichzeitig erzeugen:
$ touch file1 file2 file3
Dies würde drei neue sowie leere Dateien mit den Namen file1
, file2
und file3
erzeugen.
Mehrere touch
Optionen wurden speziell dafür entwickelt, dem Benutzer die Möglichkeit zu geben, die Zeitstempel für Dateien zu ändern. Zum Beispiel ändert die Option -a
nur die Zugriffszeit, während die Option -m
nur die Änderungszeit verändert. Die Verwendung beider Optionen zusammen ändert sowohl die Zugriffs- als auch die Änderungszeit auf die aktuelle Systemzeit:
$ touch -am file3
Kopieren von Dateien mit cp
Als Linuxbenutzer werden Sie oft Dateien von einem Ort an einen Anderen kopieren. Ob es sich um das Verschieben einer Musikdatei von einem Verzeichnis in ein Anderes oder um eine Systemdatei handelt, verwenden Sie cp
(copy) für alle Kopieraufgaben:
$ cp file1 dir2
Dieser Befehl kann wörtlich als Kopie von file1
in das Verzeichnis dir2
interpretiert werden. Das Ergebnis ist das Vorhandensein von file1
innerhalb von dir2
. Damit dieser Befehl erfolgreich ausgeführt werden kann, muss file1
im aktuellen Verzeichnis des Benutzers vorhanden sein. Andernfalls meldet das System einen Fehler mit der Meldung No such file or directory
.
$ cp dir1/file1 dir2
Beachten Sie in diesem Fall, dass der Pfad zu file1
eindeutiger ist. Der Quellpfad kann entweder als relativer oder als absoluter Pfad ausgedrückt werden. Relative Pfade werden in Bezug auf ein bestimmtes Verzeichnis angegeben, während absolute Pfade nicht mit einem Verweis angegeben werden. Im Folgenden wird dieser Begriff näher erläutert.
Beachten Sie vorerst nur, dass dieser Befehl file1
in das Verzeichnis dir2
kopiert. Der Pfad zu file1
wird konkret angegeben, da sich der Benutzer zur Zeit nicht in dir1
befindet.
$ cp /home/frank/Documents/file2 /home/frank/Documents/Backup
In diesem dritten Fall wird file2
, welche sich in /home/frank/Documents
befindet, in das Verzeichnis /home/frank/Documents/Backup
kopiert. Der hier angegebene Quellpfad ist absolut. In den beiden obigen Beispielen sind die Quellpfade relativ. Wenn ein Pfad mit dem Zeichen /
beginnt, handelt es sich stets um einen absoluten Pfad, ansonsten um einen relativen Pfad.
Die allgemeine Syntax für cp
lautet:
cp OPTIONEN QUELLE ZIEL
QUELLE
ist die zu kopierende Datei und ZIEL
das Verzeichnis, in das die Datei kopiert werden soll. QUELLE
und ZIEL
können entweder als absolute oder relative Pfade angegeben werden.
Verschieben von Dateien mit mv
Genau wie cp
zum Kopieren bietet Linux einen Befehl zum Verschieben und Umbenennen von Dateien. Er wird mv
(move) genannt.
Die Verschiebeoperation ist analog zu der Ausschneide- und Einfügeoperation, die Sie im Allgemeinen über eine grafische Benutzeroberfläche (GUI) durchführen.
Wenn Sie eine Datei an einen neuen Ort verschieben möchten, verwenden Sie mv
auf folgende Weise:
mv DATEINAME ZIEL_VERZEICHNIS
Hier ein Beispiel:
$ mv myfile.txt /home/frank/Documents
Das Ergebnis ist, dass myfile.txt
in das Ziel /home/frank/Dokumente
verschoben wird.
Um eine Datei umzubenennen, wird mv
wie folgt verwendet:
$ mv old_file_name new_file_name
Dadurch wird der Name der Datei von old_file_name
in new_file_name
geändert.
Standardmäßig wird mv
nicht nach einer Bestätigung fragen (technisch gesagt “would not prompt”), wenn Sie eine bestehende Datei überschreiben (umbenennen) wollen. Sie sollten das System jedoch anweisen, Sie mittels der Option -i
danach zu fragen:
$ mv -i old_file_name new_file_name mv: overwrite 'new_file_name'?
Dieser Befehl würde den Benutzer um Erlaubnis fragen, bevor new_file_name
mit old_file_name
überschrieben wird.
Umgekehrt wird -f
verwendet:
$ mv -f old_file_name new_file_name
würde die Datei zwangsweise überschreiben, ohne irgendeine Rückfrage.
Löschen von Dateien mit rm
rm
wird zum Löschen von Dateien verwendet. Stellen Sie es sich als eine abgekürzte Form des Wortes “remove” vor. Beachten Sie, dass die Aktion des Entfernens einer Datei normalerweise irreversibel ist, daher sollte dieser Befehl mit Vorsicht verwendet werden.
$ rm file1
Dieser Befehl löscht file1
.
$ rm -i file1 rm: remove regular file 'file1'?
Dieser Befehl würde den Benutzer vor dem Löschen von file1
um eine Bestätigung bitten. Erinnern Sie sich, wir haben oben bei der Verwendung von mv
bereits die Option -i
kennengelernt.
$ rm -f file1
Dieser Befehl löscht file1
, ohne eine Bestätigung einzuholen.
Es können auch mehrere Dateien gleichzeitig gelöscht werden:
$ rm file1 file2 file3
In diesem Beispiel werden file1
, file2
und file3
gleichzeitig gelöscht.
Die Syntax für rm
lautet:
rm OPTIONEN DATEI
Erstellen und Löschen von Verzeichnissen
Verzeichnisse mit mkdir
erstellen
Das Erstellen von Verzeichnissen ist entscheidend für die Organisation Ihrer Dateien und Ordner. Dateien können auf logische Weise gruppiert werden, indem man sie innerhalb eines Verzeichnisses aufbewahrt. Um ein Verzeichnis zu erstellen, benutzen Sie mkdir
(make directory):
mkdir OPTIONEN VERZEICHNIS_NAME
wobei VERZEICHNIS_NAME
der Name des zu erstellenden Verzeichnisses darstellt. Es können beliebig viele Verzeichnisse gleichzeitig erstellt werden:
$ mkdir dir1
würde das Verzeichnis dir1
im aktuellen Verzeichnis des Benutzers erzeugen.
$ mkdir dir1 dir2 dir3
Der vorhergehende Befehl würde die drei Verzeichnisse dir1
, dir2
und dir3
gleichzeitig erzeugen.
Um ein Verzeichnis zusammen mit seinen Unterverzeichnissen zu erstellen, verwenden Sie die Option -p
(“parents”):
$ mkdir -p parents/children
Dieser Befehl würde die Verzeichnisstruktur parents/children
erzeugen, d.h. er würde die Verzeichnisse parents
und children
erzeugen. children
würde sich innerhalb von parents
befinden.
Entfernen von Verzeichnissen mit rmdir
rmdir
(remove directory) löscht ein Verzeichnis wenn es leer ist. Die Syntax lautet wie folgt:
rmdir OPTIONEN VERZEICHNIS
wobei VERZEICHNIS
ein einzelnes Argument oder eine Liste von Argumenten sein kann.
$ rmdir dir1
Dieser Befehl löscht dir1
.
$ rmdir dir1 dir2
Dieser Befehl würde gleichzeitig dir1
und dir2
löschen.
Sie können ein Verzeichnis auch mit seinem Unterverzeichnis entfernen:
$ rmdir -p parents/children
Dies würde die Verzeichnisstruktur parents/children
entfernen. Beachten Sie, dass wenn eines der Verzeichnisse nicht leer ist, der Befehl fehlschlägt.
Rekursive Manipulation von Dateien und Verzeichnissen
Um ein Verzeichnis und seinen Inhalt zu manipulieren, müssen Sie eine Rekursion anwenden. Rekursion bedeutet, eine Aktion durchzuführen und diese Aktion im gesamten Verzeichnisbaum zu wiederholen. Unter Linux werden die Optionen -r
, -R
oder --recursive
für ein Rekursion verwendet.
Das folgende Szenario wird uns helfen, die Rekursion besser zu verstehen:
Sie listen den Inhalt eines Verzeichnisses students
auf, das zwei Unterverzeichnisse level 1
und level 2
sowie die Datei namens frank
enthält. Durch Anwendung der Rekursion würde der Befehl ls
den Inhalt von students
auflisten, d.h. level 1
, level 2
und frank
, aber er würde dort nicht enden. Er würde gleichermaßen die Unterverzeichnisse level 1
und level 2
betreten und deren Inhalt auflisten und so weiter und so weiter.
Rekursive Auflistung mit ls -R
ls -R
wird verwendet, um den Inhalt eines Verzeichnisses zusammen mit seinen Unterverzeichnissen und Dateien aufzulisten.
$ ls -R mydirectory mydirectory/: file1 newdirectory mydirectory/newdirectory:
In der obigen Auflistung ist mydirectory
einschließlich seines gesamten Inhalts aufgeführt. Sie können beobachten, dass mydirectory
das Unterverzeichnis newdirectory
und die Datei file1
enthält. newdirectory
ist leer, weshalb kein Inhalt angezeigt wird.
Im Allgemeinen verwendet man den Befehl wie folgt, um den Inhalt eines Verzeichnisses einschließlich seiner Unterverzeichnisse aufzulisten:
ls -R VERZEICHNIS_NAME
Das Hinzufügen eines Schrägstrichs am Ende von VERZEICHNIS_NAME
hat keine Wirkung:
$ ls -R animal
ist vergleichbar mit
$ ls -R animal/
Rekursives Kopieren mit cp -r
cp -r
(oder -R
oder --recursive
) erlaubt es uns, ein Verzeichnis zusammen mit allen Unterverzeichnissen und Dateien zu kopieren.
$ tree mydir mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 3 directories, 2 files $ mkdir newcopy $ cp mydir newcopy cp: omitting directory 'mydir' $ cp -r mydir newcopy * tree newcopy newcopy |_mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 4 directories, 2 files
In der obigen Auflistung beobachten wir, dass beim Versuch mydir
in newcopy
zu kopieren, wobei cp
ohne -r
verwendet wird, die Meldung cp: omitting directory `mydir'
angezeigt wird. Durch Hinzufügen der Option -r
wird jedoch der gesamte Inhalt von mydir
einschließlich seiner selbst in newcopy
kopiert.
Zum Kopieren von Verzeichnissen und Unterverzeichnissen verwenden Sie:
cp -r QUELLE ZIEL
Rekursives Löschen mit rm -r
rm -r
entfernt ein Verzeichnis und seinen gesamten Inhalt (Unterverzeichnisse und Dateien).
Warning
|
Seien Sie sehr vorsichtig entweder mit |
Beim Versuch, ein Verzeichnis zu löschen, ohne -r
zu benutzen, wird das System einen Fehler melden:
$ rm newcopy/ rm: cannot remove 'newcopy/': Is a directory $ rm -r newcopy/
Damit die Löschung wirksam wird, müssen Sie wie beim zweiten Befehl -r
hinzufügen.
Note
|
Sie fragen sich vielleicht, warum wir in diesem Fall nicht |
Fügen Sie die Option -i
hinzu, um eine Bestätigung einzuholen, bevor die Datei gelöscht wird:
$ rm -ri mydir/ rm: remove directory 'mydir/'?
Das System fordert Ihre Erlaubnis, bevor es versucht mydir
zu löschen.
Datei Globbing und Platzhalterzeichen
Datei globbing ist eine von der Unix/Linux-Shell zur Verfügung gestellte Funktion zur Darstellung mehrerer Dateinamen durch die Verwendung von Sonderzeichen namens wildcards.
Wildcards sind im Wesentlichen Symbole, die als Ersatz für ein oder mehrere Zeichen verwendet werden können. Sie erlauben es zum Beispiel, alle Dateien anzuzeigen, die mit dem Buchstaben A
beginnen oder alle Dateien, die mit den Buchstaben .conf
enden.
Wildcards sind sehr nützlich, da sie mit Befehlen wie cp
, ls
oder rm
kombiniert werden können.
Im Folgenden finden Sie einige Beispiele für das Datei Globbing:
rm *
-
Alle Dateien im aktuellen Arbeitsverzeichnis löschen.
ls l?st
-
Listet alle Dateien auf, deren Name mit
l
beginnt, gefolgt von einem beliebigen Einzelzeichen und mitst
enden. rmdir [a-z]*
-
Alle Verzeichnisse entfernen, deren Name mit einem Buchstaben beginnt.
Arten von Platzhaltern
Es gibt drei Zeichen, die unter Linux als Platzhalter verwendet werden können:
*
(Sternchen)-
steht für kein, ein oder mehrere Vorkommen eines beliebigen Zeichens.
?
(Fragezeichen)-
steht für ein einzelnes Vorkommen eines beliebigen Zeichens.
[ ]
(Zeichen in eckigen Klammern)-
steht für ein beliebiges Vorkommen des/der in eckigen Klammern eingeschlossenen Zeichen(s). Es ist möglich, verschiedene Arten von Zeichen zu verwenden, seien es Zahlen, Buchstaben oder andere Sonderzeichen. Zum Beispiel entspricht der Ausdruck
[0-9]
allen Ziffern.
Der Asterisk
Ein Sternchen auch Asterisk genannt (*
) entspricht keinem, einem oder mehreren Vorkommnissen eines beliebigen Zeichens.
Zum Beispiel:
$ find /home -name *.png
Dies würde alle Dateien finden, die auf .png
enden, wie z.B. photo.png
, cat.png
, frank.png
. Der Befehl find
wird in einer der folgenden Lektionen näher erläutert.
In ähnlicher Weise:
$ ls lpic-*.txt
würden alle Textdateien auflisten, die mit den Zeichen lpic-
beginnen, gefolgt von einer beliebigen Anzahl von Zeichen und mit .txt
enden, wie z.B. lpic-1.txt
und lpic-2.txt
.
Der Platzhalter Sternchen kann verwendet werden, um den gesamten Inhalt eines Verzeichnisses zu manipulieren (kopieren, löschen oder verschieben):
$ cp -r animal/* forest
In diesem Beispiel wird der gesamte Inhalt von animal
in forest
kopiert.
Im Allgemeinen, um den gesamten Inhalt eines verwendeten Verzeichnisses zu kopieren, benutzt man:
cp -r QUELL_PFAD/* ZIEL_PFAD
QUELL_PFAD
kann vernachlässigt werden, wenn man sich bereits im gewünschten Verzeichnis befinden.
Das Sternchen könnte, wie jeder andere Platzhalter auch, im selben Befehl und an jeder beliebigen Position wiederholt verwendet werden:
$ rm *ate*
Dateinamen mit keinem vorangestellten Zeichen oder einem bzw. mehreren Vorkommen eines beliebigen Zeichens an erster Stelle, gefolgt von den Buchstaben ate
und endend mit keinem, einem oder mehreren Vorkommen eines beliebigen Zeichens werden entfernt.
Das Fragezeichen
Das Fragezeichen (?
) entspricht einem einzigen Vorkommen eines Zeichens.
Betrachten Sie folgende Auflistung:
$ ls last.txt lest.txt list.txt third.txt past.txt
Um nur die Dateien anzuzeigen, welche mit l
beginnen, gefolgt von einem beliebigen Einzelzeichen und den Zeichen st.txt
, verwenden wir den Fragezeichen Platzhalter (?
):
$ ls l?st.txt last.txt lest.txt list.txt
Nur die Dateien last.txt
, lest.txt
und list.txt
werden angezeigt, entsprechend der angegebenen Kriterien.
In ähnlicher Weise:
$ ls ??st.txt last.txt lest.txt list.txt past.txt
gibt alle Dateien aus, denen zwei beliebige Zeichen vorangestellt sind, gefolgt von dem Text st.txt
.
Zeichen in eckigen Klammern
Die Klammern als Platzhalter passen zu jedem Vorkommen des/der in den eckigen Klammern eingeschlossenen Zeichen(s):
$ ls l[aef]st.txt last.txt lest.txt
Dieser Befehl würde alle Dateien auflisten, die mit l
beginnen, gefolgt von einem beliebigen_ Zeichen aus der Menge aef
und mit st.txt
enden.
Die eckigen Klammern könnten auch Bereiche aufnehmen:
$ ls l[a-z]st.txt last.txt lest.txt list.txt
Dies gibt alle Dateien aus, deren Name mit l
beginnt, gefolgt von einem beliebigen Kleinbuchstaben im Bereich a
bis z
und mit st.txt
endet.
In den eckigen Klammern könnten auch mehrere Bereiche angegeben werden:
$ ls student-1A.txt student-2A.txt student-3.txt $ ls student-[0-9][A-Z].txt student-1A.text student-2A.txt
Die Auflistung zeigt ein Schulverzeichnis mit einer Liste der eingeschriebenen Schüler. Es sollen nur diejenigen Studenten aufgelistet werden, deren Anmeldenummern die folgenden Kriterien erfüllen:
-
beginnen mit
student-
-
gefolgt von einer Zahl und einem Großbuchstaben
-
und enden mit
.txt
Kombinieren von Platzhaltern
Platzhalter können kombiniert werden:
$ ls last.txt lest.txt list.txt third.txt past.txt $ ls [plf]?st* last.txt lest.txt list.txt past.txt
Die erste Platzhalterkomponente ([plf]
) entspricht einem der Zeichen p
, l
oder f
. Der zweite Platzhalter (?
) passt auf jedes einzelne Zeichen. Der dritte Platzhalter (*
) passt auf kein, ein oder mehrere Vorkommen eines beliebigen Zeichens.
$ ls file1.txt file.txt file23.txt fom23.txt $ ls f*[0-9].txt file1.txt file23.txt fom23.txt
Der vorherige Befehl zeigt alle Dateien an, die mit dem Buchstaben f
beginnen, gefolgt von einer beliebigen Menge von Buchstaben, mindestens einem Vorkommen einer Ziffer und endet mit .txt
. Beachten Sie, dass file.txt
nicht angezeigt wird, da sie dieses Kriterium nicht erfüllt.
Geführte Übungen
-
Beachten Sie die folgende Auflistung:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Was stellt das Zeichen
d
in der Ausgabe dar? -
Warum werden die Größen in menschenlesbarer Form angegeben?
-
Was wäre der Unterschied in der Ausgabe, wenn
ls
ohne Argument verwendet würde?
-
-
Beachten Sie den nachstehenden Befehl:
$ cp /home/frank/emp_name /home/frank/backup
-
Was würde mit der Datei
emp_name
geschehen, wenn dieser Befehl erfolgreich ausgeführt wird? -
Wenn
emp_name
ein Verzeichnis darstellen würde, welche Option sollte zucp
hinzugefügt werden, um den Befehl auszuführen? -
Wenn
cp
nun inmv
geändert wird, welches Ergebnis ist zu erwarten?
-
-
Betrachten Sie die Auflistung:
$ ls file1.txt file2.txt file3.txt file4.txt
Welcher Platzhalter würde helfen, den gesamten Inhalt dieses Verzeichnisses zu löschen?
-
Basierend auf der vorherigen Auflistung, welche Dateien würden durch den folgenden Befehl angezeigt werden?
$ ls file*.txt
-
Vervollständigen Sie den Befehl, indem Sie die entsprechenden Ziffern und Zeichen in den eckigen Klammern hinzufügen, die den gesamten obigen Inhalt auflisten würden:
$ ls file[].txt
Offene Übungen
-
Erstellen Sie in Ihrem Homeverzeichnis die Dateien
dog
undcat
. -
Erstellen Sie ebenfalls in Ihrem Homeverzeichnis das Verzeichnis namens
animal
. Verschieben Siedog
undcat
in das Verzeichnisanimal
. -
Gehen Sie in den Ordner
Documents
Ihres Homeverzeichnis und erstellen Sie darin das Verzeichnisbackup
. -
Kopieren Sie
animal
und seinen Inhalt nachbackup
. -
Benennen Sie
animal
inbackup
inanimal.bkup
um. -
Das Verzeichnis
/home/lpi/databases
enthält viele Dateien, darunterdb-1.tar.gz
,db-2.tar.gz
unddb-3.tar.gz
. Welchen einzelnen Befehl können Sie verwenden, um nur die genannten Dateien aufzulisten? -
Betrachten Sie folgende Auflistung:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Welcher Befehl würde bei der Verwendung eines einzigen Globbingzeichens nur die PDF-Dateien entfernen?
Zusammenfassung
In dieser Lektion untersuchten wir, wie man sich mit dem Befehl ls
ansieht, was sich innerhalb eines Verzeichnisses befindet, wie man Dateien und Ordner kopiert (cp
) und wie man sie auch verschiebt (mv
). Wir untersuchten auch, wie neue Verzeichnisse mit dem Befehl mkdir
erstellt werden können. Die Befehle zum Entfernen von Dateien (rm
) und Ordnern (rmdir
) wurden ebenfalls diskutiert.
Diese Lektion lehrte Sie auch über Datei Globbing und Platzhalterzeichen. Datei Globbing wird verwendet, um mehrere Dateinamen durch die Verwendung von Sonderzeichen, sogenannten Platzhaltern, darzustellen. Die grundlegenden Platzhalter und ihre Bedeutungen:
?
(Fragezeichen)-
steht für ein einzelnes Vorkommen eines Zeichens.
[ ]
(Zeichen in eckigen Klammern)-
steht für jedes Vorkommen des (der) Zeichen(s), das (die) in den eckigen Klammern eingeschlossen ist (sind).
*
(Sternchen)-
steht für kein, ein oder mehrere Vorkommen eines beliebigen Zeichens.
Alle Platzhalter können hierzu auch in derselben Anweisung kombinieren werden.
Lösungen zu den geführten Übungen
-
Beachten Sie die folgende Auflistung:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Was stellt das Zeichen
d
in der Ausgabe dar?d
ist das Zeichen, das ein Verzeichnis identifiziert. -
Warum werden die Größen in menschenlesbarer Form angegeben?
Aufgrund der Option
-h
. -
Was wäre der Unterschied in der Ausgabe, wenn
ls
ohne Argument verwendet würde?Es würden nur Verzeichnis- und Dateinamen ausgegeben werden.
-
-
Beachten Sie den nachstehenden Befehl:
$ cp /home/frank/emp_name /home/frank/backup
-
Was würde mit der Datei
emp_name
geschehen, wenn dieser Befehl erfolgreich ausgeführt wird?emp_name
würde inbackup
kopiert werden. -
Wenn
emp_name
ein Verzeichnis darstellen würde, welche Option sollte zucp
hinzugefügt werden, um den Befehl auszuführen?-r
-
Wenn
cp
nun inmv
geändert wird, welches Ergebnis ist zu erwarten?emp_name
würde inbackup
verschoben werden. Die Datei wäre fortan nicht mehr im Homeverzeichnis vonfrank
vorhanden.
-
-
Betrachten Sie die Auflistung:
$ ls file1.txt file2.txt file3.txt file4.txt
Welcher Platzhalter würde helfen, den gesamten Inhalt dieses Verzeichnisses zu löschen?
Das Sternchen
*
. -
Basierend auf der vorherigen Auflistung, welche Dateien würden durch den folgenden Befehl angezeigt werden?
$ ls file*.txt
Alle, denn das Sternchen steht für eine beliebige Anzahl von Zeichen.
-
Vervollständigen Sie den Befehl, indem Sie die entsprechenden Ziffern und Zeichen in den eckigen Klammern hinzufügen, die den gesamten obigen Inhalt auflisten würden:
$ ls file[].txt
file[0-9].txt
Lösungen zu den offenen Übungen
-
Erstellen Sie in Ihrem Homeverzeichnis die Dateien
dog
undcat
.$ touch dog cat
-
Erstellen Sie ebenfalls in Ihrem Homeverzeichnis das Verzeichnis namens
animal
. Verschieben Siedog
undcat
in das Verzeichnisanimal
.$ mkdir animal $ mv dog cat -t animal/
-
Gehen Sie in den Ordner
Documents
Ihres Homeverzeichnis und erstellen Sie darin das Verzeichnisbackup
.$ cd ~/Documents $ mkdir backup
-
Kopieren Sie
animal
und seinen Inhalt nachbackup
.$ cp -r animal ~/Documents/backup
-
Benennen Sie
animal
inbackup
inanimal.bkup
um.$ mv animal/ animal.bkup
-
Das Verzeichnis
/home/lpi/databases
enthält viele Dateien, darunterdb-1.tar.gz
,db-2.tar.gz
unddb-3.tar.gz
. Welchen einzelnen Befehl können Sie verwenden, um nur die genannten Dateien aufzulisten?$ ls db-[1-3].tar.gz
-
Betrachten Sie folgende Auflistung:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Welcher Befehl würde bei der Verwendung eines einzigen Globbingzeichens nur die PDF-Dateien entfernen?
$ rm *.pdf