Noen ganger, mens du arbeider med filer i Linux -terminalen, vil du kanskje slette innholdet i en fil uten nødvendigvis å åpne den med noen Linux kommandolinje redaktører. Hvordan kan dette oppnås? I denne artikkelen vil vi gå gjennom flere forskjellige måter å tømme filinnhold ved hjelp av noen nyttige kommandoer.
Forsiktighet: Før vi fortsetter å se på de forskjellige måtene, legg merke til at fordi i Linux alt er en fil, må du alltid sørge for at filen (e) du tømmer ikke er viktige bruker- eller systemfiler. Sletting av innholdet i et kritisk system eller en konfigurasjonsfil kan føre til en dødelig applikasjon/systemfeil eller feil.
Når det er sagt, nedenfor er midler for å slette filinnhold fra kommandolinjen.
Viktig: I denne artikkelen har vi brukt fil access.log
i de følgende eksemplene.
En enkleste måte å tømme eller tømme et filinnhold ved å bruke shell -omdirigering null
(ikke-eksisterende objekt) til filen som nedenfor:
#> access.log.
Her vil vi bruke et symbol :
er en shell-innebygd kommando som er essens ekvivalent med ekte
kommando, og den kan brukes som no-op (ingen operasjon).
En annen metode er å omdirigere produksjonen av :
eller ekte
innebygd kommando til filen slik:
#:> access.log. ELLER # true> access.log.
I Linux, null
enheten brukes i utgangspunktet til å kaste uønskede utgangsstrømmer fra en prosess, eller som en egnet tom fil for inngangsstrømmer. Dette gjøres vanligvis ved omdirigeringsmekanisme.
Og /dev/null
enhetsfil er derfor en spesiell fil som avskriver (fjerner) alle innganger som sendes til den eller utdataene er de samme som for en tom fil.
I tillegg kan du tømme innholdet i en fil ved å omdirigere utdataene fra /dev/null
til den (filen) som input ved hjelp av kattkommando:
# cat /dev /null> access.log.
Deretter skal vi bruke cp -kommando for å tømme et filinnhold som vist.
# cp /dev /null access.log.
I den følgende kommandoen, hvis
betyr inndatafilen og av
refererer til utdatafilen.
# dd hvis =/dev/null av = access.log.
Her kan du bruke en ekkokommando med en tom streng og omdiriger den til filen som følger:
# echo ""> access.log. ELLER. # echo> access.log.
Merk: Du bør huske på at en tom streng ikke er det samme som null. En streng er allerede et objekt, ettersom det kan være tomt mens null bare betyr at det ikke eksisterer et objekt.
Av denne grunn, når du omdirigerer ut av ekkokommando ovenfor i filen, og se filinnholdet ved hjelp av kattkommando, skriver ut en tom linje (tom streng).
For å sende en null -utgang til filen, bruk flagget -n
som forteller ekko for ikke å sende ut den bakre nye linjen som fører til den tomme linjen som ble produsert i den forrige kommandoen.
# echo -n ""> access.log.
De avkort kommandoen hjelper til krympe eller utvide størrelsen på en fil til en definert størrelse.
Du kan bruke den med -s
alternativet som angir filstørrelsen. For å tømme et filinnhold, bruk en størrelse på 0 (null) som i den neste kommandoen:
# trunker -s 0 access.log.
Det er det for nå, i denne artikkelen har vi dekket flere metoder for å slette eller tømme filinnhold ved hjelp av enkle kommandolinjeverktøy og skallomdirigeringsmekanisme.
Dette er sannsynligvis ikke den eneste tilgjengelige praktiske måten å gjøre dette på, så du kan også fortelle oss om andre metoder som ikke er nevnt i denne veiledningen via tilbakemeldingsdelen nedenfor.