UNIX-Kommandos?

... komplette Frage anzeigen

4 Antworten

Hallo

wie kann man UNIX-Kommandos, in einer Datei zusammen fassen ?

Nun, das ist nicht so trivial wie Du vielleicht glaubst, denn es gilt erstmal zu erörtern was Du unter diesem Begriff verstehst.

  1. Es gibt keine (zwingende) Dateiendung die eine Datei als ausführbar kennzeichnet (kein exe, com oder bat usw.)
  2. Jede Datei, gleich welchen Dateinamen und Endung sie hat kann ausführbar gemacht werden.
  3. Es gibt natürlich einen Unterschied zwischen binärem Code (also compilierte Programme) und Script-Dateien (sh, py, pl ect.), letztere benötigen einen Interpreter um zu funktionieren.
  4. Je mehr Programme jemand auf seinem PC installiert hat umso mehr "Kommandos" hat er zur Auswahl.
  5. Unter unixoiden Systemen können mehrere ausführbare Dateien miteinander verknüpft werden um ein "Endziel" zu erreichen.z.B.:
  6. ls -1|grep -E '.txt$'|cut -d'.' -f1

Wen Du nun alle ausführbaren Dateien auflisten und in eine Datei schreiben lassen willst, dann geht das so:

ls -lRF | grep -E '\\*$' > ausfuehrbare.txt

Das eine Datei ausführbar ist bedeutet aber noch lange nicht das man diese auch als Benutzer starten kann. (Bei mir sind das aktuell 139.457 Dateien, also Programme und Scripte)

Ein anderer Weg, etwas umständlicher,wäre das Du den Buchstaben A eingibst und dann zweimal die TAB Taste drückst. Nach einer Abfrage werden dann alle (von Dir) ausführbaren Dateien aufgelistet. Also keine Programme die nur für root oder einen anderen Benutzer sind. Das führst Du dann mit jedem der 26 Buchstaben aus und hast am Ende alles (von Dir) ausführbaren Dateien da stehen.

Linuxhase

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DAUUSER
01.03.2016, 10:55

Die frage ist aus einem Linuxkurs- "Skript" und es heiß die Frage wäre sehr leicht zu erklären

0

das nicht nicht so einfach.
Da die üblichen Programme-Verzeichnisse  in der Variable PATH aufgelistet sind, muss man sich die Inhalte dieser Verzeichnisse nur ansehen.

Geht man davon aus, dass diese Variable für root alle allgemeingültigen Verzeichnisse enthält, dann  erstelle ein Script, melde dich als root an:

echo $PATH > path

vielleicht steht dann das darin:

/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

<edit> path

Trenne die Zeile jeweils dort, wo ein Doppelpunkt ist:

/sbin
/usr/sbin
/usr/local/sbin

usw

Schreibe vor jede Zeile ls und hinten dran >> befehle

ls /sbin >> befehle
ls /usr/sbin >> befehle

usw.

Mache diese Datei ausführbar ( oder einfach sh dateiname )

Danach sollten alle Befehle ( bei mir sind das ca. 6500 ) in der Datei befehle stehen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DAUUSER
29.02.2016, 18:36

An einem Script kommt man aber nicht vorbei ?!

0

Was meinst du? Eine Zusammenfassung aller UNIX befehle oder sowas wie ein Bashscript?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DAUUSER
29.02.2016, 17:49

hi, z.b ich hab X-Anzahl an Kommandos und möchte diese in eine Datei schreiben und ausführen.

0
Kommentar von mumi57
29.02.2016, 17:57

Ja dann schau dich mal nach Bashscripting um. Geht ganz einfach, du schreibst deine Befehle da rein und speicherst es als NAME.sh ab. dann einfach mit ./NAME.sh ausführen

2
Kommentar von Rynak
29.02.2016, 18:43

Shell ist der allgemeine Ausdruck für diese Kommandozeile, Bash ist ist eine spezielle (sehr beliebte), alternativ zur Bash wäre zB die Zsh.,

1
Kommentar von Rynak
29.02.2016, 18:44

und die Befehle kannst di einfach in eine Textdatei (untereinander) schreiben und dann ausführen

0

Was möchtest Du wissen?