Reiehenfolge von Optionen/Kommandozeilenparametern bei Linux Kommandos

Boondock Saint

Neuer User
Mitglied seit
7 Sep 2008
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Ok hat soweit alles ganz gut geklappt. Hab noch die letzte stable firware drauf. Anscheinend muss man bei der,dem usb stick mit dem fb wif lese und schreib rechte geben. Welche Möglichkeit gibt es denn den Asterisk Server automatisch zu starten auch wenn jetzt die fritzbox mal ganz aus ist.

PS: spielt es in Linux tatsächlich eine Rolle in welcher Reihenfolge man die Parameter nach einem Befehl schreibt?
 
PS: spielt es in Linux tatsächlich eine Rolle in welcher Reihenfolge man
die Parameter nach einem Befehl schreibt?

Sicher bei den meisten Programmen schon.
schau dir doch nur mal die help an von den meisten Konsolenbefehlen.

z.b. Tar:
Code:
tar --help
Aufruf: tar [OPTION...] [DATEI]...
GNU „tar“ fasst viele Dateien in einem einzigen Archiv auf Platte oder
Band
zusammen und kann einzelne Dateien aus dem Archiv wieder herstellen.

Beispiele:
  %s -cf archiv.tar foo bar  # archiv.tar mit den Dateien foo und bar
erzeugen
  %s -tvf archiv.tar         # Inhalt von archiv.tar ausführlich
anzeigen
  %s -xf archiv.tar          # alle Dateien aus archiv.tar extrahieren

 Hauptsächlicher Arbeitsmodus:

  -A, --catenate, --concatenate   tar-Dateien an ein Archiv anfügen
  -c, --create               ein neues Archiv anlegen
  -d, --diff, --compare      Unterschiede zwischen Archiv und
Dateisystem
                             suchen
      --delete               aus dem Archiv löschen (nicht auf
Magnetband!)
  -r, --append               Dateien hinten an das Archiv anfügen
  -t, --list                 den Inhalt eines Archivs auflisten
      --test-label           den Archiv-Teil-Namen überprüfen und
beenden
  -u, --update               nur Dateien anfügen, die neuer als die
Kopie im
                             Archiv sind
  -x, --extract, --get       Dateien aus einem Archiv extrahieren

 Feineinstellungen:

  -g, --listed-incremental=DATEI   inkrementelle Sicherung im neuen
GNU-Format
  -G, --incremental          inkrementelle Sicherung im alten GNU-Format
      --ignore-failed-read   kein Abbruch mit Existatus!=0 bei
unlesbaren
                             Dateien
  -n, --seek                 im Archiv kann positioniert werden
      --occurrence[=ZAHL]    nur das ZAHLte Auftreten jeder Datei im
Archiv
                             bearbeiten; diese Option kann nur zusammen
mit
                             einem der Arbeitsmodi --delete, --diff,
--extract
                             oder --list und wenn eine Dateiliste
entweder auf
                             der Kommandozeile oder mittels der Option
-T
                             angegeben wurde benutzt werden; Zahl ist
                             standardmäßig 1
      --sparse-version=MAJOR[.MINOR]
                             zu benutzende Version des Sparse-Formats
setzen
                             (impliziert --sparse)
  -S, --sparse               löchrige Dateien („sparse files“) effizient
                             behandeln

 Steuerung des Überschreibens:

  -k, --keep-old-files       vorhandene Dateien beim Extrahieren nicht
                             überschreiben
      --keep-newer-files     vorhandene Dateien, die neuer als die
Archivkopie
                             sind, nicht überschreiben
      --no-overwrite-dir     Metadaten existierender Verzeichnisse
erhalten
      --overwrite            vorhandene Dateien beim Extrahieren
                             überschreiben
      --overwrite-dir        Metadaten existierender Verzeichnisse beim
                             Extrahieren überschreiben (Voreinstellung)
      --recursive-unlink     Verzeichnishierarchien rekursiv vor dem
                             Extrahieren eines Verzeichnisses löschen
      --remove-files         Dateien nach dem Hinzufügen zum Archiv
löschen
  -U, --unlink-first         zu überschreibende Dateien vor dem
Extrahieren
                             löschen
  -W, --verify               Archiv nach dem Schreiben prüfen

 Wahl des Ausgabestroms:

      --ignore-command-error Exitstatus der Kinder ignorieren
      --no-ignore-command-error   Exitstatus!=0 von Kindern als Fehler
ansehen
  -O, --to-stdout            Dateien auf die Standardausgabe extrahieren
      --to-command=BEFEHL    extrahierte Dateien an ein anderes Programm
                             weiterreichen

 Behandlung der Datei-Attribute:

      --atime-preserve[=METHODE]   Zugriffszeit für abgespeicherte
Dateien
                             erhalten, entweder durch Zurücksetzen der
Zeiten
                             nach dem Lesen (METHODE=„replace“,
                             Voreinstellung) oder dadurch, dass die
Zeiten gar
                             nicht erst neu gesetzt werden
                             (METHODE=„system“)
      --delay-directory-restore   das Setzen von Zugriffszeiten und
Rechten von
                             extrahierten Verzeichnissen verschieben bis
zum
                             Ende des Entpackens
      --group=NAME           Gruppe für hinzugefügte Dateien auf NAME
setzen
      --mode=ÄNDERUNGEN     den (symbolischen) Modus ÄNDERUNGEN für
                             hinzugefügte Dateien erzwingen
      --mtime=DATUM-ODER-DATEI   Änderungszeit für hinzugefügte Datei
aus
                             DATUM-ODER-DATEI beziehen
  -m, --touch                die geänderte Zeit nicht extrahieren
      --no-delay-directory-restore
                             den Effekt von --delay-directory-restore
aufheben
      --no-same-owner        Dateien als aktueller Nutzer extrahieren
      --no-same-permissions  die Umask des Nutzers anwenden beim
Extrahieren
                             von Dateizugriffsrechte aus dem Archiv
                             (Voreinstellung für normale Nutzer)
      --numeric-owner        immer Zahlen für Nutzer-/Gruppennamen
verwenden
      --owner=NAME           Eigentümer für hinzugefügte Dateien auf
NAME
                             setzen
  -p, --preserve-permissions, --same-permissions
                             Informationen über Dateizugriffsrechte mit
                             extrahieren (Voreinstellung für Root)
      --preserve             wie -p und -s zusammen
      --same-owner           versuchen, die Dateien mit denselben
                             Eigentumsverhältnisse zu extrahieren
  -s, --preserve-order, --same-order
                             zu entpackende Dateinamen wie im Archiv
sortieren

 Geräteauswahl und -umschaltung:

  -f, --file=ARCHIV          Archivdatei oder Gerät ARCHIV benutzen
      --force-local          Archivdatei ist lokal, auch wenn der Name
einen
                             Doppelpunkt enthält
  -F, --info-script=NAME, --new-volume-script=NAME
                             am Ende jedes Mediums das Skript ausführen
                             (impliziert -M)
  -L, --tape-length=ZAHL     Medium wechseln, wenn ZAHL × 1024 Bytes
                             geschrieben wurden
  -M, --multi-volume         mehrteiliges Archiv
anlegen/listen/extrahieren
      --rmt-command=BEFEHL   statt „rmt“ den gegebenen BEFEHL benutzen
      --rsh-command=BEFEHL   statt „rsh“ den entfernten BEFEHL benutzen
      --volno-file=DATEI     Teil-Nummer in DATEI benutzen/aktualisieren

 Blockung des Gerätes:

  -b, --blocking-factor=BLÖCKE   BLÖCKE × 512 Bytes pro Record
  -B, --read-full-records    erneut Blocken beim Lesen (für 4.2BSD‐
Pipes)
  -i, --ignore-zeros         Blöcke mit Nullen im Archiv ignorieren
(heißt
                             EOF)
      --record-size=ZAHL     ZAHL Bytes pro Record, Vielfaches von 512

 Auswahl des Archiv-Formats:

  -H, --format=FORMAT        Archiv mit dem gegebenen Format anlegen

 FORMAT ist eines der folgenden:

    gnu                      GNU-tar-1.13.x-Format
    oldgnu                   GNU-Format wie mit tar <=1.12
    pax                      Format von POSIX 1003.1-2001 (pax)
    posix                    wie pax
    ustar                    Format von POSIX 1003.1-1988 (ustar)
    v7                       altes V7-tar-Format

  -j, --bzip2                Archiv durch bzip2 filtern
      --old-archive, --portability
                             wie --format=v7
      --pax-option=Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]]...
                             Pax-Schlüsselwörter steuern
      --posix                wie --format=posix
      --use-compress-program=PROG
                             durch PROG filten (muss -d akzeptieren)
  -V, --label=TEXT           Archiv mit dem Teilnamen TEXT anlegen; beim
                             Listen/Extrahieren, TEXT als Muster für den
                             Teilnamen benutzen
  -z, --gzip, --gunzip, --ungzip   Archiv durch gzip filtern
  -Z, --compress, --uncompress   Archiv durch COMPRESS filtern

 Auswahl der lokalen Dateien:

      --add-file=DATEI       angegebene Datei zum Archiv hinzufügen
                             (nützlich, wenn Datei mit einem Strich
beginnt)
      --backup[=KONTROLLE]   Sicherung vor dem Entfernen, wähle
                             Versions-KONTROLLE
  -C, --directory=VERZEICHNIS   zu VERZEICHNIS wechseln
      --exclude=MUSTER       Dateien auslassen, auf die MUSTER passt
      --exclude-caches       Inhalt von Verzeichnissen auslassen, die
                             CACHEDIR.TAG enthalten, außer der
                             Markierungsdatei selbst
      --exclude-caches-all   Verzeichnisse auslassen, die CACHEDIR.TAG
                             enthalten
      --exclude-caches-under alles unterhalb von Verzeichnissen
auslassen, die
                             CACHEDIR.TAG enthalten
      --exclude-tag=DATEI    Inhalt von Verzeichnissen auslassen, die
DATEI
                             enthalten, außer DATEI selbst
      --exclude-tag-all=DATEI   Verzeichnisse auslassen, die DATEI
enthalten
      --exclude-tag-under=DATEI   alles unterhalb von Verzeichnissen
auslassen,
                             die DATEI enthalten
      --exclude-vcs          exclude version control system directories
  -h, --dereference          symbolischen Verknüpfungen folgen; die
                             verwiesenen Dateien archivieren und
abspeichern
  -K, --starting-file=ELEMENT-NAME
                             mit ELEMENT-NAME im Archiv beginnen
      --newer-mtime=DATUM    Datum und Zeit nur überprüfen, wenn Daten
                             geändert wurden
      --no-recursion         automatischen Abstieg in Vezeichnisse
vermeiden
      --no-unquote           Dateinamen, die mit -T gelesen werden,
nicht von
                             Zitat befreien
      --null                 -T liest null-terminierte Namen, verbiete
-C
  -N, --newer=DATUM-ODER-DATEI, --after-date=DATUM-ODER-DATEI
                             nur Dateien ablegen, die neuer als
                             DATUM-ODER-DATEI sind
      --one-file-system      beim Anlegen eines Archivs im lokalen
Dateisystem
                             bleiben
  -P, --absolute-names       führende „/“-Zeichen in den Dateinamen
                             erhalten
      --recursion            in Verzeichnisse absteigen (Voreinstellung)
      --suffix=ZEICHENKETTE  Sicherung vor dem Entfernen, übliches
Suffix
                             ersetzen („~“, wenn nicht durch
                             Umgebungsvariable SIMPLE_BACKUP_SUFFIX
anders
                             gesetzt)
  -T, --files-from=DATEI     Namen der zu bearbeitenden Dateien aus
DATEI lesen
                            
      --unquote              Dateinamen, die mit -T gelesen werden, von
Zitat
                             befreien (Voreinstellung)
  -X, --exclude-from=DATEI   Dateien auslassen, auf die in DATEI
angegebene
                             Muster passen

 Dateinamentransformationen:

      --strip-components=ZAHL   ZAHL führende Komponenten beim
Extrahieren von
                             Dateinamen entfernen
      --transform=AUSDRUCK   den sed-AUSDRUCK zur
Dateinamentransformation
                             benutzen

 Dateinamenauswahloptionen (sowohl für ein- als auch ausschließende
Muster):

      --anchored             Muster am Dateinamensanfang ausrichten
      --ignore-case          Groß-/Kleinschreibung ignorieren
      --no-anchored          Muster passen nach jedem
„/“ (Voreinstellung
                             beim Ausschluss)


      --no-ignore-case       Groß-/Kleinschreibung beachten
(Voreinstellung)
      --no-wildcards         Zeichenketten sind buchstabengetreu
      --no-wildcards-match-slash   Jokerzeichen passen nicht auf „/“
      --wildcards            Muster benutzen (Voreinstellung für
Ausschluss)
      --wildcards-match-slash   Jokerzeichen passen auf
„/“ (Voreinstellung
                             für Ausschluss)

 Informationen:

      --checkpoint[=[.]ZAHL] Fortschrittsnachrichten bei jedem ZAHLten
Record
                             (Voreinstellung 10) anzeigen
      --index-file=DATEI     ausführliche Ausgabe in DATEI schreiben
  -l, --check-links          eine Nachricht ausgeben, wenn nicht alle
                             Verknüpfungen abgespeichert werden
      --no-quote-chars=ZEICHENKETTE
                             Zeichen aus ZEICHENKETTE nicht zitieren
                                   --quote-chars=ZEICHENKETTE
zusätzliche Zeichen aus ZEICHENKETTE
                             zitieren
      --quoting-style=STIL   Zitatstil setzen; siehe unten für gültige
                             STIL-Werte
  -R, --block-number         bei jeder Nachricht die Blocknummer
innerhalb des
                             Archivs mit anzeigen
      --show-defaults        Voreinstellungen von tar anzeigen
      --show-omitted-dirs    beim Listen oder Extrahieren jedes
Verzeichnis
                             auflisten, dass nicht den Suchkriterien
entspricht
      --show-transformed-names, --show-stored-names
                             Datei- oder Archivnamen nach der
Transformation
                             anzeigen
      --totals[=SIGNAL]      Gesamtzahl der Bytes nach dem Bearbeiten
des
                             Archivs anzeigen; mit einem Argument –
                             Gesamtzahl der Bytes anzeigen, wenn dieses
SIGNAL
                             ausgeliefert wird; erlaubte Signale sind:
SIGHUP,
                             SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2; die
Namen
                             ohne das Präfix SIG sind auch erlaubt
      --utc                  Dateiänderungszeiten in UTC anzeigen
  -v, --verbose              bearbeitete Dateien ausführlich listen
  -w, --interactive, --confirmation
                             für jede Aktion um Bestätigung bitten

 Kompatibilitätsoptionen:

  -o                         beim Anlegen wie --old-archive; beim
Extrahieren
                             wie --no-same-owner

 Weitere Optionen:

  -?, --help                 diese Hilfe ausgeben
      --restrict             möglicherweise schädliche Optionen
deaktivieren
      --usage                eine kurze Benutzungsübersicht ausgeben
      --version              Programmversion ausgeben

Erforderlich oder optionale Argumente für lange Optionen sind ebenso
erforderlich bzw. optional für die entsprechenden Kurzoptionen.

Die Namenserweiterung für Sicherheitskopien ist „~“, wenn nicht mit
--suffix
oder der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX etwas anderes
eingestellt
ist.
Die Versionskontrolle kann mit --backup oder der Umgebungsvariablen
VERSION_CONTROL gesetzt werden. Mögliche Werte sind:

  none, off       niemals Sicherheitskopien anlegen
  t, numbered     nummerierte Sicherheitskopien
  nil, existing   nummerierte Sicherheitskopien, wenn schon nummerierte
                    vorhanden sind, sonst einfache
  never, simple   immer einfache Sicherheitskopien

Gültige Argumente für die Option --quoting-style sind:

  literal
  shell
  shell-always
  c
  escape
  locale
  clocale

*Dieses* „tar“ hat als Voreinstellung:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
--rsh-command=/usr/bin/rsh

Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an <[email protected]>.


Woher soll das Programm den sonst wissen welcher Parameter mit der
Information gemeint ist.

Wenn zum beispiel der 1te parameter das Ziel und der 2te die quelle ist
geht es halt einfach nicht wenn du sie vertauscht oder es geht schief.

is aber unter windows nicht anders.

Naührlich gibt es auch Programme denen die Reienfolge wurst ist (unter
win und unter Linux)

z.b. mkdir 1 2
legt verzeichnisse an, namlich Ordner 1 und ordner 2
wenn du die Parameter vertaucht werden sie nur in einer anderen
reihenfolge angelegt.


Das hab ich nicht gemeint sondern die parameter (Schalter) nach einem befehl
also zb ob nachfolgendes einen unterschied macht: tar -xfv oder tar -vfx

Hmm... ja ich weiß das es nicht geht wenn man diese vertauscht.
Warum nicht kann ich auch nicht sagen.
aber wenn du es so machst wie in meiner How to beschrieben dann muss es gehen.

Wenn du es genauer wissen wilst solltest du dich an ein Forum für Unix/Linux wenden.
 
Zuletzt bearbeitet:
Das hab ich nicht gemeint sondern die parameter (Schalter) nach einem befehl
also zb ob nachfolgendes einen unterschied macht: tar -xfv oder tar -vfx
 
OT, und könnte in einen eigenen Thread ausgelagert werden.

spielt es in Linux tatsächlich eine Rolle in welcher Reihenfolge man die Parameter nach einem Befehl schreibt?

Das was Du hier meinst, wird normalerweise Optionen genannt, also das, was normalerweise nach einem Minuszeichen steht.

Gibt es einen Grund für die Frage? Normalerweise ist man auf der sicheren Seite, wenn man sich an die Anleitung hält und nichts ändert, wenn man sich nicht ganz sicher ist.

also zb ob nachfolgendes einen unterschied macht: tar -xfv oder tar -vfx

Die allgemeine Antwort ist, daß die Reihenfolge bei einigen Programmen wichtig ist und bei anderen nicht.

Es gibt Optionen mit und ohne Parameter. Häufig (nicht immer) kann man Optionen ohne Parameter nach einem Minus-Zeichen zusammenfassen. Man kann auch Optionen ohne Parameter und ein Option mit Parameter zusammen fassen. Die Option mit Parameter muß dann als letzte stehen. Grund ist, daß bei Optionen mit Parameter der Parameter entweder durch Leerzeichen getrennt sein kann oder direkt im Anschluß.

Beispiele:
Code:
strace -f -e file
strace -f -efile
strace -fe file
strace -fefile
Wenn man das umdrehen würde auf "-ef file", dann wäre "f" der Parameter zur Option "-e" und "file" hätte damit nichts mehr zu tun.

Diese Beschreibung gilt für die GNU getopt Funktion, die von den meisten Programmen verwendet wird. Die "klassischen" Programme können auch etwas weniger Tolerant mit den Optionen sein.

Bei tar ist das Ganze noch komplizierter. Man kann "tar -x" oder "tar x" (ohne Minuszeichen) schreiben. Und wenn man ohne Minuszeichen anfängt, dann kann man auch nacheinander mehrere Optionen angeben, die Parameter benötigen.

Beispiel:
Code:
tar xvfC <Paramater_f> <Paramater_C>
tar xvCf <Paramater_C> <Paramater_f>
Und der erste Buchstabe beim Tar wählt die Operation aus, der muß auf jeden Fall an erster Stelle stehen. Je nach gewählter Operation sind verschiedene andere Optionen gültig oder auch nicht.

Also nochmal zusammengefaßt: Halte Dich an die Anleitung, ober probiere selbst aus, was geht.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,827
Beiträge
2,219,006
Mitglieder
371,520
Neuestes Mitglied
fredl_2
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.