Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Datei '-rf' löschen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Dec 2001
    Ort
    berlin
    Beiträge
    110

    Datei '-rf' löschen

    jeder kennt es sicher ... [Standardeinleitungssatz]

    man hat aus Versehen eine Datei '-P' oder '-rf' angelegt.

    Was tun ?

    mir fallen 2 Möglichkeiten ein:

    1) unter Samba Verzeichnis freigeben und unter Windows löschen/umbenennen
    2) mit PERL löschen umbenennen
    Code:
    perl -e 'unlink("-rf")'
    Code:
    perl -e 'rename("-rf","r-f")'
    so nun hoffe ich einigen geholfen zu haben, die mal ein 50MB Logfile in '-rf' umbenannt und es nicht wieder gelöscht bekommen haben.

    cya OdinD

  2. #2
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Beiträge
    1.648
    Code:
    $ touch -- -rf
    $ ls -- -rf
    -rf
    $ rm -- -rf
    $ ls -- -rf
    ls: -rf: No such file or directory
    $
    Wo liegt das Problem?

    Bei Programmen, die getopt(3) aus der glibc benutzen, werden Parameter nach einem "--" nicht mehr als Option interpretiert.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Dec 2001
    Ort
    berlin
    Beiträge
    110
    hilft vielleicht noch besser weiter ... wusste ich nicht

    von newbie zu newbie
    • Server SuSE 8.2 - Duron 1200 MHz | 720 MB 133-MHZ-SDRAM | Enmic | 26 GB Quantum Fireball - 40 GB Maxtor - 80 GB WD - 2 x Samsung SV1203N 120GB als Raid0 - 60GB Maxtor
    • Notebook WinXP -Centrino 1,6 GHz - 512MB 266-MHZ-DDR-SDAM, Fujitsu 60GB, Radeon 9000 64MB

  4. #4
    Registrierter Benutzer
    Registriert seit
    Jan 2001
    Beiträge
    84
    Code:
    rm ./-rf
    ist vielleicht die einfachste Methode und ist nicht von getopt abhängig.

  5. #5
    keiner_1
    Gast
    Original geschrieben von kth
    Code:
    $ touch -- -rf
    $ ls -- -rf
    -rf
    $ rm -- -rf
    $ ls -- -rf
    ls: -rf: No such file or directory
    $
    Wo liegt das Problem?

    Bei Programmen, die getopt(3) aus der glibc benutzen, werden Parameter nach einem "--" nicht mehr als Option interpretiert.
    Unter Solaris funktioniert das genau gleiche auch, die normale Libc

    root@uaila41:/usr/aset/reports/latest # touch -- --rf
    root@uaila41:/usr/aset/reports/latest # ls -- --rf
    --rf
    root@uaila41:/usr/aset/reports/latest # rm -- --rf
    root@uaila41:/usr/aset/reports/latest # ls -- --rf
    --rf: No such file or directory
    root@uaila41:/usr/aset/reports/latest #

    greez
    adme

  6. #6
    Out of limits. Avatar von LX-Ben
    Registriert seit
    Nov 2002
    Ort
    Infinity
    Beiträge
    1.701
    Ein PC-Welt-Leser hat in der Konsole experimentiert; dabei ist es ihm 'gelungen,
    Parameter so geschickt zu platzieren, dass sie als folgende Dateinamen
    interpretiert und angelegt wurden': "*" und "-C" [Dateinamen jeweils ohne Quotes].

    Die dortigen Lösungen:
    "rm *" würde das Problem lösen , aber natürlich auch alle anderen Dateien in
    dem Verzeichnis löschen. Die Bash-Shell benutzt jedoch den Backslash (\), um
    Datei-Sonderzeichen wie "*" und "?" ihre Bedeutung zu nehmen. Obige einzelne
    Datei wird also mit der Eingabe "rm \*" gelöscht [KEIN LEERZEICHEN zwischen
    \ und * !].

    Der Strich ist für die Bash kein Sonderzeichen, so dass ein vorangestellter
    Backslash nichts nützt; "-" ist ein Sonderzeichen, dass nur beim rm-Befehl
    eine Parameterfunktion hat: Mit "--" (zwei Striche) wird rm 'mitgeteilt', dass
    alles Folgende KEIN PARAMETER ist, und so lautet der Löschbefehl für die
    einzelne Datei "rm --C"

  7. #7
    Registrierter Benutzer Avatar von michel_vaclav
    Registriert seit
    Jan 2003
    Ort
    daheim
    Beiträge
    1.057
    1) unter Samba Verzeichnis freigeben und unter Windows löschen/umbenennen
    Für sowas gibts doch auch unter Linux Dateimanager. Datei markieren und rechte Maustaste -> löschen und gut is.

    michel_vaclav

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •