Администрирование Linux. Лекция 2
Innholdsfortegnelse:
- Før du begynner
- Fjerne kataloger med
rmdir
- Fjerne kataloger med
rm
- Fjerne kataloger med
find
- Fjerner alle tomme kataloger
- / bin / rm: Argumentlisten er for lang
- Konklusjon
Det er flere forskjellige måter å fjerne kataloger i Linux-systemer. Hvis du bruker en Desktop File Manager som Gnome's Files eller KDE's Dolphin, kan du slette filer og kataloger ved å bruke managerens grafiske brukergrensesnitt. Men hvis du jobber med en hodeløs server eller vil fjerne flere kataloger samtidig, er det beste alternativet å slette katalogene (mappene) fra kommandolinjen.
, vil vi forklare hvordan du sletter kataloger i Linux ved å bruke
rmdir
,
rm
og
find
kommandoer.
Før du begynner
Når du fjerner en katalog ved å bruke din Desktop File Manager, blir katalogen faktisk flyttet til papirkurven og kan enkelt gjenopprettes.
Vær ekstra forsiktig når du fjerner filer eller kataloger fra kommandolinjen, fordi når katalogen er slettet ved hjelp av kommandoene som er forklart, kan den ikke gjenopprettes fullstendig.
På de fleste Linux-filsystemer krever sletting av en katalog skrivetillatelse for katalogen og dens innhold. Ellers får du feilen "Operasjon ikke tillatt".
Katalognavn med et mellomrom i dem må slippe unna med et tilbakeslag (
/
).
Fjerne kataloger med
rmdir
rmdir
er et kommandolinjeverktøy for å slette tomme kataloger. Det er nyttig når du bare vil slette en katalog hvis den er tom, uten å måtte sjekke om katalogen er tom eller ikke.
Hvis du vil slette en katalog med
rmdir
, skriver du kommandoen etterfulgt av navnet på katalogen du vil fjerne. For å slette en katalog som heter
dir1
du for eksempel:
rmdir dir1
Hvis katalogen ikke er tom, får du følgende feil:
rmdir: failed to remove 'dir1': No such file or directory
I dette tilfellet må du bruke
rm
kommandoen eller fjerne kataloginnholdet manuelt før du kan slette det.
Fjerne kataloger med
rm
rm
er et kommandolinjeverktøy for å slette filer og kataloger. I motsetning til
rmdir
kan
rm
kommandoen slette både tomme og ikke-tomme kataloger.
Som standard fjerner ikke
rm
kataloger når det brukes uten noe alternativ. For å slette en tom katalog, bruk alternativet
-d
(
--dir
) og for å slette en ikke-tom katalog og alt innholdet bruker du alternativet
-r
(-
--recursive
eller
-R
).
For eksempel for å slette en katalog som heter
dir1
sammen med alt innholdet du skriver:
rm -r dir1
Hvis en katalog eller en fil i katalogen er skrivebeskyttet, blir du bedt om å bekrefte slettingen. For å fjerne en katalog uten å bli bedt om det, bruk alternativet
-f
:
rm -rf dir1
For å fjerne flere kataloger samtidig, bruk
rm
kommandoen etterfulgt av navnene på katalognavnene som er skilt med mellomrom. Kommandoen nedenfor vil fjerne hver oppførte katalog og innholdet:
rm -r dir1 dir2 dir3
Alternativet
-i
ber
rm
be deg om å bekrefte sletting av hver underkatalog og fil. Hvis katalogen inneholder mange filer, kan dette være lite irriterende, så du kan vurdere å bruke alternativet
-I
vil spørre deg bare én gang før du fortsetter med slettingen.
rm -rI dir1
For å fjerne katalogtypen
y
og trykke
Enter
.
rm: remove 1 argument recursively? y
Du kan også bruke vanlige utvidelser for å matche og slette flere kataloger. For å fjerne alle kataloger på første nivå i den gjeldende katalogen som slutter med
_bak
, bruker du for eksempel følgende kommando:
rm -r *_bak
Det kan være risikabelt å bruke regelmessige utvidelser når du fjerner kataloger. Det anbefales først å liste opp katalogene med
ls
kommandoen, slik at du kan se hvilke kataloger som blir slettet før du kjører
rm
kommandoen.
Fjerne kataloger med
find
find
er et kommandolinjeverktøy som lar deg søke etter filer og kataloger basert på et gitt uttrykk og utføre en handling på hver matchede fil eller katalog.
Det vanligste scenariet er å bruke
find
kommandoen til å slette kataloger basert på et mønster. For å slette alle kataloger som slutter med
_cache
i den gjeldende arbeidskatalogen, vil du for eksempel slette:
find. -type d -name '*_cache' -exec rm -r {} +
La oss analysere kommandoen over:
-
/dir
- rekursivt søk i gjeldende arbeidskatalog (.
).-type d
- begrenser søket til kataloger.-name '*_cache'
- bare søk i kataloger som slutter med_cache
-exec
- utfører en ekstern kommando med valgfrie argumenter, i dette tilfellet som errm -r
.{} +
- legger de funnet filene til slutten avrm
kommandoen.
Fjerner alle tomme kataloger
For å fjerne alle tomme kataloger i et katalogtre du bruker:
find /dir -type d -empty -delete
Her er en forklaring på alternativene som brukes:
-
/dir
- rekursivt søk i/dir
katalogen.-type d
- begrenser søket til kataloger.-empty
- begrenser søket bare til tomme kataloger.-delete
- sletter alle funnet kataloger som er funnet i undertreet.-delete
kan bare slette tomme kataloger.
Bruk alternativet-
-delete
med ekstrem forsiktighet. Kommandolinjen for finn blir evaluert som et uttrykk, og hvis du legger til alternativet-slett først, vil kommandoen slette alt under startpunktene du spesifiserte. Bruk alltid
-delete
som det siste alternativet, og før du sletter, må du teste kommandoen først uten alternativet
-delete
.
/ bin / rm: Argumentlisten er for lang
Denne feilmeldingen vises når du bruker
rm
kommandoen til å fjerne en katalog som inneholder et enormt antall filer. Dette skjer fordi antallet filer er større enn systemgrensen for størrelsen på kommandolinjeargumentet.
Det er flere forskjellige løsninger på dette problemet. Du kan for eksempel
cd
til katalogen og manuelt eller bruke en løkke for å fjerne underkataloger en etter en.
Den enkleste løsningen er først å slette alle filene i katalogen med
find
kommandoen og deretter slette katalogen:
find /dir -type f -delete && rm -r /dir
Konklusjon
Med
rm
og
find
kan du slette kataloger basert på forskjellige kriterier raskt og effektivt.
Slette kataloger er en enkel og enkel prosess, men du må være forsiktig med å slette viktige data.
rm rmdir finn terminalHvordan automatisk fjerne og slette dmg-filer i mac

Lær hvordan du bruker automator til å lage nyttige arbeidsflyter for å fjerne og slette diskbildefiler automatisk.
Hvordan slette / fjerne brukere i Linux (userdel-kommando)

I Linux kan du slette en brukerkonto og alle tilknyttede filer ved å bruke kommandoen userdel. Denne opplæringen forklarer userdel-kommandoen og dens alternativer.
Hvordan fjerne (slette) symbolkoblinger i Linux

En symbolsk lenke, også kjent som en symlink, er en spesiell filtype som peker til en annen fil eller katalog. I denne guiden vil vi vise deg hvordan du fjerner (sletter) symbolkoblinger i Linux / UNIX-systemer.