Tomt innhold i spesifisert fil uten å slette via kommandolinje

Anonim

Hvis du jobber på kommandolinjen og trenger å raskt tømme innholdet i en fil, kan du gjøre det ved å kaste et større enn-symbol og et mellomrom foran det aktuelle filnavnet.

Hvordan fjerne innholdet i filen fra kommandolinjen

Trikset for å fjerne innholdet i en fil mens du bevarer den filen ser slik ut:

> filnavn

Den tilnærmingen fungerer i bash og mange andre skjell, men du kan også bruke en variant av ekko hvis den ikke fungerer i zsh eller et annet skall. For zsh, bruk følgende for å fjerne innholdet i en fil fra kommandolinjen ved å bruke echo null og omdirigering:

echo -n > filnavn

Alt innhold i målfilen fjernes umiddelbart uten forvarsel, og lar det stå tomt mens filens eksistens, filnavn og tillatelser beholdes. Dette er ofte å foretrekke og raskere enn å manuelt slette og gjenskape en fil.

Et godt praktisk eksempel er for å tømme innholdet i loggfiler, for eksempel:

> ~/Library/Logs/updates.log

Eller oppnå samme effekt med ekkoomdirigering:

echo -n > ~/Library/Logs/updates.log

Du kan også bruke denne kommandoen til å lage en ny 0 byte-fil på stedet, på samme måte som ved å bruke berøringskommandoen.

Du vil finne at dette er spesielt nyttig hvis du ønsker å beholde tillatelsene til en gitt fil, men ønsker å overskrive innholdet, en vanlig forekomst med loggfiler og lignende elementer.

Tomt innhold i spesifisert fil uten å slette via kommandolinje