Unix / Linux - Dateiverwaltung
In diesem Kapitel werden wir uns ausführlich mit der Dateiverwaltung unter Unix befassen. Alle Daten in Unix sind in Dateien organisiert. Alle Dateien sind in Verzeichnissen organisiert. Diese Verzeichnisse sind in einer baumartigen Struktur organisiert, die als Dateisystem bezeichnet wird.
Wenn Sie auf die eine oder andere Weise mit Unix arbeiten, verbringen Sie die meiste Zeit mit der Arbeit mit Dateien. Dieses Tutorial hilft Ihnen zu verstehen, wie Sie Dateien erstellen und entfernen, kopieren und umbenennen, Links zu ihnen erstellen usw.
In Unix gibt es drei grundlegende Dateitypen:
Ordinary Files- Eine normale Datei ist eine Datei auf dem System, die Daten, Text oder Programmanweisungen enthält. In diesem Tutorial sehen Sie sich die Arbeit mit normalen Dateien an.
Directories- Verzeichnisse speichern sowohl spezielle als auch normale Dateien. Für Benutzer, die mit Windows oder Mac OS vertraut sind, entsprechen Unix-Verzeichnisse Ordnern.
Special Files- Einige spezielle Dateien bieten Zugriff auf Hardware wie Festplatten, CD-ROM-Laufwerke, Modems und Ethernet-Adapter. Andere spezielle Dateien ähneln Aliasnamen oder Verknüpfungen und ermöglichen Ihnen den Zugriff auf eine einzelne Datei mit unterschiedlichen Namen.
Dateien auflisten
Verwenden Sie den folgenden Befehl, um die im aktuellen Verzeichnis gespeicherten Dateien und Verzeichnisse aufzulisten:
$ls
Hier ist die Beispielausgabe des obigen Befehls -
$ls
bin hosts lib res.03
ch07 hw1 pub test_results
ch07.bak hw2 res.01 users
docs hw3 res.02 work
Der Befehl ls unterstützt die -l Option, mit der Sie weitere Informationen zu den aufgelisteten Dateien erhalten -
$ls -l
total 1962188
drwxrwxr-x 2 amrood amrood 4096 Dec 25 09:59 uml
-rw-rw-r-- 1 amrood amrood 5341 Dec 25 08:38 uml.jpg
drwxr-xr-x 2 amrood amrood 4096 Feb 15 2006 univ
drwxr-xr-x 2 root root 4096 Dec 9 2007 urlspedia
-rw-r--r-- 1 root root 276480 Dec 9 2007 urlspedia.tar
drwxr-xr-x 8 root root 4096 Nov 25 2007 usr
drwxr-xr-x 2 200 300 4096 Nov 25 2007 webthumb-1.01
-rwxr-xr-x 1 root root 3192 Nov 25 2007 webthumb.php
-rw-rw-r-- 1 amrood amrood 20480 Nov 25 2007 webthumb.tar
-rw-rw-r-- 1 amrood amrood 5654 Aug 9 2007 yourfile.mid
-rw-rw-r-- 1 amrood amrood 166255 Aug 9 2007 yourfile.swf
drwxr-xr-x 11 amrood amrood 4096 May 29 2007 zlib-1.2.3
$
Hier finden Sie Informationen zu allen aufgelisteten Spalten -
First Column- Repräsentiert den Dateityp und die Berechtigung für die Datei. Unten finden Sie die Beschreibung aller Dateitypen.
Second Column - Gibt die Anzahl der Speicherblöcke an, die von der Datei oder dem Verzeichnis belegt werden.
Third Column- Repräsentiert den Eigentümer der Datei. Dies ist der Unix-Benutzer, der diese Datei erstellt hat.
Fourth Column- Repräsentiert die Gruppe des Eigentümers. Jedem Unix-Benutzer ist eine Gruppe zugeordnet.
Fifth Column - Repräsentiert die Dateigröße in Bytes.
Sixth Column - Stellt das Datum und die Uhrzeit dar, zu der diese Datei zum letzten Mal erstellt oder geändert wurde.
Seventh Column - Repräsentiert die Datei oder den Verzeichnisnamen.
In dem ls -l Beispiel: Jede Dateizeile beginnt mit einem d, -, oder l. Diese Zeichen geben den Typ der aufgelisteten Datei an.
Sr.Nr. | Präfix & Beschreibung |
---|---|
1 | - Normale Datei, z. B. eine ASCII-Textdatei, eine ausführbare Binärdatei oder ein fester Link. |
2 | b Spezielle Datei blockieren. Blockieren Sie die Eingabe- / Ausgabegerätedatei, z. B. eine physische Festplatte. |
3 | c Zeichenspezialdatei. Rohe Eingabe- / Ausgabegerätedatei, z. B. eine physische Festplatte. |
4 | d Verzeichnisdatei, die eine Liste anderer Dateien und Verzeichnisse enthält. |
5 | l Symbolische Linkdatei. Links zu jeder regulären Datei. |
6 | p Benanntes Rohr. Ein Mechanismus für die Interprozesskommunikation. |
7 | s Socket für die Interprozesskommunikation. |
Metazeichen
Metazeichen haben in Unix eine besondere Bedeutung. Zum Beispiel,* und ?sind Metazeichen. Wir gebrauchen* um 0 oder mehr Zeichen zuzuordnen, ein Fragezeichen (?) stimmt mit einem einzelnen Zeichen überein.
Zum Beispiel -
$ls ch*.doc
Zeigt alle Dateien an, deren Namen mit beginnen ch und ende mit .doc - -
ch01-1.doc ch010.doc ch02.doc ch03-2.doc
ch04-1.doc ch040.doc ch05.doc ch06-2.doc
ch01-2.doc ch02-1.doc c
Hier, *arbeitet als Metazeichen, das mit jedem Zeichen übereinstimmt. Wenn Sie alle Dateien anzeigen möchten, die mit just enden.doc, dann können Sie den folgenden Befehl verwenden -
$ls *.doc
Versteckte Dateien
Eine unsichtbare Datei ist eine Datei, deren erstes Zeichen der Punkt oder das Punktzeichen (.) Ist. Unix-Programme (einschließlich der Shell) verwenden die meisten dieser Dateien zum Speichern von Konfigurationsinformationen.
Einige gängige Beispiele für versteckte Dateien sind die Dateien -
.profile - Das Initialisierungsskript der Bourne-Shell (sh)
.kshrc - Das Initialisierungsskript der Korn-Shell (ksh)
.cshrc - Das Initialisierungsskript der C-Shell (csh)
.rhosts - Die Remote-Shell-Konfigurationsdatei
Geben Sie Folgendes an, um die unsichtbaren Dateien aufzulisten -a Option zu ls - -
$ ls -a
. .profile docs lib test_results
.. .rhosts hosts pub users
.emacs bin hw1 res.01 work
.exrc ch07 hw2 res.02
.kshrc ch07.bak hw3 res.03
$
Single dot (.) - Dies ist das aktuelle Verzeichnis.
Double dot (..) - Dies repräsentiert das übergeordnete Verzeichnis.
Dateien erstellen
Du kannst den ... benutzen viEditor zum Erstellen gewöhnlicher Dateien auf jedem Unix-System. Sie müssen lediglich den folgenden Befehl eingeben:
$ vi filename
Der obige Befehl öffnet eine Datei mit dem angegebenen Dateinamen. Drücken Sie nun die Tasteium in den Bearbeitungsmodus zu gelangen. Sobald Sie sich im Bearbeitungsmodus befinden, können Sie Ihren Inhalt wie im folgenden Programm in die Datei schreiben -
This is unix file....I created it for the first time.....
I'm going to save this content in this file.
Wenn Sie mit dem Programm fertig sind, führen Sie die folgenden Schritte aus:
Drücken Sie die Taste esc um den Bearbeitungsmodus zu verlassen.
Drücken Sie zwei Tasten Shift + ZZ zusammen, um vollständig aus der Datei zu kommen.
Sie haben jetzt eine Datei erstellt mit filename im aktuellen Verzeichnis.
$ vi filename
$
Dateien bearbeiten
Sie können eine vorhandene Datei mit dem bearbeiten viEditor. Wir werden kurz diskutieren, wie eine vorhandene Datei geöffnet wird -
$ vi filename
Sobald die Datei geöffnet ist, können Sie durch Drücken der Taste in den Bearbeitungsmodus wechseln iAnschließend können Sie die Datei bearbeiten. Wenn Sie sich innerhalb einer Datei hier und da bewegen möchten, müssen Sie zuerst den Bearbeitungsmodus verlassen, indem Sie die Taste drückenEsc. Danach können Sie die folgenden Tasten verwenden, um sich in einer Datei zu bewegen:
l Taste, um zur rechten Seite zu gelangen.
h Taste, um zur linken Seite zu gelangen.
k Schlüssel, um sich in der Datei nach oben zu bewegen.
j Taste, um die Datei nach unten zu verschieben.
Mit den obigen Tasten können Sie den Cursor also überall dort positionieren, wo Sie ihn bearbeiten möchten. Sobald Sie positioniert sind, können Sie die verwendeniTaste, um in den Bearbeitungsmodus zu gelangen. Wenn Sie mit der Bearbeitung Ihrer Datei fertig sind, drücken SieEsc und schließlich zwei Schlüssel Shift + ZZ zusammen, um vollständig aus der Datei zu kommen.
Inhalt einer Datei anzeigen
Du kannst den ... benutzen catBefehl, um den Inhalt einer Datei anzuzeigen. Im Folgenden finden Sie ein einfaches Beispiel, um den Inhalt der oben erstellten Datei anzuzeigen.
$ cat filename
This is unix file....I created it for the first time.....
I'm going to save this content in this file.
$
Sie können die Zeilennummern mit dem anzeigen -b Option zusammen mit der cat Befehl wie folgt -
$ cat -b filename
1 This is unix file....I created it for the first time.....
2 I'm going to save this content in this file.
$
Wörter in einer Datei zählen
Du kannst den ... benutzen wcBefehl, um die Gesamtzahl der in einer Datei enthaltenen Zeilen, Wörter und Zeichen zu ermitteln. Im Folgenden finden Sie ein einfaches Beispiel, um die Informationen zu der oben erstellten Datei anzuzeigen.
$ wc filename
2 19 103 filename
$
Hier ist das Detail aller vier Spalten -
First Column - Repräsentiert die Gesamtzahl der Zeilen in der Datei.
Second Column - Repräsentiert die Gesamtzahl der Wörter in der Datei.
Third Column- Repräsentiert die Gesamtzahl der Bytes in der Datei. Dies ist die tatsächliche Größe der Datei.
Fourth Column - Repräsentiert den Dateinamen.
Sie können mehrere Dateien gleichzeitig angeben und Informationen zu diesen Dateien abrufen. Das Folgende ist eine einfache Syntax -
$ wc filename1 filename2 filename3
Dateien kopieren
Um eine Kopie einer Datei zu erstellen, verwenden Sie die cpBefehl. Die grundlegende Syntax des Befehls lautet -
$ cp source_file destination_file
Im Folgenden finden Sie ein Beispiel zum Erstellen einer Kopie der vorhandenen Datei filename.
$ cp filename copyfile
$
Sie finden jetzt eine weitere Datei copyfilein Ihrem aktuellen Verzeichnis. Diese Datei ist genau die gleiche wie die Originaldateifilename.
Dateien umbenennen
Verwenden Sie die Option, um den Namen einer Datei zu ändern mvBefehl. Es folgt die grundlegende Syntax:
$ mv old_file new_file
Das folgende Programm benennt die vorhandene Datei um filename zu newfile.
$ mv filename newfile
$
Das mvDer Befehl verschiebt die vorhandene Datei vollständig in die neue Datei. In diesem Fall finden Sie nurnewfile in Ihrem aktuellen Verzeichnis.
Dateien löschen
Verwenden Sie die, um eine vorhandene Datei zu löschen rmBefehl. Es folgt die grundlegende Syntax:
$ rm filename
Caution- Eine Datei kann nützliche Informationen enthalten. Es wird immer empfohlen, bei der Verwendung vorsichtig zu seinDeleteBefehl. Es ist besser, die zu verwenden-i Option zusammen mit rm Befehl.
Das folgende Beispiel zeigt, wie die vorhandene Datei vollständig entfernt wird filename.
$ rm filename
$
Mit dem folgenden Befehl können Sie mehrere Dateien gleichzeitig entfernen.
$ rm filename1 filename2 filename3
$
Standard-Unix-Streams
Unter normalen Umständen werden für jedes Unix-Programm beim Start drei Streams (Dateien) geöffnet.
stdin- Dies wird als Standardeingabe bezeichnet und der zugehörige Dateideskriptor ist 0. Dies wird auch als STDIN dargestellt. Das Unix-Programm liest die Standardeingabe von STDIN.
stdout- Dies wird als Standardausgabe bezeichnet und der zugehörige Dateideskriptor ist 1. Dies wird auch als STDOUT dargestellt. Das Unix-Programm schreibt die Standardausgabe bei STDOUT
stderr- Dies wird als Standardfehler bezeichnet und der zugehörige Dateideskriptor ist 2. Dies wird auch als STDERR dargestellt. Das Unix-Programm schreibt alle Fehlermeldungen bei STDERR.