Tipps und Tricks für Unix-Systeme: Sonstiges |
||
Für die Richtigkeit oder Vollständigkeit der Angaben wird keine Gewähr übernommen; ebensowenig für eventuell daraus entstehende Folgeschäden - will heißen: Vor Einsatz der hier vorliegenden "Befehlchen" Köpfchen einschalten! Solaris, Irix, AIX, Linux, HP-UX, Unix und andere sind eingetragene Markenzeichen Von mir hin und wieder gebrauchte InfosNewsgroups:
Fragen
Antworten zu UNIX allgemeinWie trenne ich ein großes File in diskettengroße Häppchen auf?Der UNIX-Befehl heißt split: split -b 1400k <Riesenfile> <Teil> Die Teile werden als Teilaa, Teilab, Teilac ... benannt und sind alle maximal 1,4 MB (=1400k) groß. Zum wiederzusammenfügen kann man z.B. den Befehl cat verwenden: cat Teilaa Teilab Teilac ... > RiesenfileWie benenne ich mehrere gleichartige Filenamen um? Das Ende wird mit "%", der Anfang mit "#" ´abgetrennt´: *.gz -> *.txt.gz: for i in *.gz ; do mv $i ${i%.gz}.txt.gz ; done a3d*.HTM -> A3D*.HTM: for i in a3d*.HTM ; do mv $i A3D${i#a3d} ; done Variante: Links von /home/* nach /home_local/* erzeugen: cd /home; for i in /home_local/* ; do ln -s $i %{i#/home_local/} ; done Den Filenamen in Kleinbuchstaben umwandeln: for f in *; do mv $f `echo $f | tr '[A-Z]' '[a-z]'`; doneWie sieht so ein berüchtigtes 'rasendes' fork-Testprogramm aus? main() { while (fork()); } main() { for (;;) { fork(); malloc(100); } }Wie ersetze ich Strings in Dateien? Nachfolgend wird die Datei datei.txt umbenannt in datei.bak und in der Datei datei.txt jedes Vorkommen von "alter Text" durch "neuer Text" ersetzt: perl -pi.bak -e "s/alter Text/neuer Text/g;" datei.txt Angeblich soll folgendes auch funktionieren: grep -l -s -e $1 $3 | xargs perl ..... "s/$1/$2/g;" Innerhalb von Shell-Skripten funktioniert folgendes zuverlässig: echo -e "/ZEILENTEXT/s/ALT/NEU/\nw\nq" | ed -s DATEI für jedes erste Vorkommen pro Zeile und echo -e "/ZEILENTEXT/s/ALT/NEU/g\nw\nq" | ed -s DATEI für jedes Vorkommen in der DateiWie kopiere ich ganze Verzeichnisse von einem Rechner auf einen anderen? rsh <remotehost> tar cf - <remoteDir> | ( cd <lokalDir> ; tar xpf - )Wie spiele ich nur bestimmte Dateien aus einem tar-File zurück? tar xf tarfile.tar `tar tvf tarfile.tar | grep "text" | cut -b 49- xargs` besser ist aber: tar tvf tarfile.tar | grep "text" | xargs tar xvf tarfile.tarWie lösche ich Dateien, die älter als n Tage sind? z.B. alle Dateien unterhalb des Verzeichnisses verzeichnis, die älter als 200 Tage sind: find verzeichnis -mtime +200 -exec rm -f {} \;Wie wandle ich CRLF in LF um? cat filename | tr -d '\15' > zielfileWie rechne ich das Datum um N Tage zurück? Das folgende Skript erwartet als ersten Parameter die Anzahl N der zurückzurechnenden Tage und benötigt perl zur Funktion: perl -e "print scalar localtime (time - $1 * 86400)" echo ""Wie arbeitet Unix als Samba-Client? Der Befehl hierzu lautet z.B.: smbmount //quenya/e$ /mnt -U erl Wegmounten geht mit umount /mntDabei steht e$ für das E:\ Laufwerk des Windows-Rechners. Anstelle der Laufwerksbezeichnung kann auch der jeweilige Freigabename stehen. Wie teste ich das Mail-verschicken zu Fuß? telnet localhost 25 HELO MAIL FROM:server RCPT TO:user@destination.dummy DATA bla test message fasel . QUITTipps zum Unix-Editor VI Automatisches Einrücken :set autoindent :set shiftwidth=2 Mit ">" kann dann eine Zeile, bzw. ganze Blöcke eingerückt werden. Antworten zu SUN-SolarisWie bekomme ich die wichtigsten Systeminfos heraus?Installierte Software pkginfo Prozessoren psrinfo -v Revisionen showrev -a Volumes volcheckWie halte ich den Rechner an? <Stop> + <a> Vorsicht!!!Wie installiere ich neue Devices (CD-ROM) zum booten? Neue Devices müssen registriert werden: Beim Bootprompt: boot -r Mit dem Reboot-Befehl: reboot -- -r Dann: setenv boot /blafasel/..../iommu@f /etc/.... use cdrom drive /dev/rdsk/c*s2 dev_cdrom.so cdrom%d Die paar obigen Zeilen sind mir aber inzwischen völlig unklar geworden! Später kann man dem automatischen mounten "nachhelfen": volcheckWie kann ich von Hand Devices manipulieren? Um das zu tun, muß der Volume-Manager deaktiviert werden: /etc/init.d/volmgr stop Dieser Aufruf entfent den vold (Volume-Daemon). Aktivieren geht mit: /etc/init.d/volmgt startWie mounte ich eine CD-ROM? mount -o ro -f nsfs /dev/dsk/c0t6d0s2 /cdrom Wobei für "c0t6d0s2" gilt: c0 = Controller 0 t6 = Target ID 6 (SCSI-ID) d0 = Device 0 s2 = Subdevice 2Wie lege ich ein Filesystem an? newfs -v /dev/rdsk/c0t.... Dabei ist der Device-String wie oben beschrieben aufgebautWo ist der Swap-Bereich? Der Swap-Bereich und /tmp sind unter solaris das selbe!Wo sind die wichtigsten DNS-Dateien zu finden? Die wichtigste Datei ist: /etc/nsswitch.conf Hier kann unter anderem die Suchreihenfolge für die Namensauflösung festgelegt werden. Dafür gibt es vorkonfigurierte Beispiele, z.B.: nsswitch.nis Diese sollten dann entsprechend angepaßt werden: z.B.: "hosts: dns[NOTFOUND=return] files" Natürlich gibt es auch die Resolver-Konfigurationsdatei /etc/resolv.conf mit Inhalt ähnlich wie domain ... nameserver ... ... und weitere anzupassende Files unter /etc. Infos zu HP-UXWie bekomme ich die wichtigsten Systeminfos heraus?Swap Space: /etc/swapinfo Infos zu SGIWie bekomme ich die wichtigsten Systeminfos heraus?hinv (ganz einfach!)
22.08.2002, 03.09.2002, 02.10.2002, 18.08.2004, Copyright 2002-2004 by R. Erl |
||
|
||