2011-05-05 18:30:54 +0000 2011-05-05 18:30:54 +0000
116
116

Een "rm -rf ~" commando ongedaan maken?

Ik had een map die ik niet wilde met de naam ‘~’, dus typte ik vanaf de commandoregel

rm -rf ~

en verwijderde per ongeluk mijn thuismap (aangezien ~ resolved naar /home/gebruikersnaam). Is er een weg terug of moet ik in principe de account vanaf nul opnieuw aanmaken?

答案 (12)

148
148
148
2011-05-05 18:34:16 +0000

In het algemeen is er geen gemakkelijke weg terug.

Je zou kunnen herstellen vanaf je dagelijkse backup.

67
67
67
2011-05-06 02:20:40 +0000

Anderen (zoals @RiMMER , @Adam , en @James T ) hebben vermeld dat het voor de meeste bestandssystemen mogelijk is om de meeste of al uw gegevens terug te halen (misschien zonder bestandsnamen), omdat de gegevens niet werkelijk op nul worden gezet, maar alleen uit de bestandstabel worden verwijderd. Dit geldt niet alleen voor Linux - hetzelfde geldt voor Windows en Mac.

Niemand heeft echter het allerbelangrijkste genoemd - ZET UW COMPUTER UIT. NU..

Veel programma’s - inclusief de internet browser die je nu gebruikt - cachen gegevens op de harde schijf, en vrijwel alles wat je doet kan ervoor zorgen dat je computer de grootte van/schrijft naar het wisselbestand. Beide dingen zullen naar vrije sectoren op de harde schijf schrijven, en mogelijk je kostbare gegevens overschrijven.

Dus, zet je computer uit, haal de harde schijf eruit, en stop hem in een andere computer. Mount de harde schijf als alleen-lezen, en herstellen van de bestanden op een aparte harde schijf. Wanneer je alles hebt hersteld wat je interessant vindt - en alleen dan - schrijf je de bestanden terug naar de oorspronkelijke schijf.

13
13
13
2011-05-06 02:41:43 +0000

Ik denk dat iedere Linux gebruiker op een bepaald moment deze pijnlijke les uit eerste hand moet leren, voordat hij het belang van back-ups leert, evenals aandacht voor details en voorzichtig zijn.

Bijvoorbeeld, als je vreemd uitziende bestanden aan het verwijderen bent, zou je eerst commando’s op dat vreemde bestand kunnen uitvoeren die geen neveneffecten hebben en die geen veranderingen in je gegevens aanbrengen. Als je bijvoorbeeld

cd ~

had uitgevoerd voordat je de map probeerde te verwijderen, dan zou je gezien hebben dat de map in plaats daarvan in je thuismap zou veranderen, niet in de map ~. Als je eenmaal genoeg probleemoplossingstappen hebt doorlopen om het echte commando te leren, zou je cd correct in de ~ map moeten zetten, dan zou je op je pijltjestoets omhoog kunnen drukken om het laatste commando uit de geschiedenis te halen en dan cd in rm veranderen en dan en alleen dan proberen de map te verwijderen.

Ik stel voor om dit soort stappen te nemen voordat je elke actie uitvoert die permanent is. Het is niet permanent of foolproof, maar je hebt een veel betere kans om die oeps momenten te voorkomen als je deze mate van zorgvuldigheid in acht neemt bij het uitvoeren van acties die neveneffecten hebben.

7
7
7
2011-05-05 19:00:15 +0000

Als u het ext3-bestandssysteem gebruikt, dan is ext3grep uw nieuwe beste vriend. Een goede tutorial (naast vele andere) over het gebruik van ext3grep kunt u hier vinden.

6
6
6
2011-05-05 18:49:12 +0000

U kunt proberen om testdisk te gebruiken om individuele bestanden ongedaan te maken. Dit werkt blijkbaar alleen op ext2 en NTFS (maar toch het proberen waard).

Als u ext3 of ext4 hebt, kunt u bekende bestanden terughalen met fotorec , die waarschijnlijk meer zal terughalen dan u wilt. Photorec herstelt bestanden zonder de bestandsnaam informatie, dus het kan vervelend zijn om door de bestanden te gaan.

4
4
4
2011-05-06 14:31:40 +0000

Als u een externe schijf hebt die groot genoeg is, hebt u nog een andere mogelijk veiligste optie. Je hebt genoeg ruimte nodig om de hele home partitie op te slaan, inclusief vrije ruimte.

Start op vanaf een CD en mount de home drive helemaal niet. Mount de externe drive. dd de home drive partitie in een bestand op de externe drive. mount het bestand als een loopback device doe je undeleting werk op deze image, veilig in de wetenschap dat je geen schade kan toebrengen aan je originele bestandssysteem. Afhankelijk van het bestandssysteem zijn er veel dingen om te proberen, waarvan sommige mogelijk destructief zijn.

Dit heeft me ooit gered met een beta versie van Reiser4 toen ik niet wist wat het zou doen, zelfs als ik het alleen-lezen zou mounten. Ik heb toen ergens gelezen dat journal writes nog steeds mogelijk waren.

Het is ook een goede techniek om gegevens van een stervende schijf te redden.

2
2
2
2011-05-05 18:46:33 +0000

Er zijn technieken om bestanden te herstellen door de inodes te inspecteren die niet zijn gerecycled. Hoe meer gegevens u naar het bestandssysteem schrijft na de verwijdering, hoe kleiner de kans dat u uw gegevens kunt herstellen. De beste strategie om te herstellen van een onbedoelde gegevensverwijdering is het herstellen vanaf een back-up.

2
2
2
2011-05-07 18:27:57 +0000

Het spijt me van uw gegevens. Iedereen heeft al gezegd hoe u met uw dataprobleem moet omgaan, maar hier is wat informatie over hoe u de volgende keer kunt omgaan als u een map ziet met de naam ~.

  1. Zoek degene die het gemaakt heeft en zorg ervoor dat hij het nooit meer doet.
  2. Gebruik geen -rf of andere krachtige argumenten voor rm om te verwijderen. Doe het in plaats daarvan rustig aan en zorg ervoor dat je kan zien wat er gebeurt. Het is mogelijk om de tilde in te voeren zonder dat hij uitbreidt naar je home directory door hem te escapen in de commandoregel. In theorie zou je rm -rI \~ kunnen doen, maar je kunt nog een stap verder gaan.
  3. Eerst, cd \~ om in die map te komen, misschien zelfs pwd gebruiken om te controleren dat je er bent. 10. Verwijder de inhoud terwijl je daar bent. Nogmaals, wees voorzichtig, maar maak de map schoon met rf -rI * en als het nodig is, gebruik dan ook .*.
  4. Ga nu weer naar boven met cd .. en verwijder de map met rmdir \~.
2
2
2
2011-05-06 05:30:57 +0000
alias rm="rm -i"

In de veronderstelling dat je de Bash shell gebruikt (zet dit in je .bashrc bestand zodat het blijft bestaan in nieuwe shells die je opent).

Dit zou moeten resulteren in rm dat je vraagt om te bevestigen wat je wilt verwijderen, wat leuk is vooral als je -rf doet, maar het zal ook ‘~’ uitbreiden naar het volledige pad naar je home directory in de prompt, wat je een hint zou moeten geven dat je niet een bestand ‘~’ aan het verwijderen bent maar eigenlijk je homedir.

$ rm -rf ~
rm: examine files in directory /nas/users/u12345/unix (yes/no)? n

Dit is technisch gezien geen antwoord op je vraag, maar kan je helpen om dit soort problemen in de toekomst te voorkomen.

EDIT: Sommige mensen raden je misschien af om deze techniek te gebruiken omdat het je minder voorzichtig maakt met het “rm” commando. In mijn ervaring is dit ver bezijden de waarheid. In werkelijkheid is het effect van de alias om u te ontmoedigen om “rm -rf” te gebruiken - omdat u weet dat het zal resulteren in veel prompts die u niet wilt beantwoorden - en om een “rm -rf” te krijgen zonder prompts moet u opzettelijk verwijzen naar het rm commando als /bin/rm (of wat dan ook). Dit leidt tot een veel bewuster en doelbewuster gebruik van het “rm” commando in het algemeen - omdat je het gebruik van rm altijd moet laten voorafgaan door een mentale keuze “rm of /bin/rm” - zowel op jouw server als op elke andere waarop je toevallig bent ingelogd. En een wereld waarin iedereen nadenkt voor hij rm gebruikt zou een veiliger wereld zijn!

1
1
1
2011-05-06 07:04:37 +0000

Ik cd gewoon .snapshot en herstel de bestanden. Maar, ik doe dit op het werk en ik heb geen idee waar de .snapshot directory vandaan komt. Ik dacht dat het misschien een Linux functie was.

1
1
1
2018-06-10 04:22:55 +0000

Recovery Tools - Command Line :

*Recovery Tools - Gui : *

*Info’s : *

In mijn persoonlijke ervaring krijg ik mijn gegevens terug met “UFS Explorer” en photorec

(1) = Niet open source, niet gratis

(2) = Niet open source, gratis

(3) = Open source en gratis

(4) = Hebben ntfs ondersteuning

(5) = Hebben directory structuur functie

-3
-3
-3
2011-05-06 00:07:52 +0000

rm is voor altijd.

Hoewel dit je nu niet helpt, zou je in de toekomst rm niet kunnen gebruiken of om jezelf echt te forceren, een script toevoegen dat je eerder in je pad hebt gevonden, genaamd rm, dat de bestanden naar een prullenbakmap verplaatst die je een andere keer opruimt (zodat je fouten kunt maken en niet SOL bent).