You are here

AIX Commands

Kommando, Optionen

Was hat man davon?

bootinfo -y

Nur als root ausführbar: sagt, welchen Kernel die Maschine maximal haben könnte

bootinfo -K

Nur als root ausführbar: sagt, was für einen Kernel die Maschine augenblicklich hat

bootinfo -r

Nur als root ausführbar: Zeigt Systemmemory in kb an

bootinfo -p

Zeigt Plattformtyp, z.B. chrp

bootinfo -z

Gibt 0 zurück, falls Uniprozessormasche, 1, falls SMP-Modell

bootinfo -e

Gibt 1 aus, wenn über Tape bootbar, andernfalls 0

lsattr -El sys0

Zeigt Systemeigenschaften an, u.a. physikalischen Memory, Model, Typ ..., maxuproc

lsattr -El mem0

Zeigt Memory an

lsattr -El proc0

Zeigt Prozessortyp an

lsattr -El hdisk0

Zeigt Geräteeigenschaften an, hier von erster Platte

lsdev -Cc processor

Anzahl der cpu `s in der Maschine

lsdev -C|grep ent0

Sucht nur nach dem entsprechenden Device (hier: Netzwerkkarte)

lsdev -Cl hdisk#

Zeigt Gerätebezeichnung, -Status und -Location (z.B. scsi-id oder Enclosure bei ssa-dev) an

lsdev -Cl hdisk0 -F ‘name’ ‘status’‘chgstatus’

Gezielte Ausgabe von bestimmten Parametern von lsdev

lscfg -vp

Zeigt Liste mit installierten Geräten an

lscfg -vp | grep -p alterable

Zeigt speziell Mircrocode, ROM, Serviceprozessormicrocode usw. an

lscfg -vpl hdisk0

Zeigt Details zum einzelnen Gerät an (-l Geraetename)

env

Zeigt aktuelles Environment, unter CSH empfehlenswerter

set

Zeigt ebenfalls aktuelles Environment, unter KSH empfehlenswerter

oslevel

Zeigt Level des Betriebssystems, z.B. 4.3.3.0 an

uptime

Zeigt aktuelle Zeit, Zeit seit letztem Reboot, Anzahl angemeldete User und durchschnittl. Systemauslastung an

uname -a

Zeigt unter anderem den Hostnamen und die Hostid. Die hostid ist wichtig für Lizensierungsfragen und aenderbar über uname

lscfg -vp | grep Cabinet

Zeigt Seriennummer der Maschine an

lslpp -i

Zeigt alle installierten Pakete an

lslpp -L

Zeigt alle installierten Pakete mit ausführlichen Infos an

instfix -i

Zeigt alle installierten Fixes (u.a. die MaintenanceLevels) an

instfix -i |grep ML

Zeigt die Mainenance Levels, die installiert sind

lsdev -P -H

Alle unterstützten Geräte auflisten mit Headline (-H)

lsdev -P -c tape

alle unterstützten Geräte der Classe (-c) tape

lsdev -C

Alle konfigurierten Geräte

lsdev -Cc disk

Alle konfigurierten Geräte der Klasse (-c) disk

lsdev -Cs scsi

Alle konfigurierten Geräte der Subklasse (-s) scsi

lsdev -Cc <disk> -F’name parent connwhere’

Zuordnung “Platte - Adapter”

lsdev -Cc adapter

Zeigt alle Adapter

lsdev -Cc container

Zeigt nur die Enclosure-Informationen

lscfg

Übersicht über alle Devices in Maschine (nur real vorhandene Devices, keine pseudo ...))

lscfg -vl <devicename>

Detaillierte Übersicht über ein spezielles Device

lsattr -El <device>

Zeigt Attribute eines Devices. Kann für pseudo und reale Devices verwendet werden

lsparent -Cl hdisk0

Zeigt alle konfigurierten, für das Device möglichen Parentdevices

cfgmgr -v

Ruft Konfigmanager (-v geschwätzig) auf, der wiederum Geräte konfiguriert

cfgmgr -S

Konfigmanager arbeitet sequenziell, so da_ speziell bei HACMP auf beiden (identischen) Maschinen eindeutige Adpateradressen (incl. Major-Number) vorliegen

cfgmgr -i /dev/cd0

Cfgmgr installiert gezielt fehlende Geräteunterstützung für Gerät /dev/cd0 nach.

rmdev -l cd0

Zwingt ein Gerät (hier: cd0) in den Zustand “definiert”. Der Gerätetreiber ist danach nicht mehr geladen

rmdev -l cd0 -d

Löescht ein Gerät (hier: cd0) KOMPLETT aus der Geräte-Konfigurationsdatenbank

chdev -l <devicename> ...

Eigenschaften von Devices ändern

chdev -l scsi0 -a id=5 -P

Option -P nur in ODM geändert. änderung wird erst nach Restart wirksam

mkdev

smitty tty

Terminals auflisten, anlegen, ändern und lvschen

stty -a

Zeigt alle Einstellungen des aktuell verwendeten Terminals

lqueryvg -Actp hdisk1

VGDA der VG auslesen, zu der hdisk1 gehvrt.

getlvcb -AT hd2

Logical Volume Control Block (LVCB) von hd2 auslesen

updatelv lv01 datavg

Datet LVCB von lv01 in vg datavg up. (Reperatur korrupter LVCBAdmin 2 Seite 4-25)

Unterpunkt: SSA-und SCSI Kommandos

cfgmgr -vl ssar

Sucht nur nach neuen SSA-Platten

cfgmgr -vl scsi2

Sucht nur nach neuen SCSI-Platten am Controller scsi2

smitty chgscsi

Ruft direkt SCSI-Menu auf

lsdev -C |grep SSA

Zeigt alle pdisks, Adapter (ssa0, 1 usw.) und Enclosures (enclosure0, 1 usw) und tmssar (Target Mode, falls aktiviert)

ssaxlate -l hdisk1

Zeigt alle zu hdisk1 gehvrenden pdisks (geht auch umgekehrt pdisk → hdisk)

lscfg -vl ssa0

Zeigt Infos zu ssa-Adapter, hier ssa0

 

ssaadap -l pdisk100

Zeigt alle SSA-Adapter, mit denen pdisk100 verbunden ist. Geht auch umgekehrt mit hdisk

ssadisk -a ssa0 -P

Zeigt alle Pdisks, die an ssa0 hdngen

ssadisk -a ssa0 -L

Zeigt alle hdisks, die an ssa0 hdngen

ssaidentify -l pdisk100 -y bzw. -n

Schaltet das Blinken an pdisk100 an (-y) bzw. aus (-n)

smitty ssaraid

Kommt in Smitty-Menü zur Raidkonfiguration unter SSA

ssaraid -M

Zeigt alle SSA-Raidadapter des Systems

smitty ibmscraid bzw. smitty diskarray

Kommt in Smitty-Menü zur Raidkonfiguration unter SCSI-Raidcontroller

lsdev -Cc pdisk|while read kuno egon ; do echo “$kuno → $(ssaxlate -l $kuno)” done

Listet alle pdisks auf mit den dazugehvrigen hdisks

lsdev -Cl $(ssaxlate -l hdisk$i) ;done

Zeigt alle pdisks, die einer hdisk zugeordnet sind

errpt -t |grep -i ssa

Zeigt nur die ssa-Errors an

lscfg -vp |grep pdisk34

Zeigt Hardwareinfos zu pdisk34 an

lsattr -El pdisk34

Zeigt Infos aus CuAt (also Eigenschaften von pdisk34)

 

Beim Booten und Shutdown

init

0

Shutdown-Systemzustand

1

System Administrator Mode (Single User, wenige running Processes)

2

Multi-User-Mode (Normalzustand)

3

Extended Multi-User-Mode (Multiuser mit Netzwerk)

4

Benutzerdefinierter Systemzustand

5

System anhalten und ausschalten (Powerdown)

6

Reboot

s oder S

Einbenutzer Systemzustand (nur die unbedingt nvtigen Dateisysteme werden gemountet)

bootlist -m normal -o

Dienst dem Abfragen der Bootliste (hier: Normalmodus, alternativ: service)

bootlist - m normal cd0 hdisk0

Setzt die Bootliste in der entspr. Reihenfolge

bootlist -m service -o

Servicebootliste abfragen

alog

Dient dem Anschauen von Bootmeldungen

telinit q

Wird verwendet, um Inittab-Datei erneut einzulesen

telinit s

Wechsel in Mainenance Mode

chitab

Bestehenden Eintrag in inittab ändern

mkitab

Neuen Eintrag zu Inittab hinzufügen

rmitab

Eintrag aus Inittab lvschen

lsitab <zeichenfolge>

Nach bestimmtem Eintrag in inittab suchen

bosboot -ad /dev/hdisk1

Falls rootvg auf hdisk1 gespiegelt wurde, bosboot nicht vergessen, um bootlv mitzuspiegeln

Shutdown

shutdown -rF

Reboot ohne Wartezeit und Warung an User

shutdown -m

System im Maintenance-Modus booten

halt

Systemhalt (wie normaler Shutdown)

reboot

Shutdown und Reboot (init 6)

 

 

System Resource Controller

 

lssrc -g tcpip

Listet auf (hier Gruppe von Anwendungen: tcpip)

lssrc -a

Zeigt alle Gruppen und Subsysteme

lssrc -ls <subsystem>

Zeigt alle Subserver an, die ein bestimmtes Subsystem beinhaltet.

lssrc ls inetd

Zeigt alle Subserverdes Subsystems inetd an

startsrc -s qdaemon

Startet (hier: Subsystem: qdaemon)

refresh -s inetd

Aktualisiert (hier: Subsystem inetd)

stopsrc -t ftp

Stoppt ( hier Subserver: ftp)

lssrc -lt ftp

Status, ob Subserver aktiv oder nicht aktiv

 

Volumegroup und LV - Verwaltung

 

Volumegroups

reducevg rootvg hdisk1

Verkleinert die vg rootvg um die hdisk1

extendvg (-f) rootvg hdisk1

Erweitert die Rootvg um die physical Disk hdisk1 (forced, auch wenn Teil einer anderen VG)

chvg #vg

Eigenschaften für eine VG ändern

chvg -Qn rootvg

Quorum für rootvg ausschalten

varyoffvg <vgname>

deaktivieren einer VG

varyonvg <vgname>

aktivieren einer VG

varyonvg -f <vgname>

Forced varyon

varyonvg

Normal: vg aktivieren. varyonvg -u -B :vg lesend freigeben, so da_ andere Systeme die Laufwerksdefinitionen laden kvnnen

mkvg

Neue VG erstellen

lsvg

Zeigt alle vgs an

lsvg -o

Zeigt nur alle aktiven (varyonvg!) Vgs an

lsvg rootvg

Zeigt detaillierte Infos zur rootvg

lsvg -p rootvg

Zeigt alle Platten an, die zur rootvg gehvren

lsvg -l rootvg

Zeigt alle logical Volumes der rootvg an

mirrorvg -s rootvg

Spiegelt ganze VG (entspr. -c 2), erspart mklvcopy für jedes lv, wichtig: hinterher syncen

mirrorvg -c 3 rootvg

Erzeugt insgesamt 3 Kopien der rootvg. Setzt drei PVs voraus.

mirrorvg rootvg

Spiegelt ganze VG (entspr. -c 2) und macht hinterher einen sync

mirrorvg rootvg hdisk4

Spiegelt ganze VG (entspr. -c 2) gezielt auf hdisk4 und macht hinterher einen sync

unmirrorvg -c 2 datavg hdisk7

Entfernt einen Spiegel von hdisk7 und ld_t 2 Kopien zurück

unmirrorvg datavg

Entfernt einen Spiegel

unmirrorvg datavg hdisk7

Entfernt Spiegel von hdisk7

reorgvg <vg> <lv>

Dient zur Reorganisation einer VG, z.B. nachdem mit dem chlv-Kommando gearbeitet wurde

syncvg

Manuelle Synchronisation einer vg, z.B. bei Vorlage von Stale Partitions

syncvg -p hdisk1 hdisk2

Synchronisiert die Kopien auf hdisk1 und hdisk2 miteinander

syncvg -v datavg

Synchronisiert alle Kopien in der datavg

exportvg datavg

Lvscht die VG datavg aus dem System (aus der ODM). Die Platten betrifft dies nicht. Um sie zu lvschen, mu_ noch ein rmdev -dl hdiskx gemacht werden. Die vg mu_ für den exportvg befehl im Zustand varyoff sein

importvg hdiskx

Macht (von anderer Seite) exportierte Vg dem System gegenüber bekannt incl. Ihrer Laufwerksdefinitionen

importvg -L hdiskx

Importiert nur die VG-Infos in die ODM. VG mu_ vorher mittels varyonvg -u -B lesend bzw. mittels exportvg komplett freigegeben werden

importvg -y egon hdiskx

Macht die VG von hdiskx unter dem Namen egon bekannt

importvg -V <majornumer> -y egon hdiskx

Importiert VG von hdiskx und vergibt ihr eine selbstgewdhlte Majornumber und einen eigenen Namen (egon)

smitty savevg

savevg -i -f /dev/rmt0 datavg

Sichert komplette datavg nach /dev/rmt0, ohne da_ vorher ein mkvgdata gemacht werden mu_te

mkvgdata datavg

Erstellt ein File /tmp/vgdata/datavg/datavg.data # File ldsst sich editieren, um zB. die Anzahl der lps zu modifizieren (wird beim Restore entspr. eingespielt)

savevg -f /dev/rmt0 datavg

wenn vorher mkvgdata eingesetzt wurde

savevg -f /tmp/datavg.img datavg

Erstellt Backup in Form einer Datei, setzt vorhetr gemachtes mkvgdata voraus.

restvg -q /tmp/datavg.img

Restoret vorher mit savevg erstellte Sicherung unter Zugrundelegung der editierbaren Infos aus /tmp/vgdata/vgname/vgname.data

smitty restvg

Mit savevg gesicherte vg restoren. Restort vg so, wie vorher in /tmp/vgdata/vgname/vgname.data spezifiziert wurde

lvlstmajor

Gibt die ndchste freie Majornummer aus

Logical Volumes

 

lslv hd4

Zeigt allgemeine Informationen zu Logical volume hd4

lslv -l hd4

Zeigt \bersicht über zugrundeliegende Platten und die Verteilung des LVs darauf

lslv -m hd4

Zeigt, welche logischen Partitionen welchen physical Partitions zugeordnet sind (so kann man rausfinden, ob Spiegel bestehen

rmlv (oder smitty rmlv)

Lvschen eines logical Volumes

mklv (smitty mklv)

Anlegen eines logical Volumes

extendlv (smitty extendlv)

Erweitern eines logical Volumes

extendlv extendlv -m MappingFile 3

Erweitern eines logical Volumes über ein Mapping-File um 3 PP

extendlv -m /tmp/mapfile lvhomespa 1

Beispiel: Erweitern des LV lvhomespa über ein Mapping-File um 1 PP

chlv

Zum Verändern eines logical Volumes im laufenden Betrieb (anschl.: reorgvg!)

mklvcopy

Ist grundsätzlich schneller als migratepv, synchronisiert am Schlu_ einmal. Migratepv schreibt pp-weise, synct zwischendurch

mklvcopy (smitty mklvcopy)

Nachtrdgliches Hinzufügen einer Spiegelung zu einem LV

mklvcopy lv01 2 hdisk7

Kopie von lv01 auf hdisk7 hinzufügen

rmlvcopy (smitty rmlvcopy)

Entfernen einer Spiegelung eines LVs

Physical Volumes

lspv

Zeigt alle Platten und deren Zuordnung zu Volumegroups

lspv |grep rootvg

Zeigt nur die Platten der rootvg

lspv hdisk1

Zeigt detailliertere Infos zu Systemplatte hdisk1

lspv -p hdisk1

Zeigt an, wie die LVs auf der Platte angeordnet sind

chdev -l hdisk20 -a pv=yes

hdisk20 manuell eine PVID-Zuweisen

chpv -va hdisk1

hdisk im Status removed “brutal” in Status aktiv setzen, wenn varyonvg-Kommando nicht mehr hilft.

chpv -vr hdisk1

Gegenteil: Zwingt hdisk1 in den Status “removed”. Funktioniert nur, wenn alle lvs auf der Platte im Status “closed” stehen”

chpv -c hdisk1

Lvscht Bootstrap-Code (Bootsektor) der Platte. Wichtig, um nach einem unmirrorvg der rootvg

migratepv hdisk1 hdisk2

Verschiebt alle lvs von hdisk1 nach hdisk2

migratepv hdisk1 hdisk2 hdisk3

Verschiebt alle lvs von hdisk1 sowohl nach hdisk2 als auch nach hdisk3

migratepv -l lv01 hdisk2

Verschiebt nur lv01 nach hdisk2

Dateisysteme

 

lsfs (smitty lsfs)

Listet alle Dateisysteme auf, auch die ungenutzten

lsfs -q <dateisystem>

Listet ausführliche Infos dieses Dateisystems, z.B. /home, auf

mount (smitty mount)

Zeigt nur die zur Zeit gemounteten Dateisysteme

mount /dev lv02 /mnt

Mountet einen logischen Datentrdger (hier nach /mnt)

mount /cdromfs

Hier wird das Dateisystem mit dem Default-Mountpoint genau so gemountet

umount /dev/cd0

Unmountet ein Dateisystem

umount all

Umountet alle Dateisysteme au_er den OS-System-relevanten (also Fs aus der rootvg)

df -k

Zeigt die gemounteten Dateisysteme mit Plattenbelegung und Inode-Infos (Auslastung vvon Dateisystemen)

du -ak <Verzeichnis>

Zeigt die Plattenbelegung eines bestimmten Verzeichnisses detailliert (Dateiebene) an.

du -ak <Verzeichnis> | sort -n

Platzverbrauch des Verzeichnises auf Dateiebene, sortiert aufsteigend nach Groesse

du -s <verzeichnis> (du -skh)

Zeigt den Gesamtplatzverbrauch eines Verzeichnisses

du -sk ./*

Zeigt den Gesamtplatzverbrauch eines Verzeichnisses in Kbyte, sortiert aufsteigend nach Groesse

fuser -u <verzeichnis> ( /dev/lv# )

Zeigt welche Benutzer(username) und Prozesse(procesID) ein Dateisystem im Zugriff haben

fuser -kxuc /home

Killt alle Prozesse, die auf /home zugreifen

Allgemein: smitty crfs

Dateisystem hinzufügen

Fall1: smitty crjfs

Dateisystem und logischen Datentrdger in einem hinzufügen

Fall2: smitty crjfslv

Wenn bereits logischer Datentrdger für das Dateisystem angelegt ist

chfs (smitty chfs)

ändern eines Dateisystems (im laufenden Betrieb)

chfs -a size=+200000 /usr

Vergrv_ert /usr um 100 MB (200000 512 k-Blvcke)

rmfs <verzeichnis>

Lvschen eines Dateisystems (mu_ vorher mit umount abgehdngt werden). Mountpoint bleibt bestehen

rmfs -r <Verzeichnis>

Lvschen des Verzeichnisses und des Mountpoints

dumpfs /dev/hd4 |pg

Liest Superblock-Infos eines Dateisystems aus, hier dev/hd4

istat <I-Node-Nummer> /lv

Zeigt detaillierte Infos zum I-Knoten

smitty cdrfs

Einrichten eines CD-ROM-FS, damit cdrom mountbar wird

df -k |sort +3n |tail -3

Zeigt die drei Volumes, deren prozentuale Belegung am grv_ten ist

logform /dev/hd8

JFSlog der rootvg neu initialisieren, danach fsck auf alle Dateisysteme, die mit diesem jfslog arbeiten

fsck <dateisystem>

Prüft und repariert inkonsistente Dateisysteme

Paging

 

lsps -a

Zeigt den gesamten Paging Space

smitty pgsp

Pagingspace administrieren

smitty mkps

Direktaufruf zum Anlegen von neuem Pagingspace

rmps pagingxx

Lvschen von Paging Space

swapon /dev/paging(nn)

Kommando zum dynamischen Aktivieren von inaktivem Paging Space, der bereits definiert ist

chps

Kommando zum dynamischen Aktivieren von inaktivem Paging Space, der bereits definiert ist

CPU-Intensität, Auslastung, Memory

 

ps -aux

Zeigt, welche Anwendungen besonders viel Speicher benvtigen

ps aux | tail +2 | sort -k 1.15,1.19nr

Prozessor-Auslastung ermitteln, sortiern nach CPU usage

ps -elf

Process-Priorität ermitteln

sar -u

Monitoring CPU usage

vmstat

Virtual memory statistics

iostat

statistics für tty, disks, cd-rom devices

mpstat -x -y

Protokolliert die Prozessoren alle x Sekunden insgesamt y-mal

Arbeiten mit Dateien und Verzeichnissen

 

sed ‘s/<STRG(gedrückt halten) v m>//g’ datei.alt > datei.neu

Ersetzt alle M s durch nichts und schreibt Output in Datei.neu

%s/stringalt/stringneu/g

Ersetzt im VI stringalt global durch stringneu

awk ’ { FS = “:” } { print $1,$5 } ’ /etc/passwd

Gibt Userid und User aus

cat /etc/passwd |cut -d: -f1,5

Hat gleichen Effekt

defragfs /tmp

Defragmentiert Dateisystem /tmp

defragfs -q /tmp

Gibt aktuellen Report über Fragmentierung des Dateisystems /tmp aus

del <dateiname>

Datei lvschen

rm <dateiname>

Datei lvschen

rm -rf

Ein Verzeichnis rekursiv lvschen, ohne nachzufragen

rm -Ri *M

Löscht alle Dateien/Verzeichnisse mit M am Ende (entsteht bei binary-Transfer von ASCII-Files)

mv <dateiname> <ziel>

Datei verschieben bzw. umbenennen

cp <dateiname> <ziel>

Datei kopieren

find . -name <dateiname> -print

Datei suchen und ausgeben

file <dateiname>

Gibt unter Zuhilfenahme der Identifizierungsdatei /etc/magic den Dateityp aus

cat

Gibt den Inhalt von Dateien komplett “am Stück” aus

pg

Gibt den Inhalt von Dateien seitenweise aus (Eingabemvglichkeiten nach jeder Seite)

more

Gibt den Inhalt von Dateien seitenweise aus (sehr mdchtiges Tool)

page

Gibt den Inhalt von Dateien seitenweise aus (wie more)

whereis (oder whence) <datei oder kommandoname>

The whereis/whence command locates the source, binary, and manuals sections for specified files.

cd <Verzeichnis>

Wechselt in <Verzeichnis>, wobei die Pfadangabe relativ oder absolut sein kann

cd oder cd ~

Wechselt ins Homeverzeichnis des aktuellen Users

cp -r * /ziel

Kopiert alles ab aktuellem PWD rekursiv nach /ziel

find / -perm 0750

Dient dem Finden von Dateien/Verzeichnissen mit diesen Berechtigungen

chown <user> <datei/verzeichnis>

ändert Eigentümer der Datei/Verzeichis

chgrp <gruppe> <datei/verzeichnis>

ändert Eigentümergruppe der Datei/Verzeichis

chmod optionen <datei/verzecihnis>

Zugriffsrechte auf Dateien/Verzeichnisse ändern

chown, chgrp, chmod -R <datei/verzeichnis>

ändert die Berchtigungen rekursiv, also in der Struktur abwdrts

find <verzeichnis> -mtime -2 |ls -la |sort -n -4 +5 |head -20

Findet alle Dateien, die innerhalb der letzen 48 h modifiziert wurden, und gibt die 20 grv_ten aus

find <verzeichnis> -mtime %1 | ls -la |sort -n -4 +5 | head -20

ls -ltr

Sortiert nach Datum

ls -la |tail +4 |wc -l oder ls -l |tail +2 |wc -l

Dateien im Verzeichnis zdhlen (tail beginnt z.B bei +2 bei der 2. Zeile der Ausgabe)

sort -rn +3| head -20

Umgekehrte numerische Sortierung. Als Kriterium wird das 4. Feld gewdhlt (die ersten drei werden übersprungen). Ausgabe der 20 grv_ten Werte

find . -type f -print | xargs -i grep -il “user” {}

sucht ab dem aktuellen Verzeichnis in allen Dateien und Unterverzeichnissen nach dem String “user”. Der Befehl gibt alle Dateien aus, die den String enthalten.

find . -print | backup -ivqpf /tmp/backup.file

Speichert alle Daten im aktuellen Ordner/Dateisystem im Backupfile /tmp/backup.file

find . -name “TRACEFILE*” -exec ls -l {} ; |more

Sucht im aktuellen Verzeichnis nach den angegebenen Verzeichnissen, macht ein Liste und pipet diese nach more

find . -type d -mtime +100 -print |cut -f 2 -d / |xargs -t -I {} mv {} ziel/

Listet alle Ordner auf, die vor mehr als 100 Tagen modifiziert wurde. Durch den cut-Befehl wird nur der reine Ordnername ohne ./Ordner ausgegeben. Im xargs wird das ganze einzeln an einen move-Befehl |bergeben

find /home \( -perm -004000 -o -perm -002000 \)

Zeigt alle Dateien unter /home mit SUID und SGID-BIT

find /home \( -perm -004000 -o -perm -002000 -a -user root \)

Zeigt alle Dateien unter /home mit SUID und SGID-BIT, die User root gehvren

find . -ctime +3 |grep nmon |xargs -t -I {} rm {}

Lvscht alle Dateien, die nmon enthalten und dlter als drei Tage sind.

find . -type f \( -ctime +15 \) -exec rm {} \;

Lvscht alle Dateien dlter als 15 Tage

restore - xdqvf /tmp/backup.file

restoret im aktuellen Verzeichnis die Daten aus dem Backupfile /tmp/backup.file

du -k |sort -n

Belegung der HD durch angegebenes Verzeichnis und Unterverzeichnisse in Kilobytes (-k) sortiert nach Grv_e

du -s /directory

Nur disk usage des aktuellen Verzeichnisses

du -a /directory

Zeigt Disk Usage jeder einzelnen Datei im Verzeichnis

dirname /home/t441101/smit.log

Liefert /home/t441101 (also nur den Verzeichnisnamen)

basename /home/t441101/smit.log

Liefert smit.log (also nur den Dateinamen)

cmp -s Datei1 datei2

Vergleicht Datei1 und Datei2 auf gleichartigkeit: 0=identisch, 1=unterschiedlich, 2=kein Zugriff mvglich

bdiff -n Datei1 datei2

Vergleicht Dateien und gibt alle Zeilen aus, die unterschiedlich sind N= irgendeine Zahl, um die Datei in Verarbeitungssegmente aufzusplitten

tail datei

Gibt die letzen 10 Zeilen der Datei aus

tail -+zahl datei

Gibt die letzten (-) oder ersten (+) <Zahl> Zeilen aus

grep ‘\.AH’ datei |tail -20

Zeigt die letzen 20 Zeilen, die .AH enthelten

grep MIN *

Sucht nach MIN in allen Dateien des aktuellen Ordners

wc -l bzw. -w bzw. -C datei

Zdhlt die Anzahl der Zeilen (-l) oder der Wvrter (-W) bzw. der Zeichen (-C)

view (identisch mit vi -R)

Datei wird mit VI im Nur-Lese-Modus gevffnet

tr 4string14 4string24 < datei

Ersetzt in Datei die Zeichen aus String 1 durch Zeichen aus String2

tr -d zeichen < datei > datei2

Lvscht “zeichen” aus Datei und schreibt die änderungen in datei2

pstat -i

Zeigt die gesamte I-Node-Table und die I-Node-Datenblockadressen

pstat -i datei

Zeigt Infos speziell zu dieser Datei

for i in * ; do rm $i ; done

(Viele) Dateien im aktuellen Ordner lvschen

ls |xargs -n 1 -I {} rm {}

(Viele) Dateien im aktuellen Ordner lvschen (ungetestet)

ls | xargs -t -I {} mv {} {}.old

Alle Dateien im Verzeichnis werden nach *.old umbenannt

ls | xargs -n6 | xargs -t -I {} mv {} {}.old

Nimmt nur die ersten 6 Dateien, sonst wie oben

head -10 <dateiname>

Gibt die ersten zehn Zeilen einer Textdatei aus

tail -10 <dateiname>

Gibt die letzten zehn Zeilen einer Textdatei aus

lsvg -l rootvg|tail -n +3

Gibt den Output erst ab Zeile 3 aus

sort -n -<spaltennr> -o <dateiname> <dateiname>

Sortiert eine Spalte <spaltennr> einer Datei numerisch und schreibt die Ergebnisse in dieselbe Datei

wc

Zdhlt Zeilen, Wvrter und Bytes oder Zeichen einer Textdatei

grep <stichwort> <dateiname>

Sucht nach Stichworten in Textdateien und gibt diese aus

cut

more /etc/passwd |cut -d: -f1,2 Gibt nur die ersten beiden Spalten dieser Datei aus

cat /etc/passwd |cut -d: -f1,5

Gibt nur Spalten 1 und 5 aus

awk ’ { FS = “:” } { print $1,$5 } ’ /etc/passwd

Das gleiche mit awk

ls -ld <verzeichnis>

Gibt den Eigent|mer eines Verzeichnisses aus

ls -li

Zeigt im Verzeichnis die Dateien mit deren I-Node-Nummern

ln -s

symbolic link

ln -s /opt/connect/cdunix/scripts/cd_send_ALL.sh cd_send_ALL.sh

Ergebnis: cd_send_ALL.sh → /opt/connect/cdunix/scripts/cd_send_ALL.sh

 

Backups und Kompression

 

tar -cvf Datei|dd of=/dev/fd0

tar -cvf /tmp/ziel.tar *

Alle Dateien werden nach /tmp/ziel.tar gesichert

gzip ziel.tar

Komprimierung von ziel.tar

compress ziel.tar

Komprimierung von ziel.tar (Standard im AIX)

tar -cvf Datei.tar Quelle

Packt alle Dateien des Quellordners in Archiv

tar -xvf Archiv

Entpackt archiv im aktuellen Verzeichnis

tar -cvf ziel.tar /home

Macht absolutes Backup von Dateisystem /home

cd /; tar -cvf ziel.tar home

Macht relatives Backup von home

cd /; tar -xvf ziel.tar home

Macht relatives Restore von home

tar -xvf ziel.tar /home

Macht absolutes Restore von Dateisystem /home

dd if=<filename> of=/dev/rfd0 bs=36b conv=sync

Datei mit dd auf Diskette ziehen

tar -cvf <file> |dd of=/dev/fd0 conv=sync

tar auf Diskette sichern mittels dd

 

 

Performance und Monitoring

 

nmon ( wenn installiert )

Analyse der Systemperformance/Devices

topas

Aktuelle Systemaktivitäten

topasout

Formatierung von Ausgaben von xmwlm (sind in /etc/perf/daily)

topasout -R summary /etc/perf/daily/$(hostname)_<datum>.topas

Ausgabe eines zusammenfassenden Reports von bestimmten Tag

sar -u 1 100

aktuelle CPU-Aktivitäten 100 mal im Abstand von 1 Sekunde

/usr/bin/sar

System Activity Report aufrufen

vmstat -x -y

Protokolliert alle x Sekunden insgesamt y-mal

sar -u -P ALL x y

Alle x Sekunden y mal

sar -u -P 0,1 x y

Pr|ft nur die Aktivität der ersten beiden Prozessoren

iostat x y

entstat -d ent0

Zeigt Netz-Statistik nur f|r Device ent0

netstat -i

Zeigt alle Netzwerkdevices mit IP-Adr, Paketen und I/O-Fehlern seit letzem Systemrestart

netstat -v

Zeigt Paketkollisionen usw. sehr detailliert zu den einzelnen Devices

snap -gGc

Erzeugt Systeminformation als compressed-tar-File im Verz. /tmp/ibmsupt

User-spezifische Kommandos

 

/opt/Tivoli/lcf/wpasswd/wpasswd

Passwort generell f|r Prod und Vi ändern (|ber Tivoli)

awk ’ { FS = “:” } { print $1,$5 } ’ /etc/passwd

Gibt Userid und User aus

ulimit -a

Zeigt die (Soft-) Limite f|r den aufrufenden User, kann User f|r sich ändern

ulimit -Ha

Zeigt die Hardlimite f|r den aufrufenden User, kann User nicht ändern

ulimit

#um einen unlimited-Wert zu setzen, mu_ -1 in das Feld eingetragen werden. Maximal gelten die Werte, die bei root gesetzt sind!

newgrp <gruppe>

Hiermit kann ein User tempordr innerhalb einer Shell seine Primdrgruppe ändern

id

Gibt die aktuelle UserID mit Gruppenzugehvrigkeit aus

who am i

Zeigt den Loginuser

whoami

Zeigt den User, unter dessen ID gerade gearbeitet wird

pwdadm <user>

Passwortverwaltung f|r normale User mit Verwaltungsrechten

passwd <user>

Passwortverwaltung f|r RootUser bezw. Zur Verwaltung des eigenen Passworts (passwd ohne <user>)

smitty user

Benutzerverwaltung

smitty mkuser

Direktaufruf zum Useranlegen

smitty rmuser

Direktaufruf zum Userlvschen

find / -user <user> -exec rm -r {} \;

Sucht alle Dateien des Users und lvscht sie

find / -nouser

Findet alle Dateien, die keinem Benutzer zugeordnet sind

smitty group

Gruppenverwaltung

chgrpmem

Wechselt die Mitglieder oder Administratoren von Gruppen

rmgroup

Dient der Entfernung einer Gruppe

chgroup

ändern der Gruppenzugehvrigkeit von Files

lsgroup

Gruppen anzeigen

users

Zeigt eine Liste der User, die gerade angemeldet sind

finger <username>

Zeigt Kurzinfos zum User, wie Terminal, Anmeldezeit usw.

lslicense [ -c ]

the number of fixed licenses and the status of the floating licensing. Benutzeranzahl, Standard nach der Installation - 2

 

-c displays the output in : (colon) form.

su -

root werden incl. Dessen Environment

su <user>

<user> werden (ohne dessen Environment, sonst mit “-” verwenden)

Prozessmanagement

 

ps -ef

Lists all nonkernel processes, with the userid, process ID, recent CPU usage, total CPU usage, and the command that started the process

ps -elo osz,args ! grep 800300500! grep -v grep

Listet die Groesse von SZ des Prozesses MRAC 800300500 1

ps -fu <user-id>

Lists all of the processes owned by UserID, with the process ID, recent CPU usage, total CPU usage, and the command that started the process

ps -ef | egrep -v “STIME|$LOGNAME” | sort +3 -r | head -n 15

Identifies the current heaviest users of CPU time

kill -9 `ps -ef | grep rrd | grep -v root | awk {’print $2’}`

Killt alle Prozesse des Users rrd.

kill -kill 0

Killt alle Prozesse des Users und loggt diesen aus

kill -9 -1

Killt alle Prozesse des User (ohne diesen auszuloggen)

renice

Prozesspriorität laufender Prozesse ändern. Standard: 20 bei Vordergrund-Prozessen, z.B. renice +10 <pid>

nice

Ein Kommando mit hvherer oder niedrigerer Priorität starten

ps -efklm

Sehr ausf|hrlich, zeigt auch versteckte Prozesse

ps -auxw

Zeigt u.a. Prozessorauslastung des Prozesse , Memoryusage usw.

bindprozessor

The bindprocessor command binds or unbinds the kernel threads of a process, or lists available processors

fuser <Verzeichnis/Datei>

Zeigt an, welche Prozesse eine vorgegebene Datei/Verzeichnis bearbeiten oder auf Dateien eines Dateisystems operieren

fuser -u <Verzeichnis/Datei>

Zeigt die Prozessids und die Loginnamen derer, die zugreifen

fuser -d /home

Zeigt alle Prozesse, die auf bereits gelvschte Dateien des Dateisystems zugreifen

fuser -kxuc /dev/hd1

Beendet alle Prozesse, die auf das angegebene Dateisystem zugreifen

/etc/initd/sshd stop

sshdaemnon stoppen,Alternative: start

ps -auxw |head -1; ps -auxw |sort -rn +3 |head -20

Zeigt die 20 speicherintensivsten Prozesse an (und zeigt die \berschrift mit an)

ps -ef |grep -c defunct oder ps -ef |grep defunct |wc -l

Listet die Anzahl der Zombieprozesse auf, -c steht f|r count, entspricht einem wc -l

ps -ef |grep -v oraclebus |wc -l

Zeigt nur die Prozesszeilen, die kein “oraclebus” enthalten

cp /dev/null <dateiname>

\berschreibt <dateiname> mit leercode Gro_e logdatei aus platzgr|nden verkleinern, ohne sie zu lvschen oder neu anzulegen

> <dateiname>

Leitet “nix” in <dateiname>, alternative zu weiter oben

time befehl optionen

Gibt die Gesamt-, Prozess- und Systemzeit an, die der Befehl mit seinen Optionen insgesamt benvtigt

<befehl> 2> <dateiname>

Standardfehlerausgabe eines Befehls umleiten

echo $?

Endestatus des zuletzt aufgerufenen Prozesses (0=true, 1=false)

echo $$

Gibt die pid des aktuellen Prozesses an

echo $!

Gibt die pid des Kindprozesses an

top

Prozess|bersicht und -statistik

nohup <kommando> &

Startet ein Kommando, das auch nach Abmeldung des Users weiter im Background arbeitet. (nohup= No Hang Up)

nohup /usr/sbin/rpc.rstatd rup perfmeter &

Startet Kommando im Hintergrund mit no hang up

killall

Stoppt alle Background-Prozesse der aktuellen Shell mittels kill -9

killall -

Stoppt alle Background-Prozesse der aktuellen Shell mittels kill -15

Crontab, Zeit

Verwaltung von Cronjobs ( nur root oder entsprechender user )

crontab -l <username>

zeigt die Liste v. cronjobs des Benutzers

crontab -e <username>

erstellt neuen cronjob des Benutzers

Format: * * * * * < Command >

Minute 0-59

 

Stunde 0-23 ; z.B. 8-17 → st|ndlich von 8 bis 17

 

Tag im Monat 1-31; z.B. * → jeden Tag

 

Monat 1-12

 

Wochentag (0-Sonntag, 1-Montag, ... , 6-Samstag)

crontab -e

Kommando zu Editieren der Crontab. Ausschlie_lich damit editieren! Aktiviert die Jobs in einem Zug

crontab -l

Listet alle bereits geplanten Cron-Jobs der Crontab

crontab -r

Crontab komplett lvschen

crontab dreba/etc/crontab.multicom

Als User aufrufen, um die genannte Crontab f|r diesen User zu aktivieren

at

echo “hello world” | at now + 1 minute F|hrt in einer Minute nach der aktuellen Systemzeit den Befehl aus

Zeit/Datum

date

Gibt Datum aus. Hat sehr mdchtige Formatierungsoptionen

cal

Gibt Kalender des aktuellen Monats aus

cal 3 2002

Gibt Kalender von Mdrz 2002 aus (nur cal 2002 gibt Jahreskalender aus)

 

 

HACMP-spezifika

 

smitty hacmp

Kurzaufruf zum HACMP-Administrations-Menu

smitty clstart

Kurzaufruf zum Clusterstart

smitty clstop

Kurzaufruf zum Clusterstop

tail -f /tmp/hacmp.out

Verfolgt “online” die Eintragungen in die Hacmp.out und gibt diese aus

lssrc -g cluster

Kontrolle |ber Cluster, “Hdngt Cluster”?, welchen Status hat Cluster?

ps -ef |grep CL

Zeigt alle Clusterprozesse

ps -ef |grep ora

zeigt alle Oracleprozesse. Wenn Cluster gestoppt, m|ssen diese auch weg sein.

df

Sind die Dateisysteme weg?

lsvg -o

VGs bereits weg?

netstat -i

Steht die alte Node wieder auf ihrer Bootadresse?

In /usr/es/sbin/cluster ./clstat -a aufrufen

Fragt den aktuellen Clusterstatus ab

netstat

Zeigt alle aktuellen Netzverbindungen

sync; sync; sync; halt -q

Node “hart” runterfahren, vorher sauber “syncen”

/usr/es/sbin/cluster/clstat -a

Zeigt Clusterstatus an

/usr/es/sbin/cluster/utilities/cllscf

Zeigt gesamte Clustertopologie an

/usr/es/sbin/cluster/utilities/cllsclstr

Zeigt Clusterdefinitionen an

/usr/es/sbin/cluster/utilities/clshowres -g ‘ressourcengruppe’

Zeigt Clusterressourcen einer Ressourcengruppe

/usr/es/sbin/cluster/utilities/clshowres -n ‘ffzb0dc4’

Zeigt alle Clusterressourcen, die zur Zeit auf Knoten ffzb0dc4 laufen

/usr/es/sbin/cluster/utilities/clshowsrv -a

Zeigt den Zustand der lokalen Clusterservices an (mit ps -ef |grep cluster sieht man nicht alle)

/usr/es/sbin/cluster/utilities/cllsif

Zeigt Topologieinformation aller Netzwerkadapter des Clusters

/usr/es/sbin/cluster/utilities/cllsif -n ‘ffzb0dc4boot’

Zeigt nur die Information f|r Adapter ffzb0dc4boot

/usr/es/sbin/cluster/utilities/cllsnw

Zeigt die Topologieinformationen geordnet/aus sicht der Netzwerke

/usr/es/sbin/cluster/utilities/cllsnode

Zeigt Clusterkonfiguration nach Node geordnet an

/usr/es/sbin/cluster/utilities/clsnapshot -c -i -n ‘testcluster’ -m ‘ALL’

Erstellt neuen kompletten Schnappschu_ mit Namen “Testcluster”

/usr/es/sbin/cluster/utilities/cllsserv

Zeigt alle Applikation Server und die zugehvrigen Start/Stop-Skripte

/usr/es/sbin/cluster/snapshots

Pfad zu Clustersnapshots

/usr/es/sbin/cluster/utilities/cldare -t

Cluster synchronisieren

lvlstmajor

Gibt die ndchste freie Majornummer aus (VGs m|ssen auf beiden Seiten gleiche haben, am besten ab 100)

chdev -a pv=yes -l hdisk10

Weist hdisk10 eine pvid zu, ohne da_ diese erst mal in eine VG aufgenommen werden mu_

chvg -an <sharedvg>

Bei einer sharedvg mu_ das Auto-Varyon-Flag ausgeschaltet werden, damit sie gesharet werden kann.

/usr/sbin/cluster/utilities/get_local_nodename

Gibt Namen des Clusternodes aus (hat nix mit dem hostname zu tun)

 

Paketierung und Installation

 

lslpp -L |grep BUS2

Sucht in der Ausgabeliste aller installierten Pakete nach dem String BUS2

instfix -i |grep ML

Zeigt installierte Maintenance-Levels

instfix -icqk 4330-10_AIX_ML | grep “:-:”

Zeigt, welche Pakete des ML10 fehlen

smitty update_all

Kurzaufruf zum Installieren eines Maintenance-Levels, aus dem PWD aufrufen, wo die Installationsquellen liegen, und . Als Source eingeben

smitty install

Allgemeinaufruf zur Paketinstallation

smitty install_selectable_all

Aufruf zum installieren aller verfügbarenPakete

cfgmgr -i /usr/sys/inst_images (oder gemountetet Base-CD)

Installiert und konfiguriert alle Geräte(treiber), die noch fehlen! Dran denken: Für nachinstalliertes Paket schauen, ob es im aktuellen ML eine aktuellere Version dazu gibt

lslpp -L

Zeigt alle installierten Pakete an

lslpp -L |grep BUS2

Zeigt alle Pakete an, die den String BUS2 enthalten

lslpp -f bos.rte.lvm

Zeigt alle Dateien an, die zum angegebenen Paket gehvren

lslpp -w /usr/sbin/installp

Zeigt, zu welchem Paket die Datei /usr/sbin/installp

inutoc .

Inhaltsverzeichnis der AIX-Pakete (.toc - File) im aktuellen Verzeichnis erstellen

Netzwerk

 

lsnfsexp oder exportfs

Zeigt alle exportierten Dateisysteme

mount 130.10.19.42:/freigabe /mnt

Mountet NFS-Verzeichnis freigabe nach mnt

mount -r -v cdrfs /dev/cd0 /cdrom

CD-Rom mounten

netstat

Zeigt alle aktuellen Netzverbindungen

showmount -a <remotehost>

Zeigt alle exportierten NFS-Verzeichnisse eines Remotehosts

entstat -d ent0

Zeigt Netz-Statistik nur für Device ent0

ssh -l <username> <hostname>

Zeigt alle Netzwerkdevices mit IP-Adr, Paketen und I/O-Fehlern seit letztem Systemrestart

netstat -v

Zeigt Paketkollisionen usw. sehr detailliert zu den einzelnen Devices

netstat -rn

Zeigt Routing-Table an

ifconfig -a

Konfiguration aller Netzwerkkarten abfragen

mount defx0xba:/rbackup /mnt

Mounten eines NFS-Laufwerks

ssh -l <username> <hostname>

ssh -Connection über bestimmten User auf bestimmten host

entstat -d ent0

IO-Abfrage der Netzwerkkarte

netstat -rn

Routing Tables abfragen

netstat -in

Netzinterfaces abfragen

netstat -an

Status der Sockets abfragen

netstat -af inet

Zeigt aktive Ports an

ifconfig -a

Konfiguration aller Netzwerkkarten abfragen

ifconfig en0

Konfiguration einer Netzwerkkarte abfragen

netstat -i

Zeigt alle Netzwerkdevices mit IP-Adr,