Töm innehållet i specificerad fil utan att raderas via kommandoraden

Anonim

Om du arbetar på kommandoraden och snabbt behöver tömma innehållet i en fil, kan du göra det genom att slänga en symbol för större än och ett mellanslag framför filnamnet i fråga.

Hur rensar du innehållet i filen från kommandoraden

Knepet att ta bort innehållet i en fil samtidigt som filen bevaras ser ut som följande:

> filnamn

Det tillvägagångssättet fungerar i bash och många andra skal, men du kan också använda en variant av eko om det inte fungerar i zsh eller ett annat skal. För zsh, använd följande för att rensa innehållet i en fil från kommandoraden med echo null och omdirigering:

echo -n > filnamn

Allt innehåll i målfilen kommer omedelbart att tas bort utan förvarning, och lämnar det tomt medan filens existens, filnamn och behörigheter behålls. Detta är ofta att föredra och snabbare än att manuellt ta bort och återskapa en fil.

Ett bra praktiskt exempel är för att rensa ut innehållet i loggfiler, till exempel:

> ~/Library/Logs/updates.log

Eller uppnå samma effekt med eko-omdirigering:

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

Du kan också använda det här kommandot för att skapa en ny 0 byte-fil på platsen, liknande som att använda pekkommandot.

Du kommer att tycka att detta är särskilt användbart om du vill behålla behörigheterna för en given fil oförändrade men vill skriva över innehållet, vilket är vanligt med loggfiler och liknande objekt.

Töm innehållet i specificerad fil utan att raderas via kommandoraden