root@dwarf /var/spool/clientmqueue # rm spam-*
/bin/rm: Argumentliste zu lang.
Gesehen überhaupt dieser Störung in Linux, wenn Sie zu viele Akten in einem Verzeichnis haben und Ihnen nicht imstande, sie mit einem einfachem zu löschen rm - Rf *? Ich habe in dieses Problem eine Anzahl von Zeiten laufen gelassen. Nachdem ich ein wenig Forschung online getan hatte, stieß ich auf eine ordentliche Lösung zufällig, um um diese Ausgabe zu arbeiten.
Entdeckung. - Name „spam-*“ | xargs rm
Im oben genannten Fall löscht der Befehl stark alle Akten im aktuellen Verzeichnis, denen mit anfangen Sie Spam. Sie können ersetzen spam-* mit allem mögen Sie. Sie können es mit gerade a auch ersetzen * wenn Sie alle Akten im Heft entfernen möchten.
Entdeckung. - Name „*“ | xargs rm
Wir haben bedeckt Linux Entdeckung Befehl ausführlich großes früh. Xargs ist Linux Befehl, der bildet, eine Anzahl von Argumenten zu einem Befehl führend einfacher.

























{ 2 comments… read them below or add one }
Safe variant for filenames with spaces, new lines and other whitespace characters:
find . -name ‘*’ -print0 | xargs -o rm
Good catch using the print0 option, that’s an important one.
Most find commands do not require the “-name” predicate. What’s usually more important is to make sure you’re deleting *files* and not something else you might not have intended. For this use “-type f” inplace of the “-name” option….
find . -type f -print0 | xargs -0 /bin/rm
A) Use the full path to the ‘rm’ command so your aliases don’t muck with things.
B) Check your xargs command, you can sometimes, if needed, tell it to use one “result” at a time, such as (if you didn’t use print0 but regular print) “-l1″
Leave a Comment