How to Navigate the Command Line in Linux (cd, ls)
Inhoudsopgave:
In sommige situaties wilt u een bestaand bestand inkorten (leegmaken) tot een lengte van nul. Kort gezegd betekent het afkappen van een bestand dat de inhoud van het bestand wordt verwijderd zonder het bestand te verwijderen.
Een bestand inkorten gaat veel sneller en eenvoudiger dan het bestand verwijderen, opnieuw maken en de juiste machtigingen en eigendom instellen. Als het bestand door een proces wordt geopend, kan het programma dat het gebruikt mogelijk een storing veroorzaken.
In deze zelfstudie wordt uitgelegd hoe bestanden op nul kunnen worden afgekapt in Linux-systemen met behulp van shell-omleiding en de opdracht
truncate
.
Shell-omleiding
De eenvoudigste en meest gebruikte methode om bestanden in te korten is het gebruik van de shell-omleidingsoperator.
Het algemene formaat voor het afkappen van bestanden met behulp van omleiding is:
: > filename
Laten we het commando afbreken:
- De
:
dubbele punt betekenttrue
en produceert geen uitvoer. De omleidingsoperator>
leidt de uitvoer van de vorige opdracht om naar het gegeven bestand.filename
, het bestand dat u wilt afkappen.
Als het bestand bestaat, wordt het afgekapt tot nul. Anders wordt het bestand gemaakt.
In plaats van
:
kan ook een andere opdracht gebruiken die geen uitvoer produceert.
Hier is een voorbeeld van het gebruik van de opdracht
cat
om de inhoud van het
/dev/null
apparaat uit te voeren, dat alleen een einde-van-bestand-teken retourneert:
cat /dev/null > filename
Een ander commando dat kan worden gebruikt is
echo
. De optie
-n
vertelt
echo
om geen nieuwe regel toe te voegen:
echo -n > filename
Op de meeste moderne shells zoals Bash of Zsh kunt u de opdracht vóór het omleidingssymbool weglaten en gebruiken:
> filename
Om een bestand te kunnen afkappen, moet u over schrijfrechten voor het bestand beschikken. Normaal gesproken zou u hiervoor
sudo
gebruiken, maar de verhoogde rootrechten zijn niet van toepassing op de omleiding. Hier is een voorbeeld:
sudo: > /var/log/syslog
bash: /var/log/syslog: Permission denied
Er zijn verschillende oplossingen waarmee omleiden met
sudo
. De eerste optie kan een nieuwe shell met sudo uitvoeren en een commando binnen die shell uitvoeren met de vlag
-c
:
sudo sh -c '> filename'
Een andere optie is om de uitvoer naar de
tee
opdracht te leiden, de
tee
rechten met
sudo
verhogen en de lege uitvoer naar een bepaald bestand te schrijven:
commando
truncate
truncate
is een opdrachtregelprogramma waarmee u de grootte van een bestand kunt verkleinen of uitbreiden tot een bepaalde grootte.
De algemene syntaxis voor het inkorten van bestanden op nul met de opdracht
truncate
is als volgt:
truncate -s 0 filename
Met de optie
-s 0
wordt de bestandsgrootte op nul ingesteld.
Als u bijvoorbeeld het Nginx-toegangslogboek wilt legen, gebruikt u:
sudo truncate -s 0 /var/log/nginx/access.log
Leeg alle logbestanden
Na verloop van tijd kan uw schijf vol raken met veel grote logbestanden die grote hoeveelheden schijfruimte in beslag nemen.
De volgende opdracht maakt bestanden leeg die eindigen op ".log" in de map
/var/log
:
sudo truncate -s 0 /var/log/**/*.log
Een betere optie is om de logboekbestanden te roteren, te comprimeren en te verwijderen met de tool
logrotate
.
Conclusie
Om een bestand in Linux af te breken, gebruikt u de omleidingsoperator
>
gevolgd door de bestandsnaam.
Cameramakers streven ernaar de cameradiepte met de helft in te korten
Digitale camera's die lenzen van verschillende leveranciers kunnen gebruiken, zouden in de toekomst tot 50 procent kleiner kunnen zijn , twee camera's ...
Lege mapopruiming: lege mappen en lege bestanden in Windows verwijderen
Lege mapopruiming is de beste gratis software voor Windows die de gebruiker helpt verwijder lege bestanden en mappen en verwijder ongewenste rommel om de computerprestaties te verbeteren
Uploader voor bestanden en afbeeldingen: upload bestanden naar meerdere hostwebsites voor bestanden
Gratis bestands- en afbeeldinguploader wordt automatisch aangepast, upload 1 of meer bestanden naar een enkele of meerdere bestandshostingwebsites met slechts een enkele klik.