Linux Touch Directory-Befehl


9

Was bewirkt der Befehl 'touch', wenn er auf ein Verzeichnis angewendet wird?

$ mkdir test
$ ls -l test
drwxrwxr-x 2 dragos dragos 4096 Oct 27 18:08 test
$ touch test
$ ls -l
drwxrwxr-x 2 dragos dragos 4096 Oct 27 18:08 test

Antworten:



4

Das Beispiel oben macht nicht deutlich, dass "touch" die Zeit des Verzeichnisses festlegt (die neue Zeit in der Liste war dieselbe wie das Original, einfach weil die Berührung so bald nach dem Erstellen des Verzeichnisses erfolgte). Ja, die Definition von "DATEI" in der Dokumentation enthält Verzeichnisse, sodass Sie ihre Zeitstempel mit touch ändern können, ABER ...

In einigen Situationen können Sie den Zeitstempel eines Verzeichnisses nicht ändern (für einige Arten von remote gemounteten Verzeichnissen), selbst wenn Sie die Berechtigung haben, etwas anderes zu tun. zB diese NFS-Halterung:

$ touch -d "2014-07-02 12:15" /public/test.dir    
touch: setting times of ‘/public/test.dir’: Operation not permitted

Außerdem können Probleme auftreten, wenn einige alte Daten auf einigen Servern nicht unterstützt werden, z.

$ mkdir  /Acer/kopies/test.dir
$ ls -ald /Acer/kopies/test.dir
drwxr-xr-x 2 mark aitchison 0 Mar 11 17:40 /Acer/kopies/test.dir

Das funktioniert:

$ touch "2014-04-01 00:00" /Acer/kopies/test.dir
$ ls -ald /Acer/kopies/test.dir
drwxr-xr-x 2 mark aitchison 0 Apr  1  2014 /Acer/kopies/test.dir

Dies würde in einem lokalen Verzeichnis funktionieren, gibt jedoch ein seltsames Datum unter Samba-Reittieren an:

$ touch -d "1955-07-02 12:15" /Acer/kopies/test.dir
$ ls -ald /Acer/kopies/test.dir
drwxr-xr-x 2 mark aitchison 0 Nov 26  60410 /Acer/kopies/test.dir
                              ~~~~~~~~~~~~~

2

touchist ein Standard-Unix-Programm zum Ändern der Zugriffs- und Änderungszeitstempel einer Datei. Es wird auch verwendet, um eine neue leere Datei zu erstellen.

Die Single Unix Specification (SUS) gibt an, dass durch Berühren die Zugriffszeiten, Änderungszeiten oder beides für eine Datei geändert werden sollen. Die Datei wird durch einen Pfadnamen identifiziert, der als einzelnes Argument angegeben wird. Außerdem wird angegeben, dass die Datei erstellt und die Zugriffs- und Änderungszeiten wie angegeben festgelegt werden, wenn die identifizierte Datei nicht vorhanden ist. Wenn keine neuen Zeitstempel angegeben sind, verwendet touch die aktuelle Zeit.

-Wikipedia

Sie können detailliertere Informationen zum touchBefehl (oder zu jedem anderen Befehl, über den Sie wissen möchten) finden, indem Sie den folgenden manBefehl verwenden:

man touch


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.