Wie kann ich Dateien im Terminal flüssig löschen?


33

Zum Beispiel tue ich

cd Music
dir

und bekomme

123456789.mp3
qweerkrtrkgljdjfkdjfdkf.mp3
a.mp3
b.mp3
blabla.mp3

Wie lösche ich beispielsweise Dateien qweerkrtrkgljdjfkdjfdkf.mp3 und blabla.mp3 mit geringstem Aufwand?

UPD : Die Schlüsselidee ist, dass Dateinamen lang sein können, also möchte ich sie eigentlich nicht eingeben.

Antworten:


57

Versuche dies:

rm -f 2.mp3 blabla.mp3

rmentfernt Dateien, und -fzwingt sie zu (so dass es wird nicht aufhören, Sie zu fragen , ob Sie die Datei löschen möchten). Befindet sich dies nicht in Ihrem Home-Verzeichnis, stellen Sie dies voran sudo. Hier ist eine andere Möglichkeit, die möglicherweise weniger Eingaben erfordert (allerdings etwas schwerer zu lesen).

rm -f {2,blabla}.mp3

Dies erweitert sich zu 2.mp3 blabla.mp3. Wenn Sie größere Dateinamen verwenden möchten, können Sie das Platzhalterzeichen ( *) verwenden, das alle Elemente zurückgibt, die mit dem von Ihnen gewählten Dateinamen beginnen / enden. Beispielsweise:

rm -f bla*

entfernt alle Dateien, die mit beginnen bla. Wenn Sie dies verwendet haben:

rm -f *.mp3

Es werden alle Dateien entfernt, die mit enden .mp3. Wenn Sie dies verwendet haben:

rm -f bla*.mp3

Es werden alle Dateien entfernt, die mit beginnen blaund mit enden .mp3. Die Möglichkeiten sind mit dem *Charakter nahezu unbegrenzt : P


1
Ich wusste, dass jemand einfach einsteigen würde. Dumme HTC-Tastatur!

2
Wenn sich die Dateien in Ihrem eigenen privaten Ordner befinden, müssen Sie sudo nicht verwenden.

Guter Punkt. Ich habe meinen Beitrag aktualisiert.
MiJyn

3
Beachten Sie vielleicht zusätzlich die Möglichkeit, das Tabulatorzeichen zum Vervollständigen von Dateinamen zu verwenden?
Darael

Was ist, wenn ich Unterverzeichnisse einfügen möchte? Ich habe versucht, -r hinzuzufügen, aber es hat nicht funktioniert. Ich habe einige von denen, die ärgerlich sind. Mac-Indexdateien, die ich von einer Website löschen möchte.
Frantumn

4

Wie jeder sagt, rm -f <file>ist der Weg zu gehen, aber wie Stonedsquirrel sagte, können Sie die ersten paar Buchstaben <TAB>eingeben und drücken und es wird automatisch den Dateinamen ausfüllen.


0

Versuche dies: rm qweer*.mp3 bla*.mp3

Achtung: Wenn es einen Dateinamen gibt, der mit diesen Buchstaben beginnt, wird dieser durch diesen Befehl gelöscht.


0

Wie @Hckr schon erwähnte gibt es keine Ähnlichkeiten zwischen dem Namen. Sie können Platzhalter verwenden, rm *.mp3um beispielsweise alle Dateien zu entfernen, deren Namen auf enden .mp3. Wenn es keine derartigen Ähnlichkeiten gibt, müssen Sie jede Datei einzeln angeben.

Tatsächlich können Sie einige Eingaben mithilfe der Tabulatorvervollständigung sparen. Wenn Sie in Ihrem Beispiel rm qdie Tabulatortaste eingeben und drücken, wird die Eingabe zu abgeschlossen rm qweerkrtrkgljdjfkdjfdkf.mp3. Dies funktioniert, weil es die einzige Datei ist, die mit beginnt q. Wenn Sie dies eingeben rm bwürden, würde dies nicht ausreichen, da Sie zwei Dateien haben, die mit b beginnen.


0

Einfach rm 2.mp3 blabla.mp3.

ACHTUNG: Dies führt zum dauerhaften Löschen!


Für Dateien:

1234.MP3 1345.MP3 1234.MP4

rm -f 1*3*.MP3 würde die ersten 2 löschen, nicht bestätigen, DAUERHAFT!

* ist alles, was noch leer ist, weshalb es immer noch das zweite löscht.


1
Vielleicht -f nach rm

Wenn es eine Datei gibt, die mit q beginnt, geben Sie q * ein. Wenn mehr vorhanden sind, werden alle q-begginers gelöscht.

Sie wissen, dass Sie Ihre eigene Antwort bearbeiten können, um diese zusätzlichen Informationen einzuschließen.

1
Anstatt zu kommentieren, sollten Sie die editSchaltfläche verwenden, um diese tollen Ergänzungen zu Ihrer Antwort hinzuzufügen.
Marco Ceppi

Getan! Nächstes Mal werde ich den Laptop benutzen.

0

Was ich tun würde, ist, die Dateien, die Sie nicht löschen wollten, in einen Ordner zu legen, bevor Sie diese Befehle ausführen, wenn weniger vorhanden sind, als Sie loswerden wollten. Aber letztendlich würde eine Kombination aus Platzhaltern ("*" und "?") Und definierenden Anweisungen die Aufgabe leicht erledigen. Kommt nur darauf an, welche Dateien Sie haben, die Sie behalten oder loswerden möchten.

Haben Sie schon einmal versucht, die zu löschenden Dateien in das Terminal-App-Fenster zu ziehen? Es klont möglicherweise das Verzeichnis sowie den Dateinamenpfadstil für Sie. Wenn Sie jedoch nur 2 oder 3 Dateien löschen, hoffe ich, dass dies nur zu Lernzwecken dient. Andernfalls würde ich die Pfade und den Dateinamen manuell über die Tabulatortaste auf meiner Tastatur eingeben aktuelles Verzeichnis, das mit dem beginnt, was Sie bereits eingegeben haben.


0

Tab Vervollständigung ist der Weg . Es ist bashstandardmäßig in Ubuntu aktiviert. Das funktioniert so:

$ rm bl<tab>

wird automatisch in geändert

$ rm blabla.mp3

Wenn der Dateiname nicht eindeutig ist, müssen Sie erneut drücken tab, um eine Liste der möglichen Dateinamen anzuzeigen:

$ rm b<tab><tab>
blabla.mp3  b.mp3

Dies funktioniert auch für eine Reihe anderer Befehle wie apt-get, serviceund so weiter.

Wenn Sie an einer noch raffinierteren Tab-Vervollständigung interessiert sind, schauen Sie sich zshdie Grml-Konfiguration an . Sie ist umwerfend.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.