Grep auf einem Ubuntu 18.04 Linux

Jeder Linux-Admin kennt es: Entweder habe ich 5 oder mehr PHP Versionen oder eine andere Software auf dem Server instaliert und diese hat dann noch jeweils 100 Unterordner in denen sich die gesuchte Datei befinden KÖNNTE.

Da Linux das Everything is a file Prinzip verfolgt, können wir diese Textdateien leicht mit dem Tool „grep“ durchsuchen.

Damit wir nicht verzweifeln gibt es eine sehr nützliche Funktion von „grep“, was den meinten Admins sicher als nützliches Tool zum durchsuchen von Dateien bekannt ist. „Grep“ kann allerdings auch alle Dateien in allen Unterorder des angegebenen Pfades durchsuchen. Hierbei gilt natürlich eine Suche, die im root Verzeichnis („/“) startet, wird sehr lange dauern. Je detaillierter, desto schneller.

Beispiel:
Hier suchen wir in „/etc“ nach dem string „max_allowed_packet“, einem Wert für den SQL Server MariaDB

grep -irl max_allowed_packet /etc

root@www1:~# grep -irl max_allowed_packet /etc
/etc/mysql/conf.d/mysqldump.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf

root@www1:~# grep -ir max_allowed_packet /etc
/etc/mysql/conf.d/mysqldump.cnf:max_allowed_packet      = 1024M
/etc/mysql/mariadb.conf.d/50-server.cnf:#max_allowed_packet     = 1G
/etc/mysql/mysql.conf.d/mysqld.cnf:max_allowed_packet   = 1024M

Optionen:

-i :

Macht den Suchstring nicht case sensetiv. Somit ist es egal, ob ich nach „max_allowed_packet“, oder nach „max_ALLOWED_pacKet“ suche, es wird immer jede mögliche Übereinstimmung ausgeben

-r :

Rekursive suche, ausgehend vom angegebenen Verzeichnis in alle Unterverzeichnisse

-l :

Listet nur den Filenamen. Standardmäßig wird sonst die komplette Zeile des Ergebnisses (also meist mit den gesetzten werten) angezeigt.

Für weitere Optionen schaut euch gerne mal die „–help“ seite von „grep“ an:

grep --help
Anzeige: