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, |