Tuesday, December 2, 2014

Useful AIX Commands in day to day activities

Useful AIX Commands in day to day activities


Below I have given you the consolidate AIX Commands. Hope it will really useful for AIXian.

DEVICES
lscfg
lists all installed devices
lscfg –v
lists all installed devices in detail
lscfg -vl (device name)
lists device details
bootinfo –b
reports last device the system booted from
bootinfo –k
reports keyswitch position 1=secure, 2=service, 3=normal
bootinfo –r
reports amount of memory (/ by 1024)
bootinfo -s
(disk device) reports size of disk drive
bootinfo –T
 reports type of machine ie rspc
lsattr -El sys0 -a realmem
reports amount of useable memory
mknod (device) c (major no) (minor no)
Creates a /dev/ device file.
mknod /dev/null1 c 2 3

lsdev –C
lists all customised devices ie installed
lsdev –P
lists all pre-defined devices ie supported
lsdev -(C or P) -c (class) -t (type) -s (subtype)

chdev -l (device) -a (attribute)=(new value)
Change a device attribute
chdev -l sys0 -a maxuproc=80

lsattr -EH -l (device) –D
Lists the defaults in the pre-defined db
lsattr -EH -l sys0 -a modelname

rmdev -l (device)
Change device state from available to defined
rmdev -l (device) –d
Delete the device
rmdev -l (device) –SR
S stops device, R unconfigures child devices
lsresource -l (device)
Displays bus resource attributes of a device.


PHYSICAL VOLUME

Lspv
Lists all physical volumes (hard disks)
lspv (pv)
 Lists the physical volume details
lspv -l (pv)
Lists the logical volumes on the physical volume
lspv -p (pv)
Lists the physical partition usage for that PV
chdev -l (pv) -a pv=yes
Makes a new hdisk a pysical volume.
chpv -v r (pv)
Removes a disk from the system.
chpv -v a (pv)
Adds the removed disk back into the system.
chpv -a y (pv)
Changes pv allocatable state to YES
chpv -a n (pv)
Changes pv allocatable state to NO
migratepv (old pv) (new pv)
Moves all LV's from one PV to another PV, both PV's must be in the same volume group


Volume Groups (VG's)
Lsvg
Lists all volume groups
lsvg (vg)
Lists the volume group details
lsvg -l (vg)
Lists all logical volumes in the volume group
lsvg -p (vg)
Lists all physical volumes in the volume group
lsvg –o
Lists all varied on volume groups
varyonvg (vg)
Vary On a volume group
varyonvg -f (vg)
 Forces the varyon process
varyonvg -s (vg)
Vary on a VG in maintenance mode.
LV commands can be used on VG, but LV,s cannot be opened for I/O.

varyoffvg (vg)
Vary Off a volume group
synclvodm (vg)
Tries to resync VGDA, LV control blocks and ODM.
mkvg -y(vg) -s(PP size) (pv)
Create a volume group example:mkvg -y datavg -s 4 hdisk1
reducevg -d (vg) (pv)
Removes a volume group
reducevg (vg) (PVID)
Removes the PVID disk reference from the VGDA when a disk has vanished without the reducevg (vg) (pv) command being run first.
extendvg (vg) (new pv)
Adds another PV into a VG.
exportvg (vg)
Exports the volume group eg deletes it!


Note:

Cannot export a VG if it has active paging space, turn off paging, reboot before exporting VG.

Exporting removes entries from filesystems file but does not remove the mount points.

chvg -a y (vg)
Auto Vary On a volume group at system start.
lqueryvg -Atp (pv)
Details volume group info for the hard disk.
importvg -y (vg name) (pv)
Import a volume group from a disk.
importvg (pv)
Same as above but VG will be called vg00 etc.
chvg -Q (y/n) (vg name)
Turns on/off Quorum checking on a vg.

Logical Volumes (LV's)
lslv (lv)
Lists the logical volume details
lslv -l (lv)
 Lists the physical volume which the LV is on
mklv (vg) (No of PP's) (pv Name optional)
Create a logical volume
mklv -y (lv) (PP's) (pv name optional)
Creates a named logical volume
chlv -n (new lv) (old lv)
Rename a logical volume
extendlv (lv) (extra No of PP's)
Increase the size of an LV
rmlv (lv)
Remove a logical volume
migratepv -l (lv) (old pv) (new pv)
Move a logical volume between physical volumes.
mklv -y (lv) -t jfslog (vg) (No of PP's) (pv Name optional)
Creates a JFSlog logical volume.
logform (/dev/lv)
Initialises an LV for use as an JFSlog
getlvcb -AT (lv)
 Displays Logical Volume Control Block information

File Systems (FS's)
Lsfs
Lists all filesystems
lsfs -q (fs)
Lists the file system details
mount
Lists all the mounted filesystems
mount (fs or lv)
Mounts a named filesystem
mount –a
Mounts all filesystems
mount all

mount -r -v cdrfs /dev/cd0 /cdrom
mounts cd0 drive over /cdrom
crfs -v jfs -d(lv) -m(mount point) -A yes
 Will create a file system on the whole of the logical volume, adds entry into/etc/filesystems and will create mount point directory if it does not exist.
crfs -v jfs -g(vg) -m(mount point) -a size=(size of fs) -A yes
Will create a FS on the default logical volume on the volume group with the size stated. Will add entry into /etc/filesystems.
chfs -A yes (fs)
Change file system to Auto mount in /etc/filesystems
chfs -a size=(new fs size)(fs)
Change file system size
rmfs (fs)
Removes the file system and will also remove the LV if there are no onther file
systems on it.

defrag -q (fs)
 Reports the fragment status of the file system.
defragfs -r (fs)
Runs in report only defrag mode (no action).
defragfs (fs)
Defragments a file system.
fsck (fs)
Verify a file system, the file system must be unmounted!
fsck (-y or -n) (fs)
Pre-answer questions either yes or no !
fsck -p (fs)
Will restore primary superblock from backup copy if the superblock is corrupt.

Mirroring
mklv -y (lv) -c(copies 2 or 3) (vg) (No of PP's) (PV Name optional)
Creates a mirrored named logical volume.
mklvcopy -s n (lv) (copies 2 or 3) (pv)
Creates a copy of a logical volume onto another physical volume. The physical volume MUST be in the same volume group as the orginal logical volume !
rmlvcopy (lv) (copies 1 or 2)
Removes logical volume copies.
rmlvcopy (lv) (copies 1 or 2) (pv)
From this pv only!
syncvg -p (pv)
Synchronize the physical volume
syncvg -l (lv)
Synchronize logical partion copies
syncvg -v (vg)
Synchronize the volume group
mirrorvg (vg) (pv)
Mirrors the all the logical volumes in a volume group onto a new physical volume. New physical volume must already be part of the volume group.
mirrorvg –S (vg) (pv)
Mirrors all the lvs in a volume group in background. We can access the vg in the meanwhile.

BOOT LOGICAL VOLUME (BLV)
bootlist -m (normal or service) –o
displays bootlist
bootlist -m (normal or service) (list of devices)
change bootlist
bootinfo –b
Identifies the bootable disk
bootinfo –t
Specifies type of boot
bosboot -a -d (/dev/pv)
Creates a complete boot image on a physical volume.
mkboot -c -d (/dev/pv)
Zero's out the boot records on the physical volume.
savebase -d (/dev/pv)
Saves customised ODM info onto the boot device.

SYSTEM DUMP
sysdumpdev –l
Lists current dump destination.
sysdumpdev –e
Estimates dumpsize of the current system in bytes.
sysdumpdev –L
 Displays information about the previous dump.
sysdumpstart –p
Starts a dump and writes to the primary dump device.
sysdumpstart –s
Starts a dump and writes to the secondary dump device.
Note :

(MCA machine can also dump if key is in service position and the reset button is pressed

sysdumpdev -p (dump device) -P
Sets the default dump device, permanently
echo "stat\n status\n t -m" | crash \ /var/adm/ras/vmcore.0
Analyse dump file

PAGING SPACE (PS's)
lsps –a
Lists out all paging space
lsps –s
Displays total paging and total useage
lsps (ps)
Display the info about the paging space
mkps -s(No of 4M blocks) -n -a (vg)

mkps -s(No of 4M blocks) -n -a (vg) (pv) -n = don't activate/swapon now -a = activate/swapon at reboot

chps -a n (ps)
Turns off paging space.
chps -s(No of 4M blocks) (ps)
Increases paging space.
chlv -n (new name) (old name)
Change paging space name
rmps (ps)
Remove paging space. PS must have been swap off
swapon /dev/paging00
To swap on the paging space
swapoff /dev/paging00
To swap off the Paging space
/etc/swapspaces
File that lists all paging space devices that are activated/swapon during reboot.

SCHEDULING
crontab –l
List out crontab entrys
crontab –e
Edit crontab entrys
crontab -l > (filename)
 Output crontab entrys to a file
crontab (filename)
Enter a crontab from a file
crontab –r
Removes all crontab entrys
crontab –v
Displays crontab submission time.
/var/adm/cron/cron.allow
File containing users allowed crontab use.
/var/adm/cron/cron.deny
File containing users denied crontab use.
/var/adm/cron/crontab
Directory containing users crontab entries.
/var/adm/cron/at.allow
File containing users allowed at use.
/var/adm/cron/at.deny
File containing users denied at use.
/var/adm/cron/atjobs
Directory containing users at entries.

USERS
passwd –f
Change current users gecos (user description)
passwd –s
 Change current users shell
chfn (username)
Changes users gecos
chsh (username) (shell)
Changes users shell
env
Displays values of environment variables
id
 Displays current user's uid and gid details
id (user)
Displays user uid and gid details
whoami
Displays current user details
who am i (or who -m)
Displays details of the current user
who
Displays details of all users currently logged in.
w
Displays details of all users currently logged in.
who –b
Displays system reboot time
uptime
Displays number of users logged in, time since last reboot, and the machine loadaverages.
Lslicense Displays number of current user licensese

chlicense -u (number)
 changes the number of user licenses
lsuser ALL
Lists all users details
lsuser (username)
Lists details for user
lsuser -a(attribute) (username or ALL)
Lists user attributes
lsuser -a home ALL

mkuser -a(attributes) (newuser)
Add a new user
chuser (attributes) (user)
Change a user
chuser login=false (user)
Lock a user account
rmuser -p (user)
Removes a user and all entries in security files
usrck -t ALL
Checks all the user entires are okay.
fuser -u (logical volume)
Displays processes using the files in that LV
lsattr -D -l sys0 -a maxuproc
Displays max number of processes per user
chdev -l sys0 -a maxuproc=(number)
Changes max number of processes per user


INITTAB
telinit S
Switches to single user mode.
telinit 2
Switches to multi user mode.
telinit q
Re-examines /etc/inittab
lsitab –a
Lists all entries in inittab
lsitab (ident eg tty1)
Lists the tty1 entry in inittab
mkitab ("details")
Creates a new inittab entry
chitab ("details")
Edit the inittab entry
Ammends an existing inittab entry

Example :

chitab "tty1:2:respawn:/usr/bin/getty /dev/tty1"

rmitab (ident eg tty1).
Removes an inittab entry

ODM
odmget -q "name=lp1" CuDv |more
Gets lp1 info from pre-defined database.
odmget -q "name-lp1" CuAt |more
Gets lp1 info from customised database.
odmdelete -o CuAt -q "name=lp1"
 Deletes lp1 info from customised db.
odmget -q "name=lp1" CuAt > lp1.CuAt
Export ODM info to text file.
odmadd < lp1.CuAt
Import ODM info from text file.

ERROR LOGGING
/usr/lib/errdemon –l
Displays errorlog attributes.
/usr/lib/errdemon
Starts error logging.
/usr/lib/errstop
Stops error logging.
Errpt
Displays summary errorlog report.
errpt –a
Displays detailed errorlog report.
errpt -j (identifier)
Displays singe errorlog report.
Note : errorlog classes are

H=Hardware

S=Software

O=Information

V=Undetermined

errclear (days)
Deletes all error classes in the errorlog.
errclear -d (class) (days)
 Deletes all error class entries in errlog.
Note :

The errclear command will delete all entries older than the numbers of days

specified in the days paramenter.

To delete ALL entries used 0.

errlogger "message up to 1024 chrs"
Enters an operator notifaction message into the errorlog.

PERFORMANCE MONITORING
vmstat (drive) (interval) (count)
Reports virtual memory statistics.example: vmstat hdisk0 5 20
vmstat -s
Diplays number of paging events since system start.
vmstat –f
Diplays number of forks since system start.
vmstat –i
Diplays number of interupts by device since system start.
iostat (drive) (interval) (count)
Reports i/o and cpu statistics.
Example :

iostat hdisk0 5 20

iostat -d (drive) (interval) (count)
Limits report to drive statistics.
iostat -t (interval) (count)
Limits report to tty statistics.
sar -u -P ALL 10 10
Displays %usr %sys %wio %idle for all processors

DOS DISKETTES
Dosdir
Reads directory listing of a diskette
dosdir (directory)
Reads directory listing of a named directory
dosread -D/dev/fd0 C41.TXT c41.txt Gets C41.TXT from diskette drive fd0

dosread -D/dev/fd0 DIRECTORY/C41.TXT c41.txt (-D option can be dropped if using fd0)

doswrite -D/dev/fd0 (unixfile) (dosfile)
Writes a file to diskette
dosdel (dosfile)
Deletes a dos file on diskette
dosformat
Formats the diskette

SENDMAIL
sendmail –bi
Creates new aliase db from /etc/aliase file.newaliases
sendmail –bp
Displays the contents of the mail queue mailq
sendmail –q
Processe the sendmail queue NOW
sendmail -bt -d0.4 < /dev/null

refresh -s sendmail
Prints out sendmail version, compile defines and system information
kill -l (sendmail PID)
Restart sendmail

MISCELLENEOUS
oslevel
Returns operating system level
whence (program)
 Returns full path of program
whereis (program)
Returms full path of program
what (program)
Displays identifying info from the executable like version number, when compiled.
lslpp -L
all list all installed software
lslpp -L
(program set name) Check if software installed
lslpp -f
Lists filesets vs packages
lslpp -ha
Lists installation history of filesets
compress -c file.txt > file.Z
Create a compressed file.
od -c /tmp
Displays contents of the /tmp directory file
ls -i
Lists files with their inode numbers
echo *
Lists files, can be used if ls is corrupt/missing
alog -o -t boot
View the boot log
chtz (timezone eg GMT0BST)
Changes the timezone in /etc/environment file
chlang (language eg En_GB)
Changes the language in /etc/environment file
ar -v -t (archive file)
List contents of an archive
ar -v -x (archive file)
Extracts the archive
ar -v -t /usr/lib/libC-r.a
Lists contents of the libC_r.a library
find /source -print | cpio -pdm /target
Copying directories using cpio, creates /target/source directory.
dump -nTv (binary executable)
Displays the contents of an executable file
dump –c
Displays string information
dump –o
Displays object file headers
dump –l
Displays line numbers
dump –s
Displays the text section
snap -ao /dev/rmt0
Create a snapshot onto tape
snap -ad (directory)
Create a snapshot into a named directory other than the default (/tmp/ibmsupt)
/usr/dt/bin/dtconfig –d
Disables desktop logins
/usr/dt/bin/dtconfig –e
Enables desktop logins
/var/dt/Xpid
PID of the dtlogin process

TERMINALS
tty
Displays what the tty/pty number of terminal is.
Termdef
 reports the termtype setup in smit for the tty port that termdef is run on.
chdev -l (device eg tty1) -a term=vt100
Sets tty to a vt100 terminal type
penable tty0
adds getty line into /etc/inittab for tty0 and starts getty
pdisable tty0
disables the getty line and disables getty
penable / pdisable -a option is for all

stty erase ^?
Set backspace key for vt100 terminals
stty erase ^H
Set backspace key for wyse50 terminals
lscons
Displays the console device
chcons -a login=enable (device eg /dev/tty1)
Changes the console device
for i in 0 1 2 3 4 5 6 7
Create ttys on ports 0 to 7 on adapter sa2 :-
do

mkdev -c tty1 -t tty -s rs232 -p sa2 -w$i -a login=enable -a term=vt100

done

portmir -t /dev/tty0
Mirror current terminal onto /dev/tty0
portmir –o
Turns off port mirroring

NETWORK
host (ip or hostname)
Resolves a hostname / ip address
hostname
Displays hostname
hostname (hostname)
Sets the hostname until next reboot
chdev -l (device name) -a hostname=(hostname)
Changes hostname permanently
ifconfig (device name)
Displays network card settings
ifconfig (device name) up Turns on network card

Examples :

ifconfig en0 inet 194.35.52.1 netmask 255.255.255.0 up

ifconfig (device name) down
Turns off network card
ifconfig (device name) detach
Removes the network card from the network interface list
ifconfig lo0 alias 195.60.60.1
Create alias ip address for loopback
route (add/delete) (-net/-host) (destination) (gateway)
Adds or deletes routes to other networks or hosts, does not update the ODM database and will be lost at reboot.
Example:  route add -net 194.60.89.0 194.60.90.4
lsattr -EHl inet0
Displays routes set in ODM and hostname
odmget -q "name=inet0" CuAt
Displays routes set in ODM and hostname
refresh -s inetd
Refresh inetd after changes to inetd.conf
kill -1 (inetd PID)
 Refresh inetd after changes to inted.conf
netstat –I
 Displays interface statistics
entstat -d (ethernet adapter eg en0)
Displays ethernet statistics
arp –a
Displays ip to mac address table from arp cache
traceroute (name or ipaddress)
Displays all the hops from source to destination supplied.
ping -R (name or ipaddress)
Same as traceroute except repeats.

N.F.S.
Exportfs
Lists all exported filesystems
exportfs –a
Exports all fs's in /etc/exports file
exportfs -u (filesystem)
Un-exports a filesystem
mknfs
Configures and starts NFS services
rmnfs
Stops and un-configures NFS services
mknfsexp -d /directory
Creates an NFS export directory
mknfsmnt
Creates an NFS mount directory
mount hostname:/filesystem /mount-point Mount an NFS filesystem

nfso –a
 Display NFS Options
nfso -o option=value

Set an NFS Option

Examples :

nfso -o nfs_use_reserved_port=1


MKSYSB
mkszfile –f
Creates /image.data file (4.x onwards)
mkszfile –X
Creates /fs.size file (3.x)
mksysb
(device eg /dev/rmt0)

CPIO ARCHIVE
find (filesystem) -print | cpio -ocv > (filename or device)
eg find ./usr/ -print | cpio -ocv > /dev/rmt0

CPIO RESTORE
cpio -ict < (filename or device) | more Lists archive

cpio -icdv < (filename or device)

cpio -icdv < (filename or device) ("files or directories to restore")

 Restore directory and contents
cpio -icdv < /dev/rmt0 "tcpip/*"
Restore a named file
cpio -icdv < /dev/rmt0 "*resolve.conf"

TAR ARCHIVE
tar -cvf (filename or device)
 ("files or directories to archive") tar -cvf /dev/rmt0 "/usr/*"
tar -tvf (filename or device)
Lists archive
tar -xvf (filename or device)
Restore all
tar -xvf (filename or device)
("files or directories to restore") use -p option for restoring with orginal permissions
examples:

Restore directory and contents
tar -xvf /dev/rmt0 "tcpip"
Restore a named file
tar -xvf /dev/rmt0 "tcpip/resolve.conf"

AIX ARCHIVE
find (filesystem) -print | backup -iqvf (filename or device)
Backup by filename. ( -u option updates /etc/dumpdates file )
Example :
find /usr/ -print | backup -iqvf /dev/rmt0
backup -(backup level 0 to 9) -f (filename or device) ("filesystem")
           Example :  backup -0 -f /dev/rmt0 "/usr
Backup by inode. ( -u option updates /etc/dumpdates file )
"

AIX RESTORE
restore -qTvf (filename or device)
Lists archiv
restore -qvxf (filename or device)
Restores all
restore -qvxf (filename or device) ("files or directories to restore")
use -d for restore directories)
Restore /etc/passwd file
restore -qvxf /dev/rmt0.1 "./etc/passwd"
Lists contents of a mksysb tape
restore -s4 -qTvf /dev/rmt0.1

BACKUPS ACROSS A NETWORK
find /data -print | cpio -ocv | dd obs=32k | rsh remhost "dd ibs=32k obs=64k of=/dev/rmt0"
To run the backup on a local machine (cpio) and backup on the remote machine's (remhost) tape drive (/dev/rmt0)
dd ibs=64k if=/dev/rmt0 | cpio –icvt
To restore/read the backup (cpio) on the remote machine
rsh remhost "dd ibs=64k obs=32k if=/dev/rmt0" | dd ibs=32k | cpio –icvt
To restore/read the backup (cpio) on the local machine from the remote machine's (remhost) tape drive (/dev/rmt0)
rsh remhost "find /data -print | cpio -icv | dd ibs=32k" | dd ibs=32k obs=64k of=/dev/rmt0
To run the backup (cpio) on a remote machine (remhost) and backup to the local machines tape drive (/dev/rmt0)



COPYING DISKETTES
dd if=/dev/fd0 of=(filename) bs=36b
dd if=(filename) of=/dev/fd0 bs=36b conv=sync or flcopy

COPYING TAPES
dd if=/dev/rmt0 of=(filename)
dd if=(filename) of=/dev/rmt0 tcopy

Editor
editor Commands
:g/xxx/s//yyy/
VI global change where xxx is to be changed by yyy ( ctrl V to enter any character)
sed 's(ctrl v ctrl m)g//g' old.filename > new.filename
Strips out ^M characters from ascii files that have been transferred as binary. To enter crontrol characters type ctrl v then ctrl ? where ? is whatever ctrl character you need.

TAPE DRIVES
rmt0.x where x = A + B + C

A = density 0 = high 4 = low

B = retension 0 = no 2 = yes

C = rewind 0 = no 1 = yes

tctl -f (tape device) fsf (No)
Skips forward (No) tape markers
tctl -f (tape device) bsf (No)
Skips back (No) tape markers
tctl -f (tape device) rewind
Rewind the tape
tctl -f (tape device) offline
Eject the tape
tctl -f (tape device) status
Show status of tape drive
chdev -l rmt0 -a block_size=512
changes block size to 512 bytes
(4mm = 1024, 8mm = variable but 1024 recommended)

bootinfo –e
answer of 1 = machine can boot from a tape drive
answer of 0 = machine CANNOT boot from tape drive

diag -c -d (tape device)
Hardware reset a tape drive.
tapechk (No of files)
Checks Number of files on tape.
< /dev/rmt0
Rewinds the tape !!!

PRINTERS / PRINT QUEUES
splp (device)
Displays/changes printer driver settings
example:
splp /dev/lp0
export $LPDEST="pqname"
Set default printer queue for login session
lsvirprt
Lists/changes virtual printer attributes.
rmvirprt -q queuename -d queuedevice
Removes a virtual printer
qpri -#(job No) -a(new priority)
Change a queue job priority.
qhld -#(job No)
 Put a hold on hold
qhld -r #(job No)
Release a held job
qchk –A
Status of jobs in queues
lpstat

lpstat -p(queue)
Status of jobs in a named queue
qcan -x (job No)
Cancel a job from a queue
cancel (job No

enq -U -P(queue
 Enable a queue
enable (queue)

enq -D -P(queue)
Disable a queue
disable (queue)

qmov -m(new queue) -#(job No)
Move a job to another queue
startsrc -s qdaemon
Start qdaemon sub-system
lssrc -s qdaemon
List status of qdaemon sub-system
stop -s qdaemon
Stop qdaemon sub-system


SECURITY
Groups Lists out the groups that the user is a member of

Setgroups Shows user and process groups

chmod abcd (filename)

Changes files/directory permissions

Where :

a is (4 SUID) + (2 SGID) + (1 SVTX)

b is (4 read) + (2 write) + (1 execute) permissions for owner

c is (4 read) + (2 write) + (1 execute) permissions for group

d is (4 read) + (2 write) + (1 execute) permissions for others

rwSrwxrwx = SUID -rwxrwSrwx = SGID drwxrwxrwt = SVTX

chown (new owner) (filename)
Changes file/directory owners
chgrp (new group) (filename)
Changes file/directory groups
chown (new owner).(new group) (filename)
Do both !!!
umask
Displays umask settings
umask abc
Changes users umask settings
Where :

( 7 - a = new file read permissions)

( 7 - b = new file write permissions)

( 7 - c = new file execute permissions)

examples :

umask 022 =

new file permissions of 755

read write and execute for owner

read and execute for group

read and execute for other


mrgpwd > file.txt
Creates a standard password file in file.txt
passwd
Change current user password
pwdadm (username)
Change a users password
pwdck -t ALL
 Verifies the correctness of local authentication
lsgroup ALL
Lists all groups on the system
mkgroup (new group)
Creates a group
chgroup (attribute) (group)
Change a group attribute
rmgroup (group)
Removes a group