logo

Linux rm | Linux Ta bort fil

'rm' betyder ta bort. Detta kommando används för att ta bort en fil. Kommandoraden har inte en papperskorg eller papperskorg till skillnad från andra GUI:er för att återställa filerna. Var därför mycket försiktig när du använder det här kommandot. När du har tagit bort en fil tas den bort permanent.

Introduktion till rm

rm är ett allmänt kommando i Unix och andra Unix-liknande system. Det används för att ta bort objekt som symboliska länkar, kataloger och datorfiler från filsystemen. Det tar också bort några speciella filer som sockets, pipes och device noder, samma som del-kommandot i Microsoft Windows, OS/2 och MS-DOS. Kommandot är också tillgängligt i EFI-skalet.

Översikt över rm

Kommandot rm tar bort objektreferenser från filsystemet med hjälp av unlink systemanropet, där objekten kan ha haft två eller flera referenser (t.ex. en fil med två namn), och objekten tas bort själva endast om varje referens har tagits bort och programmen har fortfarande inte varit öppna handtag för objekten.

en rad objekt java
  • Det tillåter scenarier där ett program kan starta en fil, ta bort den omedelbart från filsystemet och använda den för begränsat utrymme, med vetskap om att filens utrymme kommer att återställas efter att programmet stängs, även när det avvisas genom att krascha.
  • I allmänhet skadar inte kommandot fildata eftersom dess syfte är väldigt svårt att koppla bort referenser. Dessutom kan det frigjorda filsystemutrymmet fortfarande innehålla överbliven data med den raderade filen. Det kan vara ett säkerhetsövervägande i några fall, och hårdnade versioner tillåter ibland att radera ut data eftersom den sista länken klipps, och program som t.ex. srm och strimla är tillgängliga specifikt för att ge dataspolningsfunktioner.
  • rm-kommandot finns bara på Unix-härledda operativsystem, som vanligtvis inte tillåter återställning av borttagna filer med en metod, såsom papperskorgen, så användarnas vana att omsluta rm-kommandot är en typ av omslag för att begränsa oavsiktlig radering av filer.
  • Det finns också några återställningsverktyg som försöker återskapa indexet och om delarna inte återanvänds kan det få tillbaka filen.

Kort historik om rm

Kommandot rm tar bort kataloger om de är tomma på några gamla versioner av Unix. Ändå kan beteendet tas med i några versioner av rm-kommandot med -d-alternativet, t.ex. BSD:erna (som macOS, OpenBSD, NetBSD och FreeBSD) härledda från 4.4BSD-Lite2.

Dessutom erbjuder rm-versionen, grupperad i GNU-coreutils, flaggan -d för att hjälpa till med kompatibilitet. Liknande funktionalitet erbjuds av standard rmdir. I version 7 ersätts flaggan -i med 'radera från switchar' eller dsw, som dök upp i version 1.

Syntax:

 rm 

Kommandot rm tar bort filen som namnges efter att alternativen ingår. Användare kan använda en relativ sökväg eller en fullständig sökväg för filen för att namnge filerna som ska tas bort. Kommandot rm tar som standard inte bort en katalog. Kommandot rm foo tar bort 'foo' filen i användarens aktuella katalog.

Kommandot rm kan täckas av en skalaliasfunktion för kommandot rm -i för att ignorera oavsiktlig radering av filer. Ändå, om en användare vill ta bort många filer utan godkännande, kan de ställa in flaggan -i genom att inkludera -f-flaggan manuellt. Detta tillvägagångssätt, tyvärr, producerar farliga vanor för användning av jokertecken, vilket orsakar dess oavsiktliga borttagningsversion.

för loop in bash

De rm -rf kommando används ofta i anekdoter och skämt om Unix-katastrofer, inklusive förlust av flera filer under skapandet av filmen Pixar och Toy Story 2 . De rm -rf / version av kommandot skulle leda till att alla filer som är tillgängliga med det aktuella filsystemet tas bort via maskinen om de körs av en superanvändare.

värd för linux

För att ta bort en fil i den överordnade katalogen krävs skrivbehörighet på de flesta filsystem. För att ta bort en katalog måste man rekursivt ta bort vart och ett av dess innehåll. Den behöver att man rekursivt måste innehålla exekverings- och skrivbehörigheterna för den katalogen och den icke-tomma katalogen. Läsbehörigheterna krävs för att ange kataloginnehållet för att ta bort dem. Ibland orsakar det en konstig situation där en icke-tom katalog inte kan tas bort eftersom man inte har skrivbehörighet, så man kan inte ta bort dess innehåll; även om en liknande katalog var tom, kunde man ta bort den.

Exempel:

 rm myfile1 

rm filen

I ögonblicksbilden ovan har vi tagit bort filen myfile1 permanent med hjälp av 'rm'-kommandot.

rm alternativ

AlternativBeskrivning
rm *förlängningAnvänds för att radera filer med samma filtillägg.
rm -r eller RFör att radera en katalog rekursivt.
rm -iTa bort en fil interaktivt.
rm -rfTa bort en katalog med våld.
-f-f står för kraft. Den ignorerar filer som inte finns och åsidosätter bekräftelsemeddelandena. Den kommer dock inte att radera filer genom en katalog när den är skrivskyddad.
-i-v står för verbose. Den skriver ut vad rm-kommandot gör i terminalen.
-d-d står för katalog. Den tar bort en tom katalog och fungerar bara om den namngivna katalogen är tom.
--ett-filsystemDet tar bara bort filer på ett liknande filsystem som argumentet och kommer att undvika det monterade filsystemet.