Comando Directory tocco Linux


9

Che cosa tocca il comando 'toccato' quando applicato a una directory?

$ 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

Risposte:


8

Come indicato nella manpage , l'uso principale di touchquesto è:

Aggiorna i tempi di accesso e modifica di ciascun FILE all'ora corrente.

Quindi aggiorna i tempi di accesso e modifica della directory.


4

L'esempio in alto non chiarisce che "touch" imposta l'ora della directory (la nuova ora nella lista era la stessa dell'originale, semplicemente perché il tocco era così presto dopo la creazione della directory) .. Sì, la definizione di "FILE" nella documentazione include le directory, quindi puoi usare il tocco per cambiare i loro timestamp, MA ...

Ci sono alcune situazioni in cui non è possibile modificare il timestamp di una directory (per alcuni tipi di directory montate in remoto) anche se si dispone dell'autorizzazione per fare qualsiasi altra cosa. ad esempio questa montatura NFS:

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

Inoltre, puoi riscontrare problemi con alcune vecchie date non supportate su alcuni server, ad esempio:

$ 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

Questo funziona:

$ 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

Funzionerebbe su una directory locale ma dà una strana data sotto i montaggi di Samba:

$ 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

touchè un programma Unix standard utilizzato per modificare l'accesso di un file e la modifica dei timestamp. Viene anche usato per creare un nuovo file vuoto.

La specifica Unix singola (SUS) specifica che il tocco dovrebbe cambiare i tempi di accesso, i tempi di modifica o entrambi, per un file. Il file è identificato da un percorso fornito come singolo argomento. Specifica inoltre che se il file identificato non esiste, il file viene creato e i tempi di accesso e modifica vengono impostati come specificato. Se non vengono specificati nuovi timestamp, toccare utilizza l'ora corrente.

-Wikipedia

Puoi trovare informazioni più approfondite sul touchcomando (o qualsiasi altro comando che desideri conoscere) utilizzando il mancomando in questo modo:

man touch


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.