Forum der Vereinigung der Sternfreunde

Forum of the German Amateur Astronomy Association
Aktuelle Zeit: 21. Juni 2021, 05:23:25 AM

Alle Zeiten sind UTC+02:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 46 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Der Kurs
BeitragVerfasst: 20. September 2006, 19:40:39 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Gut,

ich habe auch Suse Linux. Noch ein Wort zum Midas. Midas ist ein Anwendungsprogramm, das auch unter Linux läuft, wie tausend andere. Wir wollen hier das Betriebsystem selber kennenlernen. Da hört es nämlich bei vielen auf, wenn es Problemem gibt. Unix muß man sich wie eine super eingerichtete Werkstatt vorstellen. Wir nehmen uns ein Werkzeug nach dem Nächsten vor, wobei wir mit dem Hammer, der Feile ... anfangen wollen. Gewindeschneiden auf der Drehbank kommt dann eben später. Die Werkzeuge ansich sind für den Spektroskopiker von großem Nutzen (oftmals).
Also gut, in 20 Minuten geht es los.

Gruß,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Idee und Prozedur
BeitragVerfasst: 20. September 2006, 20:16:03 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 1

Nach meiner Umfrage haben sich ja die beteiligten schon mal in ihr Linux eingelogt, weshalb ich gleich zur Sache komme. Wir wollen uns hier mit der Kommandozeile und den wichtigsten Kommandos (etwa 50) beschäftigen. Dazu machen wir jetzt mal ein entsprechendes Fenster auf. Bei mir klicke ich dazu einmal auf das kleine, schwarz aussehende Bildschirmsymbol, das dritte ganz links unten. Das Fenster, das sich dann öffnet zeigt nichts weiter als

uzlender@suse10:~>

den sogenannten Command prompt. Immer wenn der Computer einen Befehl abgearbeitet hat meldet er sich so oder so ähnlich wieder. Der Prompt ist so eingestellt, daß er mir den Pfad anzeigt. Das Unix File-System ist, wie in Windows auch, wie ein Baum aufgebaut, wobei die Wurzel allerdings oben ansetzt. Das Wurzelverzeichnis hat keine Namen, es ist einfach der Slash / (im Windows ist es der Backslash, man mußte sich ja unterscheiden!)

man bewegt sich durch die Verzeichnisstruktur mittels des Kommandos cd
Es wechselt also

cd /usr/local <cr>

in dieses Verzeichnis. (<cr> heißt Enter-Taste drücken. Bitte den anführende Slash beachten!). Unix unterscheidet Groß- und Kleinschreibung. Befehle werden in Kleinschrift eingegeben.

Der Befehl

cd - <cr>

bring mich dahin zurück, woher ich zuvor kam. cd allein führt mich in meine Heimat zurück. Alle Nutzer haben ihr privates Verzeichnis als Unterverzeichnis in /home.
Also, mal

cd <cr>

eingeben und die Pfadangabe im Prompt beobachten.

CD <cr> ergibt die Fehlermeldung

bash: CD: command not found


Nicht nur für Leute, die schon einweinig mit Alzheimer kämpfen, gibt es den Befehl

pwd <cr>

Die Shell=Kommando-Interpreter, antwortet mit dem aktuellen Pfad. Z.B.

/usr/local

Für den Kurs wollen wir uns ein eigenes Verzeichnis und darin enthaltene Unterverzeichnisse anlegen. Macht man so.

cd <cr>
mkdir unix-kurs <cr>

Wenn wir jetzt die Pfeltaste nach oben drücken, erscheint die letzte Eingabe erneut.
Man kann sie nochmals abschicken (hier nicht so sinnvol) oder man kann sie vorher modifizieren:

mkdir unix-kurs/eins <cr>
mkdir unix-kurs/zwei <cr>
mkdir unix-kurs/drei <cr>
mkdir unix-kurs/eins/1a <cr>

um z.B. diese vier Unterverzeichnisse

cd unix-kurs/eins <cr>

wechselt in das neue Unterverzeichnis eins im Directory /home/uzlender/unix-kurs.
Einfach mal mit
pwd <cr>
nachfragen.

Am Ende der Lektion legen wir in diesem verzeichnis noch eine neue Datei an.

echo "meine erste Datei" > erste.txt <cr>

der Befehl

ls

zeigt uns, ob das gelungen ist.


Nach oben
   
 Betreff des Beitrags: Re: Idee und Prozedur
BeitragVerfasst: 20. September 2006, 21:47:07 PM 
Offline
Meister
Benutzeravatar

Registriert: 04. August 2006, 18:46:02 PM
Beiträge: 309
Hallo Udo,

man kommt doch auch (natürlich komplizierter) mit cd ~  in die Heimat. Ich will nicht am Anfang schon blöde Fragen stellen, aber hat das irgend einen Hintergrund, oder ist es einfach ein anderes "Werkzeug" ?

Klaus


Nach oben
   
 Betreff des Beitrags: Re: Idee und Prozedur
BeitragVerfasst: 21. September 2006, 00:50:25 AM 
Offline
Meister
Benutzeravatar

Registriert: 01. August 2006, 16:08:56 PM
Beiträge: 3840
Wohnort: 26725 Emden
Zitat:
echo "meine erste Datei" > erste.txt <cr>
Hi Udo,

da geht's schon los. Meine Tastatur hat zwar das Zeichen Pfeil nach rechts > (links unten neben dem y), aber es wird nicht erkannt, ebenso das Zeichen Pfeilspitze links. Also keine Reaktion der Taste.

Woran mag das liegen?

Gruss
Lothar


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 21. September 2006, 19:04:40 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo Klaus, hallo Lothar,

die Tilde (~) steht generell als Abkürzung für /home/nutzer im Pfad zur Verfügung.

Lothar, hast Du denn Umlaute (äÖÜ...), sonst hast Du eine amerikanische Tastatur. Keine Angst, kannst Du mit yast umstellen.

Gruß,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 21. September 2006, 19:06:42 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 2

Die erste Lektion war ja recht einfach, trotzdem reicht lesen und verstehen nicht aus. Man muß es anwenden, sich kleine Aufgaben stellen und Fehler machen.

Testfrage: Was ist der Unterschied zwischen

a) cd /usr/local <cr>
b) cd usr/local <cr>

unter welchen Umständen kommt dasselbe heraus, wann gibt es eine Fehlermeldung?

Noch ein Wort zu Fehlern und sonstigen Meldungen. Unix ist nicht geschwäzig wie z.B. Dos, Windows ...
Wenn ein Befehl erfolgreich ausgeführt werden konnte, kommt nicht sowas wie:

"Ja, das ist jetzt sehr, sehr gut ausgegangen. Massa, hast Du noch ein Problem?"

Das hat seinen Grund, wie wir in Kürze sehen werden.

Mit dem Befehl

echo "mein erste datei" > erste.txt <cr>

hatten wir eine erste datei angelegt. Mit einem weiteren

echo "neue Zeile" >> erste.txt <cr>
echo "dritte Zeile" >> erste.txt <cr>

fügen wir zwei weitere Zeilen ans Ende dieser Datei an. Wir haben mit den Rechtspfeilen die Standardausgabe (stdout), die normalerweise auf den Bildschirm zeigt, in die Datei "erste.txt" umgeleitet. Man muß sich dran gewöhnen, daß in Unix fast alles als Datei aufgefaßt werden kann. Tastatur (nur lesbar), Bildschirm (nur beschreibbar), erste.txt schreib/lesbar ...

Der Befehl echo kann noch mehr.

echo hallo <cr>

antwortet

hallo

echo $? <cr>

antwortet

0

Was soll das? Tja, so spartanisch kann Lob ausfallen. Euer Computer will euch hier sagen, da der zuletzt ausgeführte Befehl erfolgreich ausgeführt werden konnte.
Hätte er mit

1

geantwortet, so wäre ein Fehler passiert. Wir werden darauf in Kürze zurück kommen.

Was zeigt sich nach Abarbeitung der Befehlsfolge:

cd <cr>
echo * <cr>

Aha, es werden die Namen der Dateien im home-Verzeichnis gelistet (etwas unansehnlich). Trotzdem ein sehr nützlicher Befehl! Warum das home-Verzeichnis?
Ich könnte es erklären.

Der Befehl

echo $0 <cr>

antwotet seltsam mit

/bin/bash

In dieser Shell-Variablen ($0) ist der Name des Kommandointerpreters abgespeichert. Bash steht für "Bourne again shell".
Die Bourne-Shell ist die traditionellste. Eine andere oft verwendete ist die tcsh. Auf die werden wir hier nicht näher eingehen. Die Konzepte sind aber immer die gleichen.

Der Befehl

PKV="4711"

sagt erstmal nix (Unix).

echo $PKV

meint aber dann ...

Alle shell-Variablen listet der Befehl

env <cr>

Auf einige andere werden wir noch zu sprechen kommen.

Das oben vorgestellte Anlegen einer Datei ... mag manchem etwas seltsam vorkommen, aber die Technik der Ausgabeumleitung ist so nützlich,
das ich es mal zeigen wollte. Es wird noch oft vorkommen. natürlich hätten wir auch einen Texteditor bemühen können, aber das kann jeder, oder?

Erstaunen löst auch der Befehl

cat > zwei.txt <cr>

aus. Es passiert nix mehr. Computer abgestürzt? Nein, schon wieder so ein Ding. Man kann sich jetzt die Finger wundtippen. Alles landet in der angegeben Datei zwei.txt, alles, bis das ich ein ctrl-d (Strg-d) eingeben, was in Unix das Zeichen für das Ende einer Textdatei ist.
Mal ausprobieren. Was macht dann

cat >> zwei.txt <cr>

Gut. Das wäre also klar.

cat zwei.txt <cr>

listet einfach den Inhalt der Datei auf dem Bildschirm.


Wenn ihr euch als Administrator (root) einlogt, listet

cat /var/log/messages <cr>


die Systemmeldungen auf. Leider schneller als ihr lesen könnt.

Das war schon härter, oder? Was hat das mit Spektroskopie zu tun ?
Bis morgen.

P.S.
Tippt doch jetzt einfach mal Strg-d ein, und versucht euch den anschließenden Effekt zu erklären.

Bin jetzt nur noch so etwa 15 Minuten da, dann bin ich in den Sternen.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 21. September 2006, 20:23:54 PM 
Offline
Dauernutzer
Benutzeravatar

Registriert: 13. August 2006, 08:35:09 AM
Beiträge: 148
zum Schlußeffekt
mit Strg-d wird die Datei "Konsole" geschlossen

zur Testfrage
mit cd usr/local kann man in das Verzeichnis wechseln
mit cd /usr/local kommt Fehlermeldung kein Verzeichnis vorhanden.
Ich meine auch mit /usr/local ein Ergebnis zu erhalten wenn man unter root arbeitet?

Michael


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 21. September 2006, 23:42:15 PM 
Offline
Meister
Benutzeravatar

Registriert: 01. August 2006, 16:08:56 PM
Beiträge: 3840
Wohnort: 26725 Emden
Hi Udo,

bin auch in den Sternen. In einer kurzen Pause deine Lektion durchgemacht. Alles ok. Übrigens auch die Tastatur <<<< >>>> .

Hatte vor 15 Jahren den Umgang mit Linux mal einigermassen gekonnt, so dass der Kurs für mich eine Wiederholung ist. Da wird wieder alles aus den hinteren Kammern meines Hirns hervorgeholt.

Liebe Grüsse
Lothar

_________________
Herzliche Grüße / best regards

Lothar

https://lotharschanne.wordpress.com/


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 22. September 2006, 08:56:37 AM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Mit

echo "mein erste datei" > erste.txt <cr>

findet sich in der Datei also der Text mein erste date. Und mit

echo "neue Zeile" >> erste.txt <cr>
echo "dritte Zeile" >> erste.txt <cr>

füge ich die beiden anderen Texte ein. Ich habe mit das mit

edit erste.txt

angesehen, komme aus dem Editor jedoch nicht wieder heraus. Es muss doch einen Editor wie Windows NotePad oder Unix-Emacs geben. Ähnlich wie DOS zu schreiben ist etwas umständlich.
Zitat:
Was zeigt sich nach Abarbeitung der Befehlsfolge:

cd <cr>
echo * <cr>

Aha, es werden die Namen der Dateien im home-Verzeichnis gelistet (etwas unansehnlich). Trotzdem ein sehr nützlicher Befehl! Warum das home-Verzeichnis? Ich könnte es erklären.
Vor echo * sind wir mit cd ins home-Verzeichnis gegangen.
Zitat:
Das oben vorgestellte Anlegen einer Datei ... mag manchem etwas seltsam vorkommen, aber die Technik der Ausgabeumleitung ist so nützlich,
das ich es mal zeigen wollte. Es wird noch oft vorkommen. natürlich hätten wir auch einen Texteditor bemühen können, aber das kann jeder, oder?
Hm, ich bin wie jeder... :-\
Zitat:
cat >> zwei.txt <cr>

Gut. Das wäre also klar.
Wie bitte? Nix ist klar...
Zitat:
Tippt doch jetzt einfach mal Strg-d ein, und versucht euch den anschließenden Effekt zu erklären.
Keine Ahnung.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 22. September 2006, 16:59:18 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

zunächst zu euren Fragen.

Michael,

Punkt 1 richtig. ctrl-d schließt die shell und hiermit das Fenster.
Punkt 2 es ist genau umgekehrt. Egal in welchen Directory ich gerade aktiv bin, der Befehl

cd /usr/local führt mich in dieses Verzeichnis. Anngenommen ich wäre im home Verzeichnis, also

/home/msteffen , so würde der Befehl cd usr/local hier im home-Verzeichnis nach einem Unterverzeichnis usr suchen, darin nach local. Unwahrscheinlich das die in Deinem home-Verzeichnis existieren. Fehlermeldung

bash: cd: usr/local: Datei oder Verzeichnis nicht gefunden. Ob man als root oder normaler user eingelogt ist, ist egal, die Mimik ist dieselbe.

Großwesir,
mit dem Befehl edit hast Du einen extrem gefählichen Editor bemüht: vi.
Hier wirst Du nicht mit anstellen können. Um raus zu kommen tippst Du:

Strg-z
kill %1

Das ist nicht die elegante Art den Editor zu verlassen, es ist aber eine ganz allgemeine Art mit störrischen Programmen fertig zu werden. Wir nutzen es gleich im Kurs nochmal. Den Unterschied zwische > und >> hatte ich aber erklärt!
Ein einfaches > macht eine neue Datei oder überschreibt eine bestehende. Ein >> fügt ans Ende einer Textdatei an, erzeugt sie falls sie nicht existiert.

Gruß,
Udo


.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 22. September 2006, 17:06:45 PM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Leider gehe ich jetzt gleich nach Hause aber...

in vi war ich mal brilliant. Das ist aber definitiv vorbei denn dieser Editor ist die Hölle. Bevor ich mir das nochmal antue, nehme ich Emacs.

Schönes Wochenende, Thomas


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 22. September 2006, 17:51:56 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 3

wir hatten die 2. Lektion mit dem Befehl

cat /var/log/messages <cr>

abgeschlossen. Vielleicht habt ihr es nicht auf Anhieb hinbekommen euch als rootauszuweisen? Macht am Besten ein weiters Fenster auf (einfach 1x auf den kleinen schwarzen Bildschirm klicken). Dort tippt ihr den Befehl

su <cr>

ein. Wenn hier kein anderer Benutzername eingegeben wird, werdet ihr nach dem root-Passwort gefragt. Nach der Eingabe ändert sich der Prompt zu #. Ein Zeichen, das ihr jetzt root seid. Nochmals

cat /var/log/messages <cr>

eingeben. Was stand in Zeile 104 ? War nix?

Es gibt weitere Befehle sich den Anfang, bzw. das Ende einer Datei anzusehen.

head /var/log/messages <cr>
tail /var/log/messages <cr>

Beide werden wir noch benutzen.

Für die, die sich noch an die Dos-Ära erinnern, liste ich jetzt mal einige Dos-Befehle und die entsprechenden Unix-Befehle auf. (Es gibt aber subtile Unterschiede)

Dos
--------------------------------------
dir ls
copy cp
cd cd
md mkdir
type cat
set env
echo echo
...

Die Liste wird demnächst erweitert.

Zum Befehl ls. Hatten wir schon genutzt, listet das aktive directory.

ls / <cr>

listet das Wurzel-Verzeichnis (root-Verzeichnis, hat mit dem Admin=root nix zu tun).

ls /etc

listet das im root-Verzeichnis angesiedelte Verzeichnis \"etc\".

Wir gehen jetzt in unser Home-Verzeichnis.

cd <cr>

und tippen

ls -l <cr>

das -l ist ein sogenannter switch, eine Option für das Kommando ls. Der switch bedeutet: liste (ls) mal alle Dateinamen in Langform. Es gibt kein Unix-Kommando ohne diese switches. Manche habe viele Dutzend davon.

Der output könnte etwa so aussehen:

....

-rw-r--r-- 1 uzlender users 581 2006-04-18 22:00 test.html
-rw-r--r-- 1 uzlender users 3126358 2006-06-05 20:41 Update_WinLens43_v4.3.6.zip
-rw-r--r-- 1 uzlender users 588349 2006-06-05 20:43 WinLens-Neue-Tools.pdf
drwxr-xr-x 2 uzlender users 144 2006-05-27 20:23 xcsao.adass91_files
-rw-r--r-- 1 uzlender users 13335 2006-05-27 20:23 xcsao.adass91.html
....

Wir sehen uns zunächst die 4. Zeile an. Das Kauderwelsch

drwxr-xr-x

sagt mit dem d in Position 1, daß es ein directory ist.
das folgende rwx, sind Rechte, die der Besitzer an der Datei=Directory hat.
read,write,execute, als alles darf er. Das folgende

r-x

sind die Rechte für die Gruppe zu der der Nutzer gehört, das anschließende

r-x sind die Rechte die alle Nutzer des Computers haben (world

sind die Rechte für die Gruppe zu der der Nutzer gehört, das anschließende

r-x sind die Rechte die alle Nutzer des Computers haben (world)

Der Besitzer ist uzlender, er gehört zur Gruppe users. Die folgende Zahl gibt die Größe der Datei an. Dann folgen Datum und Uhrzeit der letzten Änderung.

Nochmals zu den Rechten. Unix ist ja ein Multi-Tasking-, Multi-User-System.
Jeder Nutzer gehört zu einer Gruppe. Wenn wir nochmals die erste Zeile betrachten, dann sagt das führende -, das es eine normale Datei ist. Eine html-datei. Die darf ich als Besitzer lesen und beschreiben. Alle anderen dürfen nur lesen.
Eine Befehl, der die Rechte (nicht die Menschenrechte) zu ändern erlaubt, werden wir demnächst kennenlernen.

Ein weiter switch für ls ist das kleine a

ls -a
ls -la

-rw------- 1 uzlender users 8781 2006-09-21 19:50 .bash_history
-rw-r--r-- 1 uzlender users 1375 2006-08-30 20:51 .bashrc

-rw-r--r-- 1 uzlender users 581 2006-04-18 22:00 test.html
-rw-r--r-- 1 uzlender users 3126358 2006-06-05 20:41 Update_WinLens43_v4.3.6.zip
-rw-r--r-- 1 uzlender users 588349 2006-06-05 20:43 WinLens-Neue-Tools.pdf
drwxr-xr-x 2 uzlender users 144 2006-05-27 20:23 xcsao.adass91_files
-rw-r--r-- 1 uzlender users 13335 2006-05-27 20:23 xcsao.adass91.html

hier werden noch Dateien aufgelistet, die mit einem führenden Punkt im Namen beginnen. Meist sind das Dateien. die von systemnahen Programmen ausgwertet werden.

.bashrc wird von der bash ausgewertet. Seht mal rein mit

cat .bashrc <cr>

Welche weiteren switches hat nur ls?

Das wird vom Befehl

man ls <cr>

verraten. Einfach immer wieder die Leertaste drücken, bis zum bitteren Ende.
Ganz schön viele !

man cat <cr>

zeigt die Manual-Page (man page) für das Kommando cat an, usw. Wenn euch das mit der Leertaste zu langweilig wird, einfach q tippen, das bricht den Vorgang ab.

Letzte Frage:

was macht

ls -R <cr>

Das wars in l3.

Morgen bin ich nicht da, bis Sonntag.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 22. September 2006, 19:59:30 PM 
Offline
Dauernutzer
Benutzeravatar

Registriert: 13. August 2006, 08:35:09 AM
Beiträge: 148
wenn ich schon nicht spektroskopieren kann (Steuerung defekt) übe ich Linux.
ls -R listet den gesamten Platteninhalt auf; schön sauber Verzeichnis für Verzeichnis

Michael


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 23. September 2006, 21:27:43 PM 
Offline
Meister
Benutzeravatar

Registriert: 06. August 2006, 10:49:33 AM
Beiträge: 217
Wohnort: Harsefeld
Nach man ls wurden alle Schalter nett aufgelistet und am Ende kam eine schwarz unterlegte Zeile mit Zeilenzahl usw. und in Klammern das Wort Ende. Danach konnte ich keine Befehl mehr eingeben, selbst Strg-d brachte keinen Erfolg. Erst der Druck auf die Tast q führte mich aus dem Manual heraus.

Gruß Jörg!

_________________
Wer hat's gemacht? .... Die Schweizer ...


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 24. September 2006, 11:56:52 AM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

Michael: ja, ok, wenn das Dein Ergebnis war, so war das aktive Directory das root (/) dir.
ls -R listet vom aktuellen dir abwärts alles rekursiv. Man kan die switches natürlich kombinieren, also

ls -alR

usw. Natürlich sollten die Lombinationen sinvoll sein.

Jörg: das man-Kommando nutzt einen weitern Unix-Befehl (less), den wir gleich besprechen werden. Crtl-d
sagt diesem Programm, daß es eine halbe Seite vorwärts blätten soll. Das man es mit q beendet hatte ich aber angegeben.

Thomas,

brilliant in vi? Mir war es tatsächlich mal vergönnt, jemandem, der brillinat in vi war über die Schulter zu blicken. Was so jemand, wenn er dir mal bei einem Problem hilft, mit 10-20 Tastendrücken bewirkt, ist unvorstellbar. Es spart dir ein- bis zwei Tage an harter Arbeit. Aber man braucht ein halbes Leben um dahin zu kommen. Für die die es nicht glauben wollen

http://www.softwarengine.com/editor-dow ... -54459.htm

das sind die Anfangsgründe.

Gruß,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 24. September 2006, 13:56:11 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 4

ich hatte in der Diskussion zu Lektion 3 über die man pages den Hinweis gegeben, daß sich hinter dem man-Befehl das Kommando less verbirgt.

more or less? less ist die moderne Version des uralt Pagers more
Wir hatten schon das Problem, daß lange Texte nur so an uns verbeirauschen, wenn wir den cat-Befehl benutzen. Schlaue Köpfe könnten jetzt auf die Idee kommen, mal bei head oder tail in den man pages nachzuschlagen, ob es da nicht eine switch gibt ...

tatsächlich listet der Befehl

tail -17 /etc/bash.bashrc <cr>

die letzten 17 Zeilen statt der letzen 10, die in der Voreinstellung stehen. Gut zu wissen, hilft aber nicht wirklich.

less /etc/bash.bashrc <cr>

erlaubt das bequeme Durchblättern langer Texte. Einfach auf die space-Taste drücken und es geht eine Seite vorwärts. Ein kleines b blättert rückwärts, ein kleines g führt uns an den Anfang der Datei, ein große G ans Ende. Gibt man einen slash (/) gefolgt von einen Suchbegriff ein, so werden alle Fundstellen schwarz hinterlegt.

Im obigen Beispielstext (less /etc/bash.bashrc) findet

/test

alle vorkommenden Textstellen, wo "test" steht. Da die Datei länger ist als das Bildschirmfenster, zeigt ein Druck auf die Taste n die nächsten vorkommenden Stellen, usw.

Der Befehl less kann natürlich noch viel mehr. Wir machen an dieser Stelle jetzt eine Evolutionssprung. Da wir ja schon von den Bäumen seit einiger Zeit runter sind, schmeißen wir jetzt die Faustkeile weg. Unix ist ja eine High-Tech-Werkstatt, in der die zahlreichen Werkzeuge zueinanderpassen.

Wir tippen ein

yes <cr>

und (?) ich sehe in eure enttäuschten Gesichter. Aber glaubt mir, der befehl yes ist ein Diamant-Werkzeug. Man bricht die Ausgabe übrigens mit Strg-c (Ctrl-c) ab.

Nächster Befehl

yes | less <cr>

Spacetaste drücken.... q bendet.

Na? Schon beindruckt? Immer noch nicht?

yes | head -n 12 <cr>

12 Stück! Und das von Hand gezählt!

yes | head -n 123 | wc -l <cr>

123 ganz viele, mit Computer gezählt.

cat /etc/bash.bashrc | wc <cr>

263 896 5870

263 Zeilen, 986 Wörter, 5870 Bytes, mit Computer gezählt!

Nun dürfte die erste Enttäuschung überwunden sein. Man kann, so wie man es als Kind gelernt hat, die Bauklötze Einen nach dem Anderen kombinieren, bis es paßt. Hab ich oben mal mit dem yes, dem head und dem wc vorgemacht. wc steht für "word count", es zählt aber auch tapfer Zeilen und Bytes.

Frage: yes | head -n 4 <cr>
sagt
y
y
y
y

yes | head -n 12 | wc <cr>

sagt
4 4 8
Wie kommt euer Computer auf 8-Bytes?

Wir haben mit "yes | head -n 12 | wc" eine sogenannte Pipeline mit 3 verschiedenen Kommandos aufgebaut. Das Pipezeichen (|) sagt eurer shell, lenke den Output von yes von der Standardausgabe (stdout) auf die Standardeingabe (stdin) von head, dessen stdout wiederum auf stdin vom wc, dessen stdout wird nicht angefasst, also geht die auf den Bildschirm.

stdout hatten wir schon beim Umleiten in eine Datei in Lektion 2 benutzt.

stdin hatten wir noch nicht. Standardmäßig ist das die Tastatur

sort <cr>

mal einige Zeilen eingeben, dann Strg-d drücken.

sort < /etc/passwd <cr>

sortiert die Passwortdatei



ls /etc | less <cr>
ls /etc | wc -l <cr>

ls /etc | wc -l | less <cr>
der letzte Befehl funktioniert ist aber nicht sehr geschickt, da ohnehin nur eine Zeile mit 3 Zahlen rauskommt.

ls /etc | less| wc -l <cr>
funktioniert auch ist aber auch nicht sehr geschickt. Wir haben einfach zuviel getippt.

ls /etc | sort

Aha, eine nützliche Pipeline.

Bis morgen.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 24. September 2006, 18:40:21 PM 
Offline
Meister
Benutzeravatar

Registriert: 01. August 2006, 16:08:56 PM
Beiträge: 3840
Wohnort: 26725 Emden
Hi Udo,

das gesdchieht bei mir:

lothar@linux:~/unix-kurs> yes|head -n 123|wc -l
123
lothar@linux:~/unix-kurs>

also nicht viele 123.

Lothar

_________________
Herzliche Grüße / best regards

Lothar

https://lotharschanne.wordpress.com/


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 25. September 2006, 13:26:17 PM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Zu Lektion 4:

Wenn ich eingeben will

>yes|less

bekomme ich automatisch einen anderen Befehl angeboten, z.B. yast2.

Das ist bei mir nicht ausführbar.

Ein allgemeiner Kommentar nach 4 Lektionen. Ich verliere den Überblick, was wir mit dieser Befehlsansammlung, die ich bald wieder vergesse, eigentlich erzielen wollen. Ich bin in meiner Arbeit zwangsläufig problemorientiert, habe ich kein Problem, lerne ich nix. Ist unsere Vorgehensweise, nur verschiedene Befehle durchzugehen, sinnvoll?

Thomas


Ps: Ja, vi ist mächtig aber nur sehr mühevoll erlernbar. Ich habe alles wieder vergessen und mich davon verabschiedet.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 26. September 2006, 11:49:59 AM 
Offline
Meister
Benutzeravatar

Registriert: 06. August 2006, 10:49:33 AM
Beiträge: 217
Wohnort: Harsefeld
Grüezi,

mal abgesehen von dem was Thomas zu Recht einwendet, habe ich Probleme mit der Inkonsistenz von LINUX. Mal soll man Strg-c, dann einfach q zum Beenden wählen. Mal stellt die zu verwendende Taste die nachvollziehbare Abkürzung eines Befehlswortes dar, dann wieder nicht. Da hätte man bei den Programmierern besser Absprachen treffen sollen.

Gruß Jörg!

_________________
Wer hat's gemacht? .... Die Schweizer ...


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 26. September 2006, 21:57:59 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 5

Nun, da ihr euch offensichtlich langweilt, bringe ich ein Beispiel aus dem wirklichen Leben, muß aber hierzu etwas das Tempo verschärfen.

Das Problem
Hatte in der letzten Woche meine ST-7 Kamera an ein anderes Fernrohr als üblich gehängt, um zu sehen wie gut die Kamera dort im Zusammenspiel mit der FS2 für die Nachführung in Rektaszension eingesetzt werden kann. Meine Aufnahme-Software kann ein Logfile erstellen, das eine Menge von Daten enthält (es folgt der Anfang der Datei, die komplette Datei gibt es hier

http://www.giga-parsec.de/unix-kurs/FS2Imager015.log

...




CCDSoft Tracking Report
Camera: SBIG ST-7/7E/7XE
X Axis: Enabled
Y Axis: Not Enabled
ExposureTime = 2.50
Aggressiveness Factor = 10
Calibration Time X = 10.00
Calibration Time Y = 0.00
Calibration declination = 0.00
Declination now = 0.00
Minimum Move = 0.01
Maximum Move = 3.00
Backlash X = 0.00
Backlash Y = 0.00
Delay After Move = 3.00
Autoguide using Relays

Calibration Determined Velocity Vectors (pixels/sec)
XPlus Speed= 1.06171 (XPlus X= 1.06147, XPlus Y= -0.02254) Angle= 358.78000
XMinus Speed= 1.09111 (XMinus X= -1.09021, XMinus Y= 0.04438) Angle= 177.67000
YPlus Speed= 1.#INF0 (YPlus X= -1.#IND0, YPlus Y= 1.#INF0) Angle= 90.00000
YMinus Speed= 1.#INF0 (YMinus X= -1.#IND0, YMinus Y= -1.#INF0) Angle= 270.00000

|Elapsed Secs|RefCentroidX|RefCentroidY|CurCentroidX|CurCentroidY|GuideErrX |GuideErrY |TotGuideErr |XPlusRelay |XMinusRelay |YPlusRelay
|YMinusRelay |
| 0.0000| 16.0000| 16.0000| 15.7681| 21.5020| -0.2319| 5.5020| 5.5069| 33| 0| 0
| 0|
| 14.5550| 16.0000| 16.0000| 15.8993| 21.0740| -0.1007| 5.0740| 5.0750| 20| 0| 0
| 0|
| 21.7900| 16.0000| 16.0000| 15.7651| 21.5922| -0.2349| 5.5922| 5.5971| 33| 0| 0
| 0|
| 29.2100| 16.0000| 16.0000| 15.5831| 22.3815| -0.4169| 6.3815| 6.3951| 52| 0| 0
| 0|
| 36.2350| 16.0000| 16.0000| 15.9882| 22.1102| -0.0118| 6.1102| 6.1102| 13| 0| 0
| 0|
| 40.1450| 16.0000| 16.0000| 16.2547| 22.3337| 0.2547| 6.3337| 6.3388| 0| 0| 0
| 0|



.....



Vieles davon interessiert mich nicht, ich will eine graphische Darstellung der Nachführfehler, d.h. Zeit gegen GuideErrX und GuideErrY (also in 3 Spalten) aufgelistet haben. Also diese:


0.0000 -0.2319 5.5020
14.5550 -0.1007 5.0740
21.7900 -0.2349 5.5922
29.2100 -0.4169 6.3815
36.2350 -0.0118 6.1102
40.1450 0.2547 6.3337
47.1890 -0.0818 6.1038
54.5900 -0.3919 6.3097
61.9650 0.7112 6.5686
68.9250 0.0805 6.4893

....

Man kann jetzt einen Editor nehmen, oder man macht es so:

cut -d\| -s -f2,7,8 FS2Imager015.log | grep [0-9] | tr "|" " " >FS2-2-7-8.dat <cr>

gnuplot <cr>
-> pl "FS2-2-7-8.dat" w l , "FS2-2-7-8.dat" using 1:3 w l


Bild


Der Befehl cut schneidet Spalten (character) oder Felder aus der Datei FS2Imager015.log.

mal eintippen (Die Zeilen, die uns interessieren beginnen gleich mit einem Trennzeichen (|), weshalb ich Feld2 (-f2) als Option nehme.)

cut -f2 FS2Imager015.log

das sieht nicht gut aus.

cut nimmt standardmäßig ein tab-Zeichen als Trenner zwischen den Spalten an, wir haben aber in diesem Text ein |. Das kann ich dem Befehl mit auf den Weg geben.

cut -d| -f2 FS2Imager015.log

War noch nix. Es gibt die folgende Fehlermeldung

cut: Diese Option benötigt ein Argument -- »d«
„cut --help“ gibt weitere Informationen.
bash: -f2: command not found

klappt also nicht. Wir können es aber verstehen, weshalb es so nicht klappt. Wir wissen ja, daß das |-Zeichen von der Shell für die Erstellung einer Pipe benutz wird. Man muß es deshalb verstecken. Für ein einzelnes zeichen nimmt man dazu den Backslash, also:

cut -d\| -f2 FS2Imager015.log

Aha, geht doch! Die Zweite Spalte hat unsere gewünschte Zeit. Allerdings noch einigen anderen Schroot ebenfalls. Sieht man, wenn man

cut -d\| -f2 FS2Imager015.log | head -n30

eintippt. Uns interessieren ja nur Zahlen und zwar in den Feldern 2,7,8. Dann sollten wir die auch angeben.

cut -d\| -f2,7,8 FS2Imager015.log | head -n30

Vom Schrott befreien wir uns so:

cut -d\| -s -f2,7,8 FS2Imager015.log | head -n30

das -s gibt nur die Zeilen aus, die auch das Trennzeichen (|) enthalten.

Bleibt noch die erste Zeile und das Trennzeichen, die unsere tiefsten Empfindungen stören.

Elapsed Secs|GuideErrX |GuideErrY
0.0000| -0.2319| 5.5020
14.5550| -0.1007| 5.0740
21.7900| -0.2349| 5.5922
29.2100| -0.4169| 6.3815
36.2350| -0.0118| 6.1102

Da hilft ein weiteres Filter, das ich eigentlich heute besprechen wollte. Es kommt in fast jeder längeren Pipeline vor. Das grep, wir werden es morgen näher betrachten. grep [0-9] läßt nur noch die Zeichen 0-9 durch.

0.0000| -0.2319| 5.5020
14.5550| -0.1007| 5.0740
21.7900| -0.2349| 5.5922
29.2100| -0.4169| 6.3815
36.2350| -0.0118| 6.1102
40.1450| 0.2547| 6.3337

das Trennzeichen macht der Befehl tr platt. Wir übersetzen es nach Blank " " und schreiben das Ergebnis in die Datei FS2-2-7-8.dat.

Mit gnuplot kann man die Daten als Kurven malen. Da es nicht jeder installiert hat. Schicke ich ein Bild mit.



Hätte ich den Editor genommen, wäre ich schneller gewesen? Vielleicht. Aber! Ich hab in der Nacht 14 verschiedene Messreihen gemacht. Man kann die ausklamüserte Befehlsfolge in eine ausführbare Datei schreiben, und dann ...

Wer macht jetzt noch das Maul auf?

Unix, d.h. man muß eine ganze Menge lernen und man braucht Geduld. Ich hätte es lieber ein wenig mehr piano angehen lassen. Bis morgen.


Dateianhänge:
tr.gif
tr.gif [ 6.46 KiB | 67890 mal betrachtet ]
Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 27. September 2006, 15:42:56 PM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Au weia, jetzt kriege ich aber auf's Maul! Ich langweile mich überhaupt nich...im Gegenteil. War nur scharf auf die erste Anwendung, die ja jetzt auch gekommen ist. Danke, Udo.

??? Hä? Backslash \ und Pipe | kommen in Linux bei mir nicht an... :o

Habe gerade entdeckt, dass Strg-Alt in Linux durch Alt Gr ersetzt ist. Steht der Befehl tr für truncate?

Noch was, das ist ja recht viel, was jetzt kommt. Hat jemand was dagegen, vielleicht nur alle zwei Tage eine Lektion durchzunehmen?


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 27. September 2006, 16:20:31 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo Thomas,

das Pipe-Zeichen ist bei mir unten links neben der Shift-taste, zusammen mit >< auf einer Taste versammelt. Ich muß AltGr drücken, um es zu erreichen. Genso für den Blackslash.

Bei dem schönen Wetter hab ich eigentlich auch viel anderes zu tun, als mich hier abzurackern.
Montag ist mein Urlaub zu Ende.

Für diejenigen , die noch was aus der Praxis üben wollen, stell ich hier eine zur letzten Lektion passende Aufgabe.

Ich benutze zur Wellenlängen-Kalibration das VisualSpec. Als Ausgabe bekomme ich wieder eine Datei, die vieles enthält, das ich nicht brauche. Ich will 2 Spalten, mit Wellemlänge und Counts. Ich stelle es wieder auf meinen Webserver.

http://www.giga-parsec.de/unix-kurs/alp ... riplet.spc

Viel Spaß,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 27. September 2006, 16:29:26 PM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Du machst das in Deinem Urlaub, Udo! Dafür gibt es ein :-*

Jedenfalls fange ich an, mich wieder zu erinnern. Du hast recht, das ist natürlich schneller als ein Editor, wenn auch mühsam zu erlernen.

Gruss, Thomas


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 28. September 2006, 20:25:24 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo Thomas,

isieht komplizierter aus als es ist. Ich denke man braucht für den täglichen Gebrauch eine Liste der Befehle von denen man etwa weiß, was sie so machen. Das sind sowas wie 25-50. Hat man eine Liste mit Beispielen, kann man die natürlich kreativ abwandeln. Die langen Pipes baut man stückweise auf, so wie ich es jetzt vorgemacht habe. Die Switches, die man braucht sieht man in den man-Pages nach. Unix ist ein Baukasten, von dem wir allerdings noch nicht viel gesehen haben.. Mein Buch, in welchem ich gelegentlich nachschlage hat etwa 1200 Seiten. trotzdem hoffe ich hier etwas mehr als nur eine Vorstellung rüberbringen zu können. Etwas mehr Feedback wäre allerdings nett!

Grüße,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 28. September 2006, 21:31:48 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 6

mit dem in der letzten Lektion verwendeten Kommando grep durchsucht man Dateien (meist Textdateien, Tabbellen...) oder man filtert den zu langen Output eines Befehl nach gesuchten Mustern (Pattern). Die Sache mit den Mustern ist eine Wissenschaft für sich, wir kommen darauf in der nächsten Lektion nochmal zurück. Vielleich erinnert sich der Eine oder Andere noch an die DOS-Zeiten. Der Befehl dir *.txt zeigte alle Dateien im aktiven Directory, die mit Nachnamen txt hießen. Dieses Konzept ist in Unix 1000x ausgeprägter

Ich schlage vor, wir üben heute an zwei Dateien mit folgendem Inhalt:

Inhalt Datei1:
-----------------------------------
hallo
Hallo
123
1234
4567
45678
wie geht es?
gut?
Die Lottozahlen
die lottozahlen
3,4,5,1,19,33

------------------------------------
Inhalt Datei2:

Birnen
Bananen
123 Bananen an einer Staude
456 Kirschen im Korb

------------------------------------

Wir nennen die Dateien gr1.txt und obst.txt

Wir tippen

grep 123 gr1.txt <cr>

und erhalten
123
1234
als Ergebnis.

Wir tippen
grep 123 *.txt <cr>

und bekommen

gr1.txt:123
gr1.txt:1234

obst.txt:123 Bananen an einer Staude

Wir haben im 2.Beispiel alle txt-Dateien nach 123 durchsucht.

Wenn wir wissen wollen in welchen Zeilen dieses Muster gefunden wurde nutzen wir den Switch -n
grep -n 123 *.txt <cr>

und bekommen

gr1.txt:3:123
gr1.txt:4:1234

obst.txt:3:123 Bananen an einer Staude

Gut.
Manchmal will man aber alles, nur nicht die Zeilen, die das Muster enthalten. Der Switch -v hilft hier.

grep -v 123 obst.txt <cr>

Ergebnis:

Birnen
Bananen
456 Kirschen im Korb


Oder ich möchte nur die Namen der Dateien, nicht aber die Fundstellen:

grep -l 123 *.txt <cr>

Output:

gr1.txt
obst.txt

Ich hatte schon erwähnt, das Unix zwischen Groß- und Kleinschreibung unterscheidet.

grep hallo *.txt

Antwort:
gr1.txt:hallo

Man kann dem Kommando sagen: Mir egal, alles zeigen. Dazu gibt es viele Möglichkeiten, wir nutzen den Switch -i

grep -i hallo *.txt <cr>

Antwort:
gr1.txt:hallo
gr1.txt:Hallo

Ich gebe zu, das ist alles Kinderkram, wir betrachten noch ein paar alltägliche Beispiele. Meist wrid grep hier als Filter in einer Pipeline eingesetzt:

ls /etc | grep host <cr>

Der Befehl:

ps -aux <cr>

zeigt alle Prozesse, die momentan auf meinem Computer laufen. Es sind 88 (mit Computer gezählt!):

Ich möchte nur die sehen, die dem Admin (root) gehören:

ps -aux | grep root <cr>

ps -aux | grep root | wc -l <cr>

immer noch 45

Oder root sucht mit

grep ERROR /var/log/messages

nach Errors im Log-File des Systems.

Noch ein Beispiel aus der Spektroskopie. Ihr habt eine Datei, die zwei Spalten mit Wellenlängen und Zählraten enthält. Zwecks Vergleich mit einer anderen Datei, die nur Pixel und Zählraten enthält, wollt ihr mal schnell die mit den Wellenlängen durchnummerieren, um sie dann z.B. zu plotten.


grep -n '*' sp-lam-cnt.dat | tr ":" " " > sp-pix-lam-cnt.dat


Als kleine Übung legt ihr euch mal eine kleine Datei mit dem gewünschten Inhalt an und nehmt anschließend die Pipeline auseinander, bis klar ist, was sie tut.

Wer Spaß an grep gefunden hat, kann sich schon mal auf Übermorgen freuen:

Wir tippen:

grep -E '^[1-9]{4}$' gr1.txt <cr>

Die 4 vor dem $ steht in geschweiften Klammern.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 30. September 2006, 19:04:11 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 7

bevor wir mit den regulären Ausdrücken anfangen, möchte ich noch ein Beispiel aus der Spektroskopie geben, das ihr mit dem bisher gelernten bewältigen könnt, und das hoffentlich ein wenig Begeisterung aufkommen läßt.

Es ist nicht leicht schöne Beispiele zu finden. Wenn man eines hat, merkt man oft, daß der eine oder andere Befehl in der Kette noch nicht erklärt wurde, also was tun ?

Bevor wir zu dem Beispiel kommen muß ich also noch einen neuen Befehl einführen. Wir werden mal wieder an richtigen Daten üben, die ich auf meinem Webserver hinterlegt habe. Damit ich mir dort nicht alles zumülle, möchte ich diese Daten komprimieren und wenn notwendig viele Dateien in ein Archiv packen. In Windows würde man das ganze Zeugs zippen. Den Zip-Befehl gibt es zwar im Linux auch, aber er wird nicht häufig genutzt. Meist nimmt man tar (Tape-Archiver). Wenn ihr euch z.B. ein Paket für Iraf oder Midas aus dem Internet besorgt, endet das höchstwahrscheinlich mit .tar, .tar.gz oder .tgz. Die letzten beiden Endungen sagen, daß das tar-Archiv noch mit gzip komprimiert wurde.

Seht z.B. einfach mal hier nach:

http://www.gemini.edu/sciops/data/dataS ... eases.html

oder hier, auf der Download-Seite von Spectrum (R.O.Gray)
http://stellar.phys.appstate.edu/spectrum/download.html

Wenn ihr euch solch ein Paket auf euren Rechner geladen habt, könnt ihr mit dem Befehl

tar ztvf paket.tgz

in das Ding hineinsehen. Es passiert sonst nix. Das geheinisvolle ztvf müßt ihr auswendig lernen. Ihr braucht es immer, immer, immer ... wieder.

die switches bedeuten folgendes:
z steht für zipped
t für type oder list
v für verbose (wird von vielen Kommandos benutzt)
x für extract
c für create
f für file , also kein Tape ;D

Die gleichzeitige Verwendung von c und x usw. schließt sich natürlich aus. Logisch, oder?
Ausgepackt wird es so:

tar zxvf paket.tgz

wenn das Archiv "paket.tgz" Pfadangaben zu den einzelnen Dateien enthält, also z.B. eins/datei1.txt, zwei/datei567.txt ... werden die entsprechend berücksichtigt und die Verzeichnisse eins, zwei ... werden vor dem Auspacken angelegt.

Der Befehl

tar zcfv mein-paket.tgz my-dir/*

packt und komprimiert alles was sich im Verzeichnis my-dir befindet ins Archiv mein-Paket.tgz
Es ist meist deutlich kleiner als das ursprüngliche Gedöns und kann tausende von Einzeldateien enthalten. Natürlich kommen auch die Source des Linux-Kernels auf diese Weise in eure Hütte.

ftp://ftp.fht.lkams.kernel.org/pub/linux/kernel/v2.6/

So, jetzt kommen wir zu dem Beispiel.
Will man mit der Spectrum-Software von Gray synthetische Spektren rechnen, so braucht man spezielle Dateien, welche die Sternatmosphäre modellieren. Im Original-Programm gibt es nur zwei solcher Files, eins für die Sonne, eines für Wega.

Im Internet gibt es etliche Quellen, die endlos viele solcher Files anbieten. Sie sind meist in sogenannten Grids (Gittern) nach der Metallizität des Sterns organisiert (Directories). In den eigentlichen Dateien (tgz-Files) werden oft hunderte Modelle nach ansteigender Teff und Schwerebeschleunigung an der Oberfläche aufgelistet.

Ich stelle hier nur einen kurzen Teil aus einem solchen File zum download zur Verfügung:

http://www.giga-parsec.de/uinix-kurs/gridM01.tar.gz

Den Anfang der einzigen Datei, die diese Archiv enthält, kann man sich nach dem Entpacken mit dem Befehl

head -n 30 am01k2.datcd.txt

ansehen. Ein Modell enthält immer 89 Zeilen, dann folgt das Nächste. Jetzt kommt das Problem. Angenommen ich brauche von den 410 Modellen, die in der Datei enthalten sind, das Modell für

Teff 3750. Gravity 4.500

dann kann ich mir das mit dem Editor ausschneiden (unsportlich) oder ich besorge es mir mit der Pipeline:

head -n 1869 am01k2.datcd.txt | tail -n 89 > t3750g4.5.mod

Was soll die geheinisvolle 1869. Sie entspringt dem Befehl

grep -n "3750. " am01k2.datcd.txt

nach seiner Ausführung.

Er sucht die Teff "3750. ". Das -n listet die Zeilennummern. Ich muß mit dem führender head-Befehl m+89 Zeilen listen, wobei m die Zeilennummer füt Teff=3750 und Gravity 4.5000 angibt.

Es ist also einfach die Nummer des folgenden Modells Teff=3750 Gravity 5.000 minus 1.


Das sieht wierder kompliziert aus, ist es aber nicht. Insbesondere wenn ich mal meinen Rechner beschäftigen möchte und viele Spektren rechnen lassen.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 03. Oktober 2006, 08:30:23 AM 
Offline
Meister
Benutzeravatar

Registriert: 04. August 2006, 18:46:02 PM
Beiträge: 309
Hallo Udo,

ich wollte mir das File http://www.giga-parsec.de/uinix-kurs/gridM01.tar.gz von Deiner Homepage laden, hat aber nicht funktioniert ("file not found"). Wenn Du es wieder heruntergenommen hast, kannst Du mir stattdessen die ursprüngliche Quelle nennen !?
Ich hatte  in den letzten Tagen leider nur wenig Zeit (notwendige Tapezierarbeiten am Abend :x ) und konnte deswegen Deinen Kurs nur sporadisch verfolgen. Dein Beispiel ist (natürlich wegen Spectrum bzw. ATLAS) für mich ein besonders spannendes Thema und ich möchte es mal genauer ausprobieren.

Nicht aufgeben !   ;)

Klaus


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 04. Oktober 2006, 12:10:02 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo Klaus,

da hat sich wohl ein Fehler in der angegebenen URL eingeschlichen. Es muß natürlich unix und nicht uinix heißen.

Gruß,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 04. Oktober 2006, 16:07:10 PM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Zitat:
Nicht aufgeben ! ;)
Das will ich wohl hoffen!!! :D Bin etwas in Arbeit und komme nicht dazu viel zu machen. Bin aber noch dabei.

Thomas


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 05. Oktober 2006, 20:50:03 PM 
Offline
Meister
Benutzeravatar

Registriert: 01. August 2006, 16:08:56 PM
Beiträge: 3840
Wohnort: 26725 Emden
Geht mir genauso wie Thomas.

Bin berufsmässig im Moment dermassen belastet, dass ich nicht regelmässig die Lektionen durcharbeiten kann.Bin abends nicht mehr ausreichend konzentriert.

Aber man kann das ja nachholen.

Trotzdem vielen Dank Udo, für dein Engagement.

Liebe Grüsse
Lothar

_________________
Herzliche Grüße / best regards

Lothar

https://lotharschanne.wordpress.com/


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 16. Oktober 2006, 15:01:54 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Lektion 8

hier mal eine kleine Lektion zum Rechnen ohne weitere Hilfsmittel unter Unix.
Die von uns studierte bash bietet da weniger als andere shells.

Integerarithmetik geht. Ein paar Beispiele ersparen langatmige Erklärungen.

echo $[3+4] <cr>
echo $[3*4] <cr>
echo $[3/4] <cr>
echo $[3.14*4] <cr>
bash: 3.14*4: syntax error in expression (error token is ".14*4")

Das dritte Beispiel zeigt eventuel nicht das erwartete Ergebnis. Floating-Point im vierten Beispiel gibt sogar eine Fehlermeldung.

Hier hilft der eingebaute Taschenrechner bc weiter. Klingt erstmal trivial, ist es aber nicht.
Er ist natürlich programmierbar und kann als Filter in Pipes oder in shell-Skripten (=batch-Dateien)eingesetzt werden. Unserere obigen Probleme nochmals mit bc:

echo 3+4 | bc -l <cr> (es ist ein "-el")
echo 3/4 | bc -l <cr>

jetzt wird es etwas interessanter

echo "4*a(1)" | bc -l

antwortet
3.14159265358979323844

bc kennt nämlich auch Funktionen, hier steht a für ArkusTangens. Analog gibt es die Abkürzungen
s,c,l,e,j für gebräuchliche mathematische Funktionen. Sogar Rekursion ist möglich:

Wir öffnen eine Textdatei (z.B. mit dem Editor) und
definieren f(x) um es anschließend in der for-Schleife aufzurufen. (Die Syntax von bc lehnt sich stark an die Programmiersprache C an):

define f(x) {
if (x <1> -3; i--) {
print f(i);
print "\n";
}

speichen unter dem Namen bc.in und nutzen es im Aufruf

bc < bc.in

Antwort:

720
120
24
6
2
1
1

Sowas wie die Lottozahlen, oder?

Der bc ist eine eigene Programmiersprache. Von Natur aus kann das Ding ziemlich genau rechnen.

pi=$( echo "scale=100; 4*a(1)"|bc -l )

Antwort von

echo $pi

3.141592653589793238462643383279502884197169399375105820974944592307\ 8164062862089986280348253421170676

Diese Genauigkeit braucht man in der Spektroskopie relativ selten.


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 02. November 2006, 16:36:25 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

es ist natürlich nicht sehr motivierend, daß so wenige hier mitmachen. Kann ja sogar sein, daß die Zahl der Interessenten gegen 0 (in Worten Null) geht. Es kann aber auch daran liegen, das der Eine oder Andere sich nicht traut, seine Festplatte neu zu partitionieren, um neben Windows noch ein Linux zu installieren. Dieses Problem habe ich auch auf meinem Notebook. Dagegen ist aber ein Kraut gewachsen. Es heißt vmware GSX server. Die nächste gute Nachricht: es kostet nix.

Wo kommt es her? Hier, ca. 140 MByte.

http://www.vmware.com/de/download/gsx

Voraussetzung 512 MByte Ram oder mehr und ca.10 GByte oder mehr auf der Festplatte.

Man istalliert vmware unter Windows und kann danach beliebige Gastsysteme, von DOS 6.22 bis Windows XP, SUSE-Linux, Open Solaris ... installieren (von CD, DVD, Diskette, was auch immer), die alle aus der vmware-Box gestartet werden. Wenn es sein muß auch parallel.

Man verfügt über seinen gesamten Hardwarepark (fast).

Es ist wirklich erschreckend einfach!

Dieser Beitrag kommt z.B aus so einer virtuellen Welt direkt auf euern Windows-PC!

Midas, IRAF, Starlink ... alles stünde zur Verfügung. Alles kostenlos.

Bei Problemen versuche ich natürlich zu helfen.

Viel Spaß,
Udo


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 02. November 2006, 16:51:43 PM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Ja, Udo, es wäre besser, eine lebhafte Diskussion zu haben. Ich kann das leider nur begrenzt verfolgen. Zur Erklärung: Ich habe meine Abteilung gewechselt und habe nun deutlich weniger Zeit. Aber ich finde, dass Deine Arbeit noch einige sehr interessieren wird (mich sowieso). Es ist also per se sehr gut, dass dieser Kurs hier steht und später immer wieder genutzt werden kann.

Entweder, Du stoppst hier und machst auf Zuruf weiter oder Du machst einfach weiter wie bisher, es geht nichts verloren. Oder Du schreibts an einem Review-Paper für uns. Ich bin trotzdem dankbar für Deine Mühe.

Gruss, Thomas


Nach oben
   
 Betreff des Beitrags: Re: Der Kurs
BeitragVerfasst: 02. November 2006, 17:42:18 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
So,

irgend wie bin ich heute geneigt, den Kurs fortzusetzen, obwohl ich manchmal gezaudert habe.

Ich möchte heute etwas über Prozesse, Tasks, Hintegrundverarbeitung ... erzählen. Irgenwie alles dasselbe, aber unter Linux funktioniert es klaglos.

Mal angenommen ich möchte was kolossales zu tun, z.B. den wahren Grund für die Existenz des Universums modellieren, und ich kann trotzdem, das Gefühl nicht loswerden, so nebenher, mit diesem Computer noch was anderes, sinnvolles tun zu müssen, dann würde ich das etwa so machen.

uzlender@elea4:~> ./mach & <cr>[

1] 3866

Entscheident ist das &
Es signalisiert der shell den job im Hintergrung zu erledigen.
Sie, bzw. eine weitere Insanz tut es hier mit der Prozeßnummer 3866.
Man kann durchaus nachfragen:

jobs <cr>

[1]+ Running ./mach &

Die Antwort bedeutet, daß ein Job [1] im Hintergrund läuft und läuft ...
(Running).

Man kann alles was man gerade erledigt in den Hintergrund stellen. Mal angenommen ich bearbeite gerade eine Datei Namens test im Editor vi. Ich drücke Strg-Z und bekomme als Antwort
[1]+ Stopped vi test

D.h. die entsprechende Session ist hier in den Hintegrung gewandert und wird dort nicht weiter ausgeführt (stopped). Ich bekomme im nächsen Moment den Prompt der shell angeboten und kann sonst was machen. Bin ich damit fertig, so hole ich den Job "vi test" mit dem Befehl

fg <cr>

wieder zurück und bin im Editor wo ich vorher aufgehört hatte. fg steht für forground

Wenn es in einem anderen Beispiel sinnvoll sein sollte, so kann ich den Job mit dem Befehl

bg <cr>
im Hintergrund weiter laufen lassen.

Sollte die der Prozeß der Wahrheitsfindung zu lang dauern, so kann ich das alles jederzeit mit dem Befehl

kill %1 <cr>

beenden. Er tötet den Hintergrundjob Nr.1 .

kill %7 <cr>

würde entsprechend den 7. Job beenden (falls ich so fleißig arbeite).

Machmal gibt es ganz hartneckige Fälle, die ignoriren das entsprechende Signal und machen einfach weiter. Hier hilft ein

kill -9 3866 <cr>

Die Prozeßnummer 3866 gibt mir der Befehl

ps <cr>

PID TTY TIME CMD
3781 pts/1 00:00:00 bash
3866 pts/1 00:00:00 bash
....
3870 pts/1 00:00:00 sleep
3873 pts/1 00:00:00 ps

Gezeigt werden alle meine Prozesse. Neben meiner gegenwärtigen shell ( 3781 pts/1 00:00:00 bash) wird die für den Hintergrundprozeß angezeigt ( 3866 pts/1 00:00:00 bash) und was sie so tut (
...
3870 pts/1 00:00:00 sleep
)
Außerdem die Prozeßnummer vom gegenwärtigen Komando=ps selber.

Wie jeder ordentliche Unix-Befehl kennt das Kommando ps natürlich dutzende von Optionen.

ps -ef <cr>
oder
ps aux <cr>

zeigen mir alle Prozesse auf dem Computer an und viele zusätzliche Infos, u.a. die Prozeß-ID, die ich brauche um das Ding zu beenden, oder was auch immer.

Der Befehl kill -9 nnn sendet ein Signal an den Prozeß mit der ID nnn, welches dieser nicht ignorieren kann. Es gibt viele andere Signale die ich mit kill senden kann, die entsprechend gutes bewirken können, wenn der Prozeß, dem ich es signalisiere es entsprechend deuten kann (so programmiert wurde).

In der langen Ausgabeliste, die ps -ef erzeugt, kann ich natürlich mit

ps -ef | grep httpd

nach den Prozessen suchen, die mit httpd zu tun haben....

Es gibt noch einen interessanten Befehl, mit dem ich ansehen kann was gerade so läuft:

top <cr>

Hier wird gezeigt, welche Prozesse mit welcher Prozentzahl CPU, Memory, Swap-Space, .... benutzen. Die Anzeige wird laufend aktualisiert, so daß man Problemfälle identifizieren kann.

Was hat das alles mit Spektroskopie zu tun?

Mmh, mal nachdenken.

Grüße,
Udo


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28. Dezember 2006, 13:39:03 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

in meinem vorletzten Beitrag hier im Kurs, hatte ich auf die kostenlose Server-Software von vmware hingewiesen, mit der man beliebige Gastsysteme (Linux, Solaris, Windows-Vista ...) als virtuelle Maschinen zusätzlich auf seinen Rechener laden und sie gleichzeitig nutzen kann.
Es gibt jetzt eine neue Version (Beta) der Workstation von vmware. Diese kostet normalerweise viel Geld, kann aber jetzt, für wie lange weiß ich nicht, kostenlos getestet werden.

Die Neuerungen finden sich hier, der Link zum Download ebenfalls:

http://www.vmware.com/products/beta/ws/

Grüße,
Udo


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 18. April 2007, 16:04:17 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

habe mich heute bei ESO wegen Midas umgesehen. Es gibt wohl eine neue Version 07Feb.

Interessant ist ein ISO-image (komplette startbare CD als Datei) von Serge Montagnac die man von der ESO Midas/Seite downloaden kann. Wenn man sie brennt, hat man ein bootfaehiges Linux bei den schon fast alle verfuegbare Spektro-Software instaliert ist. Hierzu zaehlen neben Midas auch Iriis und Spiris, die es offensichtlich auch fuer Linux gibt (???).

Ich habe dann gleich mal OPA installiert und es lief auf Anhieb! bis zum Befehl hlin/opa. Da ging was nicht. Vermutlich mein Problem. Zeigen kann ich das Spektrum nicht, da ich nach Abbruch von OPA nicht weiss, wie man aus dem BDF-File ein FITS ... GIF macht.

Dieser Beitrag wurde auch unter dem oben beschriebenen System erstellt. Internet war auch auf Anhieb konfiguriert, ftp ging, USB-Sticks werden unterstuetzt.

Was ein bischen nervt ist die englische Tastaturbelegung. Ich weiss nicht mehr wie man das auf deutsch umschaltet.

Man koennte, wenn man wollte, alles auch unter Vmware als virtuelle Maschine unter Windows starten, so wie ich Linux auf meinem Notebook benutze.

Wer es ausprobiert und Probleme hat kann mich fragen, vielleicht kann ich helfen.

Viele Gruesse,
Udo


Nach oben
   
 Betreff des Beitrags: Der Kurs
BeitragVerfasst: 18. April 2007, 17:00:17 PM 
Offline
Meister
Benutzeravatar

Registriert: 19. August 2006, 11:45:20 AM
Beiträge: 2736
Wohnort: 66907 Glan-Münchweiler
Hm, für mich sehr interessant, nur habe ich den download nicht entdeckt......kannst Du bitte helfen?
Zitat:
Was ein bischen nervt ist die englische Tastaturbelegung. Ich weiss nicht mehr wie man das auf deutsch umschaltet.
für Otmar oder Günter ein klax, ich weiß es leider auch nicht.
Grüße
Berthold


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 18. April 2007, 17:24:26 PM 
Offline
Meister
Benutzeravatar

Registriert: 01. August 2006, 16:08:56 PM
Beiträge: 3840
Wohnort: 26725 Emden
Hallo Udo,

wie man die Tastatur in SUSELinux umschaltet (mit Yast) weiss ich. Ansonsten müsste es aber auch mit SAX2 gehen ???

Interessante Sache mit der CD. Werde ich vielleicht auch mal ausprobieren.

Gruss
Lothar


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 18. April 2007, 21:15:19 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

Bertold, hier ist der Link:

http://www.eso.org/~kbanse/Astro-Linux/

Lothar, eine Yast gibt es da nicht. Ist ein Debian -- Knopix basiertes System.
Das mit der Tastatur ist für mich nicht schlimm, da ich hinter dem Ohr einen internen Schalter habe, der auf englische Tastatur umschaltet. Ich wollte es nur vorweg erwähnen.

Grüße,
Udo


Nach oben
   
 Betreff des Beitrags: Der Kurs
BeitragVerfasst: 19. April 2007, 08:58:11 AM 
Offline
Meister
Benutzeravatar

Registriert: 19. August 2006, 11:45:20 AM
Beiträge: 2736
Wohnort: 66907 Glan-Münchweiler
Zitat:
Bertold, hier ist der Link:
Danke!

Grüße
Berthold


Nach oben
   
 Betreff des Beitrags: Der Kurs
BeitragVerfasst: 20. April 2007, 10:14:47 AM 
Offline
Meister
Benutzeravatar

Registriert: 19. August 2006, 11:45:20 AM
Beiträge: 2736
Wohnort: 66907 Glan-Münchweiler
Hallo Udo,

ich habe jetzt die astrolinux.......iso datei zu etwa 500Mb runtergeladen.....und was muß ich jetzt bitte machen?

Berthold


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 20. April 2007, 10:51:22 AM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo Berthold,

so eine ISO-Datei ist quasi eine fertige CDROM, ein image (disk-image), wie es die meisten Brennprogramme nennen. Man brennt es z.B. mit "Nero" auf eine CD, die dann gestartet werden kann (Linux). Viel astronomische Software ist da dann auch schon drauf.

Die eigenen Daten bekommst Du übers Netz, einen USB-Stick oder über eine CDROM in das System. Bevor Du es ausschaltest, must Du aber alle Ergebnisse wieder auf einem realen Medium (siehe Aufzählung) sichern, sonst ist es wech.

Viele Grüße,
Udo


Nach oben
   
 Betreff des Beitrags: Der Kurs
BeitragVerfasst: 20. April 2007, 13:15:59 PM 
Offline
Meister
Benutzeravatar

Registriert: 19. August 2006, 11:45:20 AM
Beiträge: 2736
Wohnort: 66907 Glan-Münchweiler
Udo, ich bedanke mich!

werde es versuchen!

viele Grüße
Berthold


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06. Mai 2009, 14:54:05 PM 
Offline
Meister
Benutzeravatar

Registriert: 11. August 2006, 15:09:09 PM
Beiträge: 501
Hallo,

wer weiß, wo euch der Weg bei der Auswertung eurer Spektren noch hinführt?

Vielleicht wird mancher ja doch noch mit dem Gedanken spielen es mal mit Midas oder Iraf zu probieren?

Man muß dazu natürlich ein Linux-Syschtäm benutzen...

hier gibt es dazu ganze Bücher zum download

http://www.galileocomputing.de/katalog/openbook

Gruß,
Udo


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06. Mai 2009, 21:33:13 PM 
Offline
Meister
Benutzeravatar

Registriert: 01. August 2006, 16:08:56 PM
Beiträge: 3840
Wohnort: 26725 Emden
Hi Udo,

Danke für den Link !

Lo

_________________
Herzliche Grüße / best regards

Lothar

https://lotharschanne.wordpress.com/


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 07. Mai 2009, 09:12:28 AM 
Offline
Meister

Registriert: 31. Juli 2006, 16:43:32 PM
Beiträge: 3466
Super, der Link, Udo. Habe ich in unserer Webseite unter "Links -> Verschiedenes" eingestellt (einen bessern Platz habe ich leider nicht gefunden).

Gruß, Thomas


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 46 Beiträge ] 

Alle Zeiten sind UTC+02:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de