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.
Dateien verknüpfen – ln und ln -s
Eine harte Verknüpfung in einem "shared Folder" geht nicht. Daher im Ornder /tmp
cd /tmp
if [ -d links ]; then rm -rf links; fi;
mkdir links
ls -lisa >> links/liste
cd links
ln liste liste2
ls -li
rm liste
ls -li
cd /tmp
cp -r ~/dateien/suchmuster .
mkdir suchmuster2
cp -l suchmuster/* suchmuster2
ls -li suchmuster*
ln -s /var/log kurz
ls -l
cd kurz
pwd
pwd -P
cd /tmp
ls kurz
ls -l kurz
ls -ld kurz
rm kurz
ls -l
mkdir dir
echo XXXXXXXXX > dir/datei
ln -s datei dir/symlink
ls -l dir
ls -lL dir
ls -lH dir
ls -l dir/symlink
ls -lH dir/symlink
Übungen
-
C 6.15 [!2] Erzeugen Sie eine Datei mit beliebigem Inhalt in Ihrem Heimatverzeichnis (etwa mit » echo Hallo >~/hallo « oder einem Texteditor). Legen Sie unter dem Namen link ein hartes Link auf die Datei an. Überzeugen Sie sich, dass nun zwei Namen für die Datei existieren. Versuchen Sie den Dateiinhalt mit einem Editor zu ändern. Was passiert?
-
C 6.16 [!2] Legen Sie unter dem Namen ~/symlink ein symbolisches Link auf die Datei aus der vorigen Aufgabe an. Prüfen Sie, ob der Zugriff funktioniert. Was passiert, wenn Sie die Zieldatei des Links löschen?
-
C 6.17 [!2] Auf welches Verzeichnis zeigt das ..-Link im Verzeichnis »/«?
-
C 6.18 [3] Betrachten Sie das folgende Kommando und seine Ausgabe:
$ ls -ai / 2 . 330211 etc 1 proc 4303 var 2 .. 2 home 65153 root 4833 bin 244322 lib 313777 sbin 228033 boot 460935 mnt 244321 tmp 330625 dev 460940 opt 390938 usr
Offensichtlich haben die Verzeichnisse / und /home dieselbe Inodenummer. Da es sich dabei offensichtlich nicht wirklich um dasselbe Verzeichnis handeln kann – können Sie dieses Phänomen erklären?
-
C 6.19 [2] Betrachten Sie die Inode-Nummern der Links » . « und » .. « im Wurzelverzeichnis ( / ) und in einigen beliebigen anderen Verzeichnissen. Was fällt Ihnen auf?
-
C 6.20 [3] Wir haben gesagt, dass harte Links auf Verzeichnisse nicht erlaubt sind. Welchen Grund könnte es dafür geben?
-
C 6.21 [3] Woran erkennt man in der Ausgabe von » ls -l ~ «, dass ein Unterverzeichnis von ~ keine weiteren Unterverzeichnisse hat?
-
C 6.22 [2] Wie verhalten sich » ls -lH « und » ls -lL «, wenn ein symbolisches Link auf ein anderes symbolisches Link zeigt?
Dateien suchen - find
cd
sudo touch root_was_here
ls -l
find . -user root -print
find . -user root -exec ls -l '{}' \;
Testkriterien von find in Tabelle 6.6 S. 88
find . -atime +2 -exec ls -l '{}' \;
Übungen
-
C 6.25 [!2] Finden Sie alle Dateien in Ihrem System, die größer als 1 MiB sind, und lassen Sie deren Namen ausgeben.
-
C 6.26 [2] Wie können Sie find benutzen, um eine Datei zu löschen, die einen merkwürdigen Namen hat (etwa mit unsichtbaren Kontrollzeichen oder mit Umlauten, die von älteren Shells nicht verstanden werden)?
-
C 6.27 [3] (Beim zweiten Durcharbeiten.) Wie würden Sie beim Abmelden dafür sorgen, dass etwaige Dateien in /tmp , die Ihnen gehören, automatisch gelöscht werden?
Datei schnell finden - locate un slocate
locate prog
sudo apt update && sudo apt install --yes mlocate
locate prog
sudo updatedb
locate prog
locate "*/prog*.c"
Übungen
-
C 6.28 [!1] README ist ein sehr populärer Dateiname. Geben Sie die absoluten Pfadnamen aller Dateien auf Ihrem System an, die README heißen.
-
C 6.29 [2] Legen Sie eine neue Datei in Ihrem Heimatverzeichnis an und überzeugen Sie sich durch einen locate -Aufruf, dass diese Datei nicht gefunden wird (wählen Sie gegebenenfalls einen hinreichend ausgefallenen Dateinamen). Rufen Sie dann (mit Administratorrechten) das Programm updatedb auf. Wird Ihre neue Datei danach mit locate gefunden? Löschen Sie die Datei wieder und wiederholen Sie die vorigen Schritte.
-
C 6.30 [1] Überzeugen Sie sich, dass slocate funktioniert, indem Sie als gewöhnlicher Benutzer nach Dateien wie /etc/shadow suchen.
Das Wiki zu den Fächern BSA und AIS. Home