Systemdateien finden und Dateien am richtigen Ort platzieren

 

Gewichtung 2
Beschreibung Kandidaten sollten mit dem Filesystem Hierarchy Standard (FHS) vertraut sein und typische Dateiorte und Verzeichnisklassifizierungen kennen.

Hauptwissensgebiete:

  • Die korrekten Orte von Dateien unter dem FHS kennen.
  • Dateien und Kommandos auf einem Linux-System finden.
  • Den Ort und den Zweck wichtiger Dateien und Verzeichnisse gemäß dem FHS kennen.

Hier ist eine auszugsweise Liste der verwendeten Dateien, Begriffe und Hilfsprogramme:

  • find
  • locate
  • updatedb
  • whereis
  • which
  • type
  • /etc/updatedb.conf

http://wiki.ubuntuusers.de/find

Suchkriterien für find

Im Folgenden sind einige, wenn auch nicht alle Suchkriterien aufgeführt.

Suchkriterien für find
Kriterium Beschreibung
-amin n Es wird nach Dateien gesucht, die innerhalb der letzten n Minuten berührt wurden.
-atime n Es wird nach Dateien gesucht, die zuletzt vor n*24h berührt wurden. Dabei werden Bruchteile ignoriert, um -atime +1 zu entsprechen muss die Datei also vor höchstens zwei Tagen berührt worden sein.
-mtime n Es wird nach Dateien gesucht, die zwischen n und n+1 Tage alt sind.
-mtime +n Es wird nach Dateien gesucht, die älter als n Tage sind. Beispiel: -mtime +3 alles was älter als 3 Tage ist.
-mtime -n Es wird nach Dateien gesucht, die weniger als n Tage alt sind.
-name Datei Es wird nach Dateien mit dem Namen „Datei“ gesucht. Sollen bei der Suche Platzhalter Verwendung finden, so muss der ganze Ausdruck in Anführungszeichen gestellt werden, zum Beispiel -name "*.txt"
-iname Datei Es wird nach Dateien mit dem Namen „Datei“ – ohne Beachtung der Groß und Kleinschreibung – gesucht.
-newer Datei Es wird nach Dateien gesucht, die nach Datei verändert wurden.
-nouser Es wird nach Dateien gesucht, deren User-ID keinem Benutzer entspricht.
-nogroup Es wird nach Dateien gesucht, deren Gruppen-ID keiner Gruppe entspricht.
-type f Es wird nur nach regulären Dateien gesucht.
-type d Es wird nur nach Verzeichnissen gesucht.
-depth Es wird der Inhalt des Verzeichnisses vor dem Verzeichnis bearbeitet.
-maxdepth Zahl Es werden nur Unterverzeichnisse bis zur Tiefe „Zahl“ durchsucht.
-size n[cwbkMG] Die Datei belegt n Zuordnungseinheiten. Die folgenden Endungen können verwendet werden: b für 512-Byte-Blöcke (Standard), c für Bytes, ‚w‘ für Zwei-Byte-Wörter, ‚k‘ für Kilobytes, ‚M‘ für Megabytes, ‚G‘ für Gigabytes.
-user User Es werden nur Dateien des Benutzers User gesucht.

Aktionen für find

Aktionen für find
Aktion Beschreibung
-fprint Datei Gibt die gefunden Dateinamen nicht auf die Standardausgabe (Bildschirm) aus, sondern schreibt diese in die Datei „Datei“
-exec Kommando {} \; Wendet auf alle gefundenen Dateien den Shellbefehl „Kommando“ an. {} steht dabei als Platzhalter für die gefundenen Dateinamen. Das Zeichen ; terminiert den von find aufzurufenden Shellbefehl, damit es nicht unbeabsichtigt von der Shell interpretiert wird muss es mit \ maskiert werden.
-execdir Kommando {} + Wendet auf alle gefundenen Dateien den Shellbefehl „Kommando“ an. Im Ggs. zu -exec wird das Kommando im Verzeichnis, in dem die Datei liegt, ausgeführt. Das Plus kann (ebenso wie im Kommando -exec) statt „;“ verwendet werden, wenn die {} der letzte Parameter sind; dann werden mehrere Funde auf einmal an Kommando übergeben.
-ok Kommando {} \; Wie -exec, allerdings wird vor jeder Aktion eine Bestätigung erfragt. {} steht dabei als Platzhalter für die gefundenen Dateinamen
-okdir Kommando {} + Wie eine Kombination von -ok und -execdir, d.h. es wird eine Bestätigung erfragt, und das Kommando wird im Fundordner ausgeführt.
-delete Löscht die gefundenen Dateien

 

find ./ -name "httpd.conf"
find ./ -iname "httpd.conf" 

find ./ -maxdept 2 -name "httpd.conf"
find ./ -mindepth 3 -name "httpd.conf"

find ./ -mindepth 3 -maxdepth 5 -name "httpd.conf"
# ---------------------------------------------------------------------
find ./ -user vivek
find ./ -group vivek
# ---------------------------------------------------------------------
find ./ -mtime 50
find ./ -mtime +50 -mtime -100	# [ 50 < x > 100 ]
				#  50   [ 50 = x ]
				# -50   [ 50 > x ]
				# +50   [ 50 < x ]
find ./ -atime 50        #    Access heure jogosultsag
find ./ -ctima 50        #    Change heure
find ./ -amin            #
find ./ -cmin -60        #
find ./ -mmin -60        #
----------------------------------------------------------------------
# ---    size
find ./ -size 50M
find ./ -size +50M -100M
find ./ -size +100M -exec rm  -rf {} \;
# ---------------------------------------------------------------------
# ---    -type
find ./ -type d        #    d - directory
find ./ -type f        #    f - regular file
find ./ -type l        #    l - symbolic link
# ---------------------------------------------------------------------
# ---    -prem
find ./ -prem 0777
find ./ ! -prem 777
find ./ -prem 2644	# SUID - SetUserID
find ./ -prem 4644	# SGID - SetGroupID
find ./ -prem 1644	# Sticky Bit
# ---------------------------------------------------------------------
find ./ -type f -prem 0777 -print chmod 644 {} \;
find ./ -type d -prem 777 -print chmod 755 {} \;
find ./ -type -f -name "valami.txt" -exec rm -f {} \;
find ./ -type -f -name "*.txt" -exec rm -f {} \;

# ---------------------------------------------------------
# ---    : whereis (1) - locate the binary, source, and manual page files for a command

[email protected]:~$ whereis ssh
ssh: /usr/bin/ssh /etc/ssh /usr/bin/X11/ssh /usr/share/man/man1/ssh.1.gz
[email protected]:~$

# ---------------------------------------------------------
# ---    : which (1)            - locate a command
#

[email protected]:~$ which ksh
/usr/bin/ksh
[email protected]:~$ which -a ksh
/usr/bin/ksh
/bin/ksh

 

# ---------------------------------------------------------
# ---    : type - Display information about command type.

[email protected]:~$ type -a ls
ls is an alias for 'ls --color'
ls is /bin/ls
[email protected]:~$ type -p ls
/bin/ls

# ---------------------------------------------------------

 

# ---------------------------------------------------------
# ---    :

[email protected]:~$ whatis whatis
whatis (1)           - display one-line manual page descriptions
[email protected]:~$ whatis ssh
ssh (1)              - OpenSSH SSH client (remote login program)
[email protected]:~$ apropos ssh
# Net::DNS::RR::SSHFP (3pm) - DNS SSHFP resource record
# rlogin (1)           - OpenSSH SSH client (remote login program)
# rsh (1)              - OpenSSH SSH client (remote login program)
# slogin (1)           - OpenSSH SSH client (remote login program)
# ssh (1)              - OpenSSH SSH client (remote login program)
# ssh-add (1)          - adds private key identities to the authentication agent
# ssh-agent (1)        - authentication agent
# ssh-argv0 (1)        - replaces the old ssh command-name as hostname handling
# ssh-copy-id (1)      - use locally available keys to authorise logins on a remote machine
# ssh-keygen (1)       - authentication key generation, management and conversion
# ssh-keyscan (1)      - gather ssh public keys
# ssh-keysign (8)      - ssh helper program for host-based authentication
# ssh-pkcs11-helper (8) - ssh-agent helper program for PKCS#11 support
# ssh_config (5)       - OpenSSH SSH client configuration files
# XAllocClassHint (3)  - allocate class hints structure and ...
# XClassHint (3)       - allocate class hints structure and ...
# xen-create-image (8) - Easily create new Xen instances with ...
# XGetClassHint (3)    - allocate class hints structure and ...
# XSetClassHint (3)    - allocate class hints structure and ...

# ---------------------------------------------------------

 

# ---------------------------------------------------------
# ---    : locate DB basierende sucher DB = /var/lib/locatedb
#

locate

updatedb

vim /etc/updatedb.conf

updatedb &

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.