Ich muss immer wieder feststellen, wie extrem nützlich awk ist, wenn es darum geht aus den (Report,etc)Dateien etwas zu extrahieren. Das was mich besticht, ist seine Schlichheit und doch eine Vielseitigkeit. Mit sed dagegen komme ich nicht so gut zu recht. zB mal die Zeilennummern hinzufügen cat setup.sh | awk 'BEGIN{line=0}line++{print line, $0}' oder in einer disassemblierten Datei eine Routine ausschneiden objdump -d main | awk '/<atexit>:/,/^$/{print}' oder aus einer Zeile eine Spalte herausschneiden, um diesen Wert weiterzuverwenden lsof -p $(ps -e | awk '/mp3blaster/{print $1}') lsof steht für list_open_files des Processes mit der pid -p XXX Die Syntax von awk hat vor allem wenige einfache Konstrukte. Welche Tools findet ihr hilfreich?
Ich bin zu diesen Programmen über die Binutils gekommen, die bei WinAVR mitinstalliert werden, und die ich mittlwerweile auch an meinen anderen Windows-Rechnern installiere. Nützlich finde ich dabei: - grep (immer nützlich) - sed (klar, etwas kryptisch, aber reguläre Ausdrücke können auch viele andere Programmiersprachen) - tail - wget
wget nutze ich auch unter cygwin, besonders wenn aus unerklärlichen Gründen das Öffnen eines pdf Dokuments im Browser(Firefox) den ganzen Browser lahmlegt und der Downloadbalken hängt. Wenn ich das Dokument haben will, ist es mit wget schnell erledigt. find finde ich auch sehr Vielseitig und dennoch einfach in Bedienung. Hab das zusammen mit grep untern anderem dazu benutzt in den header files nach typedef Deklatationen zu suchen. Falls man wissen will woher eine Deklaration kommt.
@daniel: schau dir mal pdfdownload an. Mich stört der hänger bei pdfs auch. Damit kannst auswählen, das ne pdf direkt geöffnet wird.
Ich weiss zwar nicht, ob´s dazu passt, aber Docklight für die RS232 find ich ganz gut....
Oder nimm den Foxit Reader, der nistet sich nicht zwangsläufig im Browser ein, da bleibt nix hängen. Word verewigt sich auch im Internet Explorer. Das ist das Schlimmste, was es gibt.
> Das tool zum kompilieren:
make (egal welches) kann nicht kompilieren, nur Abhängigkeiten
auflösen/abarbeiten...
1 | apt-get moo |
Ansonsten mag ich diese atheistischen Tools:
1 | haku@haku-laptop[~] $ ar r god |
2 | ar: creating god |
3 | haku@haku-laptop[~] $ |
$ opener < bottle bottle: cannot open opener: not found Alt aber immer wieder lustig ;-)
> Welche Tools findet ihr hilfreich?
init
btw: Warum überhaupt *nix? Mir fällt auf die Schnelle kein aktuelles OS
ein, für das der * durch etwas anderes als ein U zu ersetzen wäre, warum
also das U nicht gleich hinschreiben?. Klar, früher konnte der * auch
für Xe, Si, Mu usw. stehen, aber diese Zeiten sind sind längst vorbei.
> btw: Warum überhaupt *nix?
Okay, aber
1 | ?.n.x |
sieht doch echt unverständlich aus... ;-)
> btw: Warum überhaupt *nix?
ich wollte es nicht nur auf Li nux begrenzen
Für mich verstehe ich *nix als die grosse Familie der Unix Nachkommen ;)
Heute musste ich feststellen wieviel Speicher Dateien eines bestimmten Typs einnehmen. find -iname "*.cpp" -exec stat {} \; | awk 'BEGIN{sum=0}/Size/{sum+=$2}END{print "total=", sum, "bytes"}' oder eine Variante bei der man auch Codezeilen zählen kann find -iname "*.cpp" -exec wc {} \; | awk 'BEGIN{sum=0}{sum+=$1}END{print "total=", sum, "lines"}' coole Sache^^
Zumindest auf Linux: netstat -tulpen zeigt alle aktuell laufenden Daemons an, die irgendwie von außen erreichbar sind. Eventuell muß man noch checken, ob nicht vielleicht eine Firewall aktiv ist. (iptables -L -nv). Dann ist netcat / nc (je nach Distribution) noch ein supercooles Werkzeug zur Netzwerkdiagnose. Damit kann man Server und Clients emulieren und prüfen, welche Daten übers Netz rüberkommen. Dann ist noch "strace -p <PID>" interessant, um den Programmen zuzuhören, wie sie sich mit dem Kernel unterhalten. Damit kann man ganz gut nachvollziehen, ob eine Applikation noch was tut. Grüße Markus DL8RDS
opener < bottle geht ned!! Ich würd sagen, das geht schon lang nicht mehr... Eigentlich schade :-) Markus DL8RDS
> Dann ist netcat / nc (je nach Distribution) noch ein supercooles > Werkzeug zur Netzwerkdiagnose. Das ist ja auch das TCP/IP-Swiss-Army-Knife :) Nicht supercool, sondern ubercool ist übrigens socat, mit dem man so ziemlich zwischen allen denkbaren Quellen und Senken von Datenströmen hin- und hercatten kann. > opener < bottle geht ned!! > Ich würd sagen, das geht schon lang nicht mehr... Eigentlich schade :-) Das ging wohl in der Bourne-Shell. Auf Linux-Systemen wird heute meist die Bash (Bourne-Again-Shell) eingesetzt, die zwar weitgehend abwärtskompatibel ist, aber wohl nicht bei den Fehlermeldungen. Für die, die's amüsiert: Hier sind noch ein paar Beispiele aus der Vergangenheit, leider auch nur für Bourne und csh: http://www.gnu.org/fun/jokes/unix.errors.html Zurück zum Thema: Hier ist noch ein weiteres wichtiges Tool für die Liste: file Es bestimmt des Typ einer Datei, dabei ist die Anzahl der erkannten Dateitypen schlichtweg riesig.
...und die Dateiendung scheißegal :-) Das erleichtert einem das Erkennen von versteckten Windows-Programmen und Viren ungemein.
Hi perl, grep, sed, .*sh @Heinz c't gelesen? Matthias
@Heinz
> _(){ _|_& };_
Hab leider grad kein *nix zur Hand. Was bewirkt der'Befehl' ?
_(){ _ | _& }; _ Er definiert eine Funktion namens _ die sich selbst Aufruft und ihre Ausgabe an eine Kopie von sich selbst weiterleitet. Diese Kopie läuft durch das & als eingenständiger Prozess und das Spiel beginnt von vorne. Bei jedem Durchlauf wird ein neuer Prozess gestartet was sehr schnell zum Überlauf der Prozesstabelle führt. Es können dann also keine neuen Programme mehr gestartet, und die Maschine ist praktisch nicht mehr benutzbar. pam_limits mit den richtigen Einstellungen in /etc/security/limits.conf verhindert das sehr wirkungsvoll.
Hey, coole Sache das! :D sowas kannte ich nicht. Ich sollte mich wirklich mehr mit Unix befassen. Eigentlich toll, was man da alles mit der Konsole machen kann ;-) Dass sogar solch coole Absturz-Programme machbar sind, wusste ich aber nicht.
@Tobias Plüss: Ja, solltest du. Unter Windows sollten derartige "Tricks" aber auch möglich sein. z.b. in einer Schleife explorer.exe aufrufen oder so... Und zur Frage des Ursprungsposts: - pwgen - cfagent - screen - rsync
@Tim naja, unter Windows kann man nicht ganz so coole Sachen machen :-( Mir ist jedenfalls nichts wirklich bekannt. Ich benutz da auch nur selten die Konsole, die bringts unter Windows wirklich nicht, sie bietet keine anderen oder bequemeren Features als die GUI. Und, Asche über mein Haupt: auch unter Unix mache ich nicht ALLES in der Konsole. ;-)
locate kombiniert mit grep ist richtig schnell beim aufspüren von Dateien.
da bei mir über die enviroment Variable PATH einige Programme in unterschiedlichen Versionen vorliegen (Paradebeispiel gcc) ist es ganz nützlich zu wissen welches Programm genau aufgerufen wird. (wo es im Filesystem liegt) dazu ist which da which gcc /pool/installed_gcc/gcc-4.2.0/bin/gcc das coolste ist aber, wenn man mal vergisst wo im Filesystem überall die "übrigen" liegen, kann man sie sich anzeigen lassen
1 | which -a gcc |
2 | /pool/installed_gcc/gcc-4.2.0/bin/gcc |
3 | /pool/disk_hdc6/installed/gcc/gcc-4.2.2/bin/gcc |
4 | /pool/disk_hdc6/installed/gcc/gcc-3.4.6/bin/gcc |
5 | /usr/local/bin/gcc |
6 | /usr/bin/gcc |
viel Spass mit neuem tool ;)
kurzfassung: bash + binutils + ein paar andere tools (eigentlich alle schon genannt) + ethereal/wireshark (auch wenns das auch für windows gibt)
@daniel:
> dazu ist which da
Nur zur Info: Benutzt du die Bash, ist type meist die bessere
Alternative zu which, da type auch Aliase und Shell-Funktionen
berücksichtigt. Auch hier gibt es die Option -a mit ähnlicher Semantik
wie bei which.
Beispiel:
1 | $ type -a ls |
2 | ls is aliased to `ls -FH --color=auto' |
3 | ls is /bin/ls |
@Heinz
> _(){ _|_& };_
Nennt man übrigens Fork-Bombe :-)
> > _(){ _|_& };_ > > Nennt man übrigens Fork-Bombe :-) ... und funktioniert dank Cygwin/MSYS/etc. auch unter Windows :)
>Welche Tools findet ihr hilfreich?
-Webmin
-Nagios
krusader (X-windows MC Clone) putty (serial comm , like miniterm) rapidsvn codeblocks (Programming suite) rsync gkrellm (load monitor) wireshark thunderbird firefox pidgin (msn messenger) /Bingo
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.