Bash-Probleme mit mv und ls

Hallo,

ich habe Bash-Probleme mit mv und ls.

$ mv a*.jpg ./Verzeichnis/Verzeichnis
wird korrekt ausgeführt.

Fehler bei

$ mv *.jpg ./Verzeichnis/Verzeichnis
mv: Ungültige Option -- p
„mv --help“ liefert weitere Informationen.

Bei ls ist es ähnlich.

$ ls -l b*.jpg
wird korrekt ausgeführt.

Fehler bei

ls -l *.jpg
ls: Ungültige Option -- e
„ls --help“ liefert weitere Informationen.

Ich habe das System bereits runter- und wieder hochgefahren und auf Updates gecheckt.

Jemand eine Idee?

Freundl. Grüße

Da sollten wir doch wenigstens zu sehen bekommen zu was sich das entwickelt. Z.B.

echo *.jpg

echo *.jpg
zeigt alle Filenamen korrekt hintereinander an.

Ich habe dann mal 3 Files in einem temporären Verzeichnis angelegt, und da funktionieren ls und mv einwandfrei.

ls *.jpg
1.jpg  2.jpg  3.jpg

Kann es an den Filenamen liegen?

Du hast “unzulässige” Dateinamen die von den Befehlen (mv und ls) als Option interpretiert werden. Zeig doch mal so einen Dateinamen mit welchem es nicht funktioniert…

Dagegen sollten aber gewöhnlich Anführungszeichen helfen…ala:

ls -l "*.jpg"

Du kannst reden wie du willst, aber die meisten hier glauben nur die Wirklichkeit. Immer alles, insgesamt Kommandozeile zeigen!

Ich habe die Fehlerursache gefunden.

Ein File hatte einen Bindestrich am Anfang:

-pfilename.jpg

Deshalb auch die ungültige Option p.

Nachdem ich den Bindestrich entfernt hatte, klappte es.

Danke für die Hilfe.

Eigentlich haben wir das gefunden. Wir haben dir das erzwungen.

Du hast es aber nötig, was?

Zur Info wenn man Dateien mit ‘-’ Prefix verarbeiten muss (was man möglichst vermeiden sollte) dann kann man das z.B. so machen:

/tmp/test> ls -1 ./*.oops
./x.oops
./-y.oops
./y.oops

Viel einfacher:

henk@boven:~/test/dd> ls
-e  aap  noot
henk@boven:~/test/dd> ls *
ls: invalid option -- 'e'
Try 'ls --help' for more information.
henk@boven:~/test/dd> ls -- *
-e  aap  noot
henk@boven:~/test/dd>

Die letzte Zeile zeigt wie man das einfach macht. Das -- als Ende der Optionen wird von viele Programe unterstützt.

Nun ja wenn das Programm ‘–’ unterstützt geht das natürlich auch. Uns was ist mit mv ?

Ist es schwierig das zu versuchen? Und notfalls hier zu zeigen?

Ok habe mv schon sehr lange nicht mehr benutzt mit Linux geht -- das auch. Das jeweilige Programm muss die -- option aber unterstützen. Die ./* Variante sollte generisch mit allen Programmen gehen auf jeden Linux/Unix.

Wie gesagt, mir war nicht bekannt, dass ein Filename mit einem Bindestrich begann. Hätte ich es gewusst und als Fehlerursache identifiziert, hätte ich mich nicht hier gemeldet.

Aber einige hier war das vom Anfang klar.
Es wurde also nach die Liste gefragt. Wir hätten dan auf diejenige hinweisen können. Du hast aber die List nicht gezeigt, aber dafür

So funktioniert das aber nicht…

Du solltest immer das Ganze zeigen: Prompt/Kommandozeile, Alles war kommt, inclusive neue Prompt Zeile. Und keine Änderungen.

Glaubst du wirklich das wir Verzeichnis/Verzeichnis glauben, und warum sollen wir denn den Rest glauben? Es geht darum Vertrauen zu gewinnen das was du zeigst die Wirklichkeit ist. Die Nebengeschichten sind nur Beilagen (unf oft eher Märchen).

“Es geht darum Vertrauen zu gewinnen das was du zeigst die Wirklichkeit ist.” Ah ja…

Ich kann mich noch gut entsinnen, was hier los war, als ich irgendwann mal [diese böse Webseite] erwähnte. OH! MEIN!! GOTT!!! So ähnlich muss es sein, wenn man bei Microschrott Linux erwähnt.

Ich möchte gar nicht wissen, was hier los gewesen wäre, wenn sich jemand einige Filenamen der Liste genauer angeschaut hätte und womöglich deren Ursprung recherchiert hätte. Frau Nancys Hundertschaften wären vermutlich schon auf dem Weg.

Nein, ich halte es seit dem Vorfall noch mehr als ohnehin schon mit dem Need-to-know-Prinzip, denn leider gibt es vor allem seit dem Hohen C immer (mehr) Leute, die meinen den Blockwart spielen zu müssen.

Ich wünsche Dir noch einen schönen Tag im schönen Holland.

Wie du willst. Erleichert das Helfen aber keinesfalls.

Warum hat dann niemand gesagt: “Schau mal, ob es einen es einen Filenamen mit einem Bindestrich am Anfang gibt.” Die Sache wäre schnell beendet gewesen.

Warscheinlich

  1. weil man nicht 100% sicher ist;
  2. weil man die Schritte die zum Kenntniss leiten zeigen möchte (das Resultat des echo sollte dir Erleuchtung bringen und zeigen wie man so was anfaßt).

Ein Blick auf die alphabetisch sortierten Files brachte mir die Erkenntnis. Dennoch bin ich dankbar für jeden Tipp oder Hinweis von Experten wie Dir, wie man so was anfasst.