Sono consapevole che il touch
comando viene utilizzato per aggiornare la data dell'ultima modifica su un file. Viene anche usato per creare un nuovo file se il file richiesto non esiste sul file system.
Dal momento che il tocco (come suggerisce il nome), dovrebbe semplicemente aggiornare la data dell'ultima mod, perché prova anche a creare un nuovo file?
È solo un segno di spunta scritto nel codice del tocco o è qualcos'altro che provoca la creazione di un file?
>/forcefsck
o printf '' >>/forcefsck
(quest'ultimo manterrebbe qualsiasi contenuto esistente). Quello che descrivi è un modo per usare un'utilità che funziona in un certo modo, ma che non ha alcuna influenza sul perché sia scritta per funzionare in quel modo.
touch
piuttosto che il modo in cui funziona, penso che touch
violi il principio di responsabilità singola con l'effetto collaterale della creazione di file. Pertanto, il "perché" è semplicemente dovuto alle prime scelte progettuali che sono rimaste bloccate a causa della popolarità e della prevalenza / facilità d'uso.
touch /forcefsck
per creare un file vuoto chiamato/forcefsck
per forzare il controllo dei file system per errori al successivo riavvio. Il file stesso non deve contenere nulla, deve solo esistere. Senzatouch
, avrei bisogno di usarevi
onano
salvare un file vuoto. Molto più veloce da usaretouch
.