Leeg de inhoud van het opgegeven bestand zonder te verwijderen via de opdrachtregel

Anonim

Als u aan de opdrachtregel werkt en snel de inhoud van een bestand wilt legen, kunt u dit doen door een groter dan-symbool en een spatie voor de betreffende bestandsnaam te plaatsen.

De inhoud van een bestand wissen vanaf de opdrachtregel

De truc om de inhoud van een bestand te verwijderen met behoud van dat bestand ziet er als volgt uit:

> bestandsnaam

Die aanpak werkt in bash en veel andere shells, maar je kunt ook een variant van echo gebruiken als het niet werkt in zsh of een andere shell. Gebruik voor zsh het volgende om de inhoud van een bestand vanaf de opdrachtregel te wissen met behulp van echo null en omleiding:

echo -n > bestandsnaam

Alle inhoud in het doelbestand wordt onmiddellijk zonder waarschuwing verwijderd, zodat het leeg blijft terwijl het bestaan ​​van het bestand, de bestandsnaam en de machtigingen behouden blijven. Dit heeft vaak de voorkeur en is sneller dan handmatig een bestand verwijderen en opnieuw aanmaken.

Een goed praktijkvoorbeeld is het wissen van de inhoud van logbestanden, bijvoorbeeld:

> ~/Library/Logs/updates.log

Of hetzelfde effect bereiken met echo-omleiding:

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

U kunt deze opdracht ook gebruiken om een ​​nieuw bestand van 0 bytes op de locatie te maken, vergelijkbaar met het gebruik van de aanraakopdracht.

Dit is vooral nuttig als u de machtigingen van een bepaald bestand hetzelfde wilt houden, maar de inhoud wilt overschrijven, wat vaak voorkomt bij logbestanden en soortgelijke items.

Leeg de inhoud van het opgegeven bestand zonder te verwijderen via de opdrachtregel