Tomt indhold af specificeret fil uden sletning via kommandolinje

Anonim

Hvis du arbejder på kommandolinjen og hurtigt har brug for at tømme indholdet af en fil, kan du gøre det ved at smide et større end-symbol og et mellemrum foran det pågældende filnavn.

Sådan rydder du indholdet af filen fra kommandolinjen

Tricket til at fjerne indholdet af en fil, mens filen bevares, ser sådan ud:

> filnavn

Den tilgang virker i bash og mange andre skaller, men du kan også bruge en variation af ekko, hvis den ikke virker i zsh eller en anden skal. For zsh skal du bruge følgende til at rydde indholdet af en fil fra kommandolinjen ved hjælp af echo null og omdirigering:

echo -n > filnavn

Alt indhold i målfilen fjernes øjeblikkeligt uden varsel, og efterlader det tomt, mens filernes eksistens, filnavn og tilladelser bevares. Dette er ofte at foretrække og hurtigere end manuelt at slette og genskabe en fil.

Et godt praktisk eksempel er at rydde indholdet af logfiler, for eksempel:

> ~/Library/Logs/updates.log

Eller opnår den samme effekt med ekkoomdirigering:

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

Du kan også bruge denne kommando til at oprette en ny 0 byte-fil på stedet, svarende til at bruge berøringskommandoen.

Du vil opleve, at dette er særligt nyttigt, hvis du vil beholde tilladelserne for en given fil de samme, men ønsker at overskrive indholdet, en almindelig forekomst med logfiler og lignende elementer.

Tomt indhold af specificeret fil uden sletning via kommandolinje