Auf einem Linux-Betriebssystem gibt es mehrere Möglichkeiten, eine Dateiänderung aufzuspüren. Dies kann nützlich sein, wenn Sie wissen möchten, wann eine Datei geändert wurde oder wenn Sie Änderungen in Echtzeit überwachen möchten. In diesem Artikel werden wir uns einige Methoden ansehen, um Dateiänderungen unter Linux zu verfolgen.
Eine der einfachsten Möglichkeiten, eine Dateiänderung aufzuspüren, besteht darin, einen Befehl zu verwenden stat. Es zeigt Informationen über die Datei an, einschließlich des Zeitpunkts der letzten Änderung. Um den Befehl stat zu verwenden, geben Sie einfach Folgendes ein stat Dateiname in der Befehlszeile. Sie sehen Informationen über die Datei, einschließlich des Zeitpunkts der letzten Änderung.
Eine andere Möglichkeit, Dateiänderungen zu verfolgen, besteht darin, den Befehl zu verwenden inotifywait. Mit diesem Befehl können Sie Änderungen in Echtzeit überwachen. Sie können eine Datei oder ein Verzeichnis angeben, das verfolgt werden soll, und der Befehl zeigt Informationen über Änderungen an diesen Dateien oder Verzeichnissen an. Zum Beispiel der Befehl inotifywait -m /Dateipfad zeigt Informationen über alle Änderungen an der angegebenen Datei an.
Wie überprüfe ich eine Dateiänderung in Linux
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Datei mit dem stat-Befehl geändert wurde:
stat
Hier ist der Name der Datei, deren Änderung Sie überprüfen möchten.
Der Befehl stat zeigt detaillierte Informationen über die Datei an, einschließlich ihrer letzten Änderung.
Eine weitere Möglichkeit, Dateiänderungen unter Linux zu verfolgen, besteht darin, den Befehl ls zu verwenden. Der Befehl ls listet die Dateien und Ordner im angegebenen Verzeichnis mit dem Datum und der Uhrzeit der letzten Änderung jeder Datei auf.
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Datei mit dem Befehl ls geändert wurde:
ls -l --time-style="+%Y-%m-%d %H:%M:%S"
Hier ist der Name der Datei, deren Änderung Sie überprüfen möchten.
Der Befehl ls gibt Informationen über die Datei aus, einschließlich Datum und Uhrzeit der letzten Änderung.
Mit dem Befehl stat oder ls können Sie die Dateiänderung auf einem Linux-Betriebssystem einfach überprüfen.
Verwenden des stat-Befehls
Sie können den Befehl stat verwenden, um eine Dateiänderung auf einem Linux-Betriebssystem zu verfolgen.
Der Befehl stat gibt Informationen über die Datei aus, einschließlich ihrer Attribute und Zeitstempel.
Im Folgenden finden Sie eine Tabelle mit Attributen, die mit dem Befehl stat abgerufen werden können :
| Attribut | Die Beschreibung |
|---|---|
| Dateigröße | Dateigröße in Bytes |
| Benutzer-ID | Die ID des Benutzers, der die Datei besitzt |
| Gruppe ID | Die ID der Gruppe, die die Datei besitzt |
| Zugriffsrecht | Dateiberechtigungen |
| Zugriffzeit | Zeitpunkt des letzten Zugriffs auf die Datei |
| Änderungszeit | Zeitpunkt der letzten Dateiänderung |
| Erstellungszeit | Erstellungszeit der Datei |
Beispiel für die Verwendung des Befehls stat :
Dieser Befehl gibt Informationen zur Datei example aus.txt im aktuellen Verzeichnis.
Jetzt, da Sie wissen, wie Sie den Stat-Befehl verwenden, können Sie die Dateiänderungen auf dem Linux-Betriebssystem mit diesem nützlichen Befehl verfolgen.
Verwenden des Befehls ls
Die grundlegende Befehlssyntax lautet wie folgt:
ls [Optionen] [Verzeichnis]
Optionen ermöglicht es Ihnen, die Ausgabe des Befehls anzupassen und zusätzliche Informationen über Dateien oder Verzeichnisse zu erhalten. Einige der am häufigsten verwendeten Optionen sind:
- -l - gibt ein langes Format aus, das Informationen über Dateiberechtigungen, Besitzer, Gruppe, Größe, Uhrzeit der letzten Änderung und Dateinamen enthält;
- -a - zeigt auch versteckte Dateien und Verzeichnisse an (Dateien und Verzeichnisse, deren Namen mit einem Punkt beginnen);
- -h - menschenlesbares Ausgabeformat der Dateigröße;
- -r - in umgekehrter alphabetischer Reihenfolge sortieren;
- -t - Sortierung nach dem Zeitpunkt der letzten Änderung.
Ohne Angabe Verzeichnisse der Befehl ls listet die Dateien und Verzeichnisse im aktuellen Verzeichnis auf. Wenn der Benutzer jedoch ein bestimmtes Verzeichnis angibt, gibt der Befehl ls den Inhalt des angegebenen Verzeichnisses aus.
Um beispielsweise eine Liste der Dateien und Verzeichnisse im aktuellen Verzeichnis in einem langen Format abzurufen, können Sie den Befehl verwenden:
Und um nur die versteckten Dateien und Verzeichnisse im aktuellen Verzeichnis aufzulisten, können Sie den Befehl verwenden:
Wenn der Benutzer den Inhalt eines anderen Verzeichnisses anzeigen möchte, z. B. /home/user/documents/ , sieht der Befehl folgendermaßen aus:
Der ls-Befehl ist ein leistungsfähiges Werkzeug für die Arbeit mit Dateien und Verzeichnissen unter Linux und bietet viele Optionen, mit denen Sie die Ausgabe anpassen und die benötigten Informationen abrufen können. Verwenden Sie es, um Änderungen an Dateien in Ihrem Betriebssystem einfach anzuzeigen und zu kontrollieren.
Verwenden des Befehls find
Die grundlegende Struktur des Befehls find lautet wie folgt:
| find | der Weg | Auswahlkriterien | Handeln |
|---|---|---|---|
| das Team | verzeichnis oder Datei | Suchbedingung | ausgeführte Aktionen |
Der Pfad zeigt das Verzeichnis an, in dem Sie suchen möchten. Mithilfe von Kriterien können Sie Suchergebnisse nach verschiedenen Dateiattributen filtern, z. B. nach Dateiname, Typ, Größe usw. Aktionen bestimmen, was Sie mit den gefundenen Dateien tun müssen, z. B. indem Sie sie anzeigen oder bestimmte Befehle darüber ausführen.
Beispiele für die Verwendung des Befehls find :
-
Finden Sie alle Dateien mit der Erweiterung .txt im aktuellen Verzeichnis:
find . -name "*.txt"
find /var/log -size +1M
find ~ -type d -name "test"
find . -type f -mtime -7
Mit dem Befehl find können Sie in Verbindung mit anderen Werkzeugen und Befehlen des Linux-Betriebssystems komplexe Szenarien erstellen, in denen Dateien gefunden und Änderungen nachverfolgt werden können. Es bietet viele Möglichkeiten, Aufgaben zu automatisieren und die Arbeit mit dem Dateisystem zu vereinfachen.
Verwenden des Befehls inotifywait
Der Befehl inotifywait akzeptiert den Pfad zu der Datei oder dem Verzeichnis, die Sie verfolgen möchten, als Parameter. Beim Start wartet sie, bis eine Aktion für das überwachte Objekt ausgeführt wird.
Mit dem Befehl inotifywait können Sie Ereignisse wie das Erstellen, Löschen, Verschieben, Bearbeiten einer Datei sowie das Ändern von Attributen und Zugriffsrechten abhören. Abhängig von den angegebenen Optionen gibt das Dienstprogramm möglicherweise zusätzliche Informationen zu Ereignissen zurück, die auftreten.
Beispiel für die Verwendung des Befehls inotifywait:
$ inotifywait -m /path/to/file/directory
In diesem Beispiel lauscht inotifywait auf alle Ereignisse, die an einer Datei oder einem Verzeichnis im angegebenen Pfad auftreten, und setzt die Arbeit im Monitormodus (-m) fort. Wenn ein Ereignis auftritt, werden Informationen über das Ereignis in der Befehlszeile angezeigt, z. B. den Aktionstyp, den Dateinamen usw.
Mit dem Befehl inotifywait können Sie leistungsstarke Skripts erstellen, um die Ereignisse des Betriebssystems automatisch zu verarbeiten. Es kann verwendet werden, um Systemprotokolle zu überwachen, Daten zu aktualisieren oder andere Skripts in Echtzeit auszuführen.
Hinweis: Um den Befehl inotifywait zu verwenden, müssen Sie das Paket inotify-tools installieren, wenn es nicht auf Ihrem System installiert ist.
Verwenden des Systemprotokolls
Sie können den Befehl "journalctl" verwenden, um das Systemprotokoll unter Linux anzuzeigen. Es ermöglicht Ihnen, Journaleinträge nach verschiedenen Kriterien wie Datum und Uhrzeit, Prozess-ID oder sogar Stichwörtern zu filtern. Sie können auch das gewünschte Ausgabeformat angeben, um das Protokoll lesbarer zu machen.
Um beispielsweise alle aktuellen Protokolleinträge anzuzeigen, können Sie den folgenden Befehl verwenden:
journalctl -b
Dadurch werden alle Protokollmeldungen angezeigt, beginnend mit dem letzten Systemstart. Wenn Sie nur die Nachrichten eines bestimmten Dienstes anzeigen möchten, können Sie die Option "-u" mit dem Namen des Dienstes hinzufügen.
Sie können auch Filter verwenden, um die Protokollausgabe zu verfeinern. Sie können beispielsweise den folgenden Befehl verwenden, um nur Meldungen mit der Fehlerstufe anzuzeigen:
journalctl -p err
Dies ist nützlich, um Probleme und Fehler im System zu finden.
Darüber hinaus kann das Systemprotokoll verwendet werden, um Änderungen an bestimmten Dateien zu verfolgen. Sie können dazu einen Filter für den Dateipfad verwenden, indem Sie ihn im Befehl zum Anzeigen des Protokolls angeben. Zum Beispiel:
journalctl /var/log/syslog
Dadurch werden nur Einträge ausgegeben, die mit der Datei "/var/log/syslog" verknüpft sind.
Die Verwendung des Systemprotokolls unter Linux hilft Ihnen, Änderungen am System zu verfolgen und Probleme zu finden und zu beheben. Es ist ein leistungsfähiges Werkzeug für die Verwaltung und Überwachung von Linux-Systemen.