Mir ist bekannt, dass der touch
Befehl zum Aktualisieren des Datums der letzten Änderung an einer Datei verwendet wird. Es wird auch zum Erstellen einer neuen Datei verwendet, wenn die angeforderte Datei im Dateisystem nicht vorhanden ist.
Da touch (wie der Name schon sagt) nur das letzte Änderungsdatum aktualisieren sollte, warum wird dann auch versucht, eine neue Datei zu erstellen?
Ist es nur ein Scheck, der in den Code der Berührung geschrieben wurde, oder ist es etwas anderes, das zur Erstellung einer Datei führt?
>/forcefsck
oder printf '' >>/forcefsck
(letzterer würde vorhandene Inhalte beibehalten). Was Sie beschreiben, ist eine Möglichkeit, ein Dienstprogramm zu verwenden, das auf eine bestimmte Art und Weise funktioniert, aber das hat keinen wirklichen Einfluss darauf, warum es so geschrieben wurde.
touch
als um die Funktionsweise geht, touch
verstößt das Prinzip der Einzelverantwortung mit dem Nebeneffekt der Dateierstellung. Daher ist das "Warum" einfach auf frühe Designentscheidungen zurückzuführen, die aufgrund der Popularität und Verbreitung / Benutzerfreundlichkeit hängengeblieben sind.
touch /forcefsck
erstelle ich eine leere Datei, die aufgerufen wird, um/forcefsck
zu erzwingen, dass Dateisysteme beim nächsten Neustart auf Fehler überprüft werden. Die Datei selbst muss nichts enthalten, sie muss nur existieren. Ohnetouch
müsste ich eine leere Datei verwendenvi
odernano
speichern. Viel schneller zu bedienentouch
.