Linux-Dateiverwaltung


1. Dateien suchen


Sucht im etc Verzeichnis die Datei fastab
find /etc -name fstab
find /etc -name "*samba*"

Fehlermeldungen nicht anzeigen
find /etc -name fstab 2> /dev/null


2. In Dateien suchen


Datei mit grep nach einem Wort durchsuchen
grep STRING DATEI


In allen Dateien aus dem Verzeichnis /home (inkl. Unterverzeichnisse) nach dem Wort KEYWORD suchen
find /home -type f | xargs grep KEYWORD


In allen Dateien mit dem Muster *.txt aus dem Verzeichnis /home (inkl. Unterverzeichnisse) nach dem Wort KEYWORD suchen
find /home -type f -name *.txt | xargs grep KEYWORD


Dateien durchsuchen und Fehler unterdrücken
find ./ -type f | xargs grep KEYWORD 2> /dev/null


find : Suchprogramm
/home : das Verzeichnis
-type f : durchsucht Dateien
-name : durchsucht Dateien mit einem bestimmten Namen
xargs : Zum Erstellen und Ausführen von Kommandos
grep : Sucht nach einem bestimmten Suchwort

Beispiel mit Ausgabe
# find /etc/ -type f | xargs grep eth0

/etc/udev/rules.d/z25_persistent-net.rules:SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:61:aa::cd:c5", NAME="eth0"
/etc/network/interfaces:allow-hotplug eth0
/etc/network/interfaces:iface eth0 inet dhcp
/etc/dhcp3/dhclient.conf:#  interface "eth0";
/etc/dhcp3/dhclient.conf:#  interface "eth0";
/etc/initramfs-tools/initramfs.conf:# Specify the network interface, like eth0
/etc/initramfs-tools/initramfs.conf:DEVICE=eth0


Alternativ mit locate
locate *.xxx
locate fstab



3. Kopieren


Kopieren rekursiv
cp -r /src /dest


Kopieren mit Übernahme der Zugangsrechte
cp -p /src /dest


Kopieren mit Übernahme der Zugangsrechte; Links als Links beibehalten und mit Unterverzeichnissen
cp -rpd /src /dest


Secure copy
scp *.* user1@192.168.0.1:~/ordner


4. Speicherbelegung


Größe eines Verzeichnisses
du -sh /boot


Größe von Verzeichnissen in Megabyte
du -cm


Größe von Verzeichnissen der ersten Ebene
du --max-depth=1 -h


Die fünf größten Ordner im aktuellen Verzeichnis ausgeben
du --max-depth=1 | sort -rn |  head -5


Die fünf größten Ordner bzw. Dateien im aktuellen Verzeichnis ausgeben
du --max-depth=1 -a | sort -rn |  head -5



5. Zugriffsrechte


# Rechte für Datei ändern
chmod 2770 file

# Rekursiv alle Unterordner bearbeiten
chown user1 ./folder/ -R
chgrp user1 ./folder/ -R
chmod 2770 ./folder/ -R



6. Auflisten


Älteste Datei
ls -t1 | tac | head -n 1


ls -t: Sort by file time
ls -1: One file per line
tac: Liste umkehren
head -n 1: erster Eintrag


7. Standardrechte für neue Dateien


>umask 0022
>ps > umask_0022
>umask 0002
>ps > umask_0002
>la
-rw-rw-r--   1 user1 user1 84 2007-02-05 23:52 umask_0002
-rw-r--r--   1 user1 user1 84 2007-02-05 23:51 umask_0022



8. Links


Symbolic link to target packet.zip
ln -s /carsten/paket.zip



9. Vergleich


Dateien Vergleichen
diff Datei1.dat Datei2.dat


Verzeichnisse Vergleichen
diff /tmp/dir1 /tmp/dir2


Siehe auch LinuxDiff Vergleich von Streams


10. Verzeichnisgröße


Ein sehr nützlicher Befehl, wenn es um das Auffinden von Speicherplatzfressern geht, ist "du" mit dem Parameter s für Summarize. Damit wird für jedes Verzeichnis eine Summe der darunter liegenden Dateien angegeben. Mit der Option h gibt "du" den Speicherbedarf human lesbar aus. Und mit sort -h wird die Ausgabe nach Größe sortiert.

du -sh * | sort -h



11. Dateien und Verzeichnisse umbenennen


Umlaute, die unter Linux heute noch (Jahr 2014) große Probleme machen können, ersetzen.
ownCloud, joe und grep kamen mit Umlauten in Dateien bei mir gar nicht zurecht.
find . -depth -execdir rename 's/\Ä/Ae/g;s/\Ö/Oe/g;s/\Ü/Ue/g;s/\ä/ae/g;s/\ö/oe/g;s/\ü/ue/g;s/\ß/ss/g;' "{}" \;

Gefunden auf it-heini.de und abgeändert. Vor jedem Umlaut musste bei ein Backslash "\" stehen.





Siehe auch
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki