Additional Resources |
1. |
|
All Solaris Commands * |
|
2. |
|
Alphabetical Directory of Linux Commands * |
|
3. |
|
Comparision of Shell commands (PDF) * |
|
4. |
|
Cool Commands * |
|
5. |
|
coolcommands.com * |
|
6. |
|
DOS to UNIX command translation * |
|
7. |
|
Korn Shell Nuances * |
|
8. |
|
Man Pages: System Administration Commands (Solaris 10) |
|
9. |
|
Man Pages: System Administration Commands (Solaris 9) |
|
10. |
|
Man Pages: User Commands (Solaris 10) |
|
11. |
|
Man Pages: User Commands (Solaris 9) |
|
12. |
|
Tips on good shell programming practices * |
|
13. |
|
Top 10 Best Cheat Sheets and Tutorials for Linux / UNIX Commands * |
|
14. |
|
Trapping Special Characters in the Korn Shell * |
|
15. |
|
Universal Command Guide for Operating Systems * |
|
16. |
|
Unix 'find command' helper * |
|
17. |
|
Useful Solaris Commands (Blog) * |
|
Back to top
|
Debugging |
18. |
|
cat -v -t -e [file]
/* Show non-printing characters */
|
|
19. |
|
dumpadm -d swap
/* Configure swap device as dump device */
|
|
20. |
|
ld -l <libname without 'lib'>
/* Check if you have a particular library */
|
|
21. |
|
truss -f -p <pid of a shell>
/* Using multiple windows, this can be used to trace setuid/setgid programs */
|
|
22. |
|
truss executable
/* Trace doing of given command ( useful debugging ) */
|
|
Back to top
|
Disk Commands |
23. |
|
/bin/mount -F hsfs -o ro /dev/sr0 /cdrom
/* Mount an ISO 9660 CDROM */
|
|
24. |
|
/usr/bin/iostat -E
/* Command to display drives statistics */
|
|
25. |
|
du -ad /var | sort -nr
/* Report the the disk used in /var in reverse order */
|
|
26. |
|
du -k .
/* Report disk usage in Kilobytes */
|
|
27. |
|
du -sk * | sort -nr | head
/* Shows the top ten largest files/directories */
|
|
28. |
|
du -sk *|sort -k1,1n
/* Reports total disk space used in Kilobytes in present directory */
|
|
29. |
|
du -sk .
/* Report total disk usage in Kilobytes */
|
|
30. |
|
fdformat -d -U
/* Format diskette */
|
|
31. |
|
mount -F hsfs -o ro `lofiadm -a /export/temp/software.iso` /mnt
/* Mount an ISO Image */
|
|
32. |
|
newfs -Nv /dev/rdsk/c0t0d0s1
/* To view the superfblocks available */
|
|
33. |
|
One-liner to copy a partition table
/* prtvtoc /dev/dsk/c1t2d0s2 | fmthard -s - /dev/rdsk/c1t3d0s2 */
|
|
34. |
|
prtvtoc /dev/rdsk/c0t0d0s2
/* Disk geometry and partitioning info */
|
|
35. |
|
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
/* Copy partition table from one disk to another */
|
|
36. |
|
quot -af
/* How much space is used by users in kilobytes */
|
|
37. |
|
volrmmount -i floppy
/* Mount a floppy or other media easily by its nickname. */
|
|
Back to top
|
Driver Parameters |
38. |
|
ndd /dev/ip ip_forwarding
/* Show the ip_forwarding variable in the kernel */
|
|
39. |
|
ndd /dev/ip ip_forwarding 1
/* Set the ip_forwarding variable in the kernel */
|
|
40. |
|
ndd /dev/ip \?
/* Show all IP variables set in the kernel */
|
|
Back to top
|
File Manipulation |
41. |
|
dos2unix | -ascii <filename>
/* Converts DOS file formats to Unix */
|
|
42. |
|
fold -w 180
/* To break lines to have maximum char */
|
|
43. |
|
split [-linecount] [file]
/* Split files into pieces */
|
|
44. |
|
[vi] : %s/existing/new/g
/* Search and Replace text in vi */
|
|
45. |
|
[vi] :set list
/* Show non-printing characters in vi */
|
|
46. |
|
[vi] :set nu
/* Set line numbers in vi */
|
|
47. |
|
[vi] :set ts=[num]
/* Set tab stops in vi */
|
|
Back to top
|
File System |
48. |
|
/sbin/uadmin x x
/* Syncs File Systems and Reboots systems fast */
|
|
49. |
|
awk ' END {print NR}' file_name
/* Display the Number of lines in a file */
|
|
50. |
|
cat /dev/null > filename
/* Zero's out the file without breaking pipe */
|
|
51. |
|
dd if=/dev/rdsk/... of=/dev/rdsk/... bs=4096
/* Make a mirror image of your boot disk */
|
|
52. |
|
df -k | grep dg| awk '{print $6}' |xargs -n 1 umount
/* Unmount all file systems in disk group dg */
|
|
53. |
|
fsck -F ufs -o b=97472 /dev/rdsk/c0t0d0s0
/* Check and repair a UFS filesystem on c0t0d0s0, using an alternate superblock */
|
|
54. |
|
fsck -F ufs -y /dev/rdsk/c0t0d0s0
/* Check a UFS filesystem on c0t0d0s0, repair any problems without
prompting. */
|
|
55. |
|
fsck -F ufs /dev/rdsk/c0t0d0s0
/* Check a UFS filesystem on c0t0d0s0 */
|
|
56. |
|
gzip -d -c tarball.tgz | (cd /[dir];tar xf - ) &
/* Unpacking tarballs to diff location */
|
|
57. |
|
gzip -dc file1.tar.gz | tar xf -
/* Unpack .tar.gz files in place */
|
|
58. |
|
ln [-fhns] <source file> <destination file>
/* Creating hard links and soft links */
|
|
59. |
|
ls -al | awk '$3 == "oracle" || $3 == "root" {print $9}'
/* List all file names by testing owner */
|
|
60. |
|
ls -l | sort +4n
/* List files by size */
|
|
61. |
|
ls -la | awk '{ print $5," ",$9 }' | sort -rn
/* File sizes of current directory */
|
|
62. |
|
ls -lR | awk '{total +=$5};END {print "Total size: " total/1024/1024 "MB" }'
/* Recursive directory size calculations in MB */
|
|
63. |
|
mkisofs -l -L -r -o [image-name].iso [directory]
/* Create an ISO image of a directory */
|
|
64. |
|
mount -F ufs -o rw,remount /
/* Used to remount root to make it writeable */
|
|
65. |
|
mount -o remount,logging /spare
/* Re-mount the ro file system rw and turn on ufs logging */
|
|
66. |
|
mount DOS fdisk partition from Solaris
/* mount -f pcfs /dev/dsk/c0d0p1 /export/dos */
|
|
67. |
|
mv [filename]{,.new_suffix}
/* Renaming file */
|
|
68. |
|
pax -rw . /newdir
/* Efficient alternative for copying directories */
|
|
69. |
|
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
/* Cloning Partitiontables */
|
|
70. |
|
rpm -q --queryformat '%{INSTALLPREFIX}\n' [packagename]
/* [Linux] Locate binaries */
|
|
71. |
|
tar cf - . | (cd /newdir ; tar xf -)
/* Recursively copy files and their permissions */
|
|
72. |
|
tar cvf filename.tar
/* Create a tape (tar) archive */
|
|
73. |
|
tar xvf filename.tar
/* Extract a tape (tar) archive */
|
|
74. |
|
X=$(wc -l < filename); echo $X
/* Count number of lines in a file into a variable (ksh) */
|
|
75. |
|
zcat <patch_file.tar.Z | tar xvf -
/* Extract the patch_file that is a compressed tar file */
|
|
76. |
|
zcat [cpio file] | cpio -itmv
/* Show the contents of a compressed cpio */
|
|
Back to top
|
File Transfer |
77. |
|
find . -depth | cpio -pdmv /path/tobe/copied/to
/* Fast alternative to cp -pr */
|
|
78. |
|
find . -follow | cpio -pdumL /path/tobe/copied/to
/* Copy with symbolic links to be followed */
|
|
79. |
|
get filename.suffix |"tar xf -"
/* Undocumented Feature of FTP */
|
|
80. |
|
Move any file(s) without actually touching them
/* ssh cd /some/directory \&\& tar cf - | ssh cd /some/direstory \&\& tar xvf - */
|
|
81. |
|
put "| tar cf - ." filename.tar
/* Undocumented Feature of FTP */
|
|
82. |
|
sendport
/* FTP command for transferring large numbers of files within the same control session */
|
|
Back to top
|
General |
83. |
|
/bin/printf '%d\n' '0x<hex>'
/* Converts hexadecimal number to decimal. */
|
|
84. |
|
/usr/bin/catman -w
/* Create windex databases for man page directories */
|
|
85. |
|
echo 'obase=16;255' | bc
/* Simple way to convert decimal to hex */
|
|
86. |
|
FQ_FILENAME=<fully_qualified_file_name>; echo ${FQ_FILENAME%/*}
/* Extract directory from fully-qualified file name. */
|
|
87. |
|
mailx -H -u <username>
/* List out mail headers for specified user */
|
|
88. |
|
ps -ef | grep -i $@
/* Access common commands quicker */
|
|
89. |
|
set filec
/* Set file-completion for csh */
|
|
90. |
|
uuencode [filename] [filename] | mailx -s "Subject" [user to mail]
/* Send files as attachments */
|
|
91. |
|
xauth -f /home/${LOGNAME} extract - ${DISPLAY} | xauth merge -
/* Allow root to xdisplay after su */
|
|
Back to top
|
Hardware |
92. |
|
cfgadm
/* Verify reconfigurable hardware resources */
|
|
93. |
|
m64config -depth 8|24
/* Sets the screen depth of your M64 graphics accelerator */
|
|
94. |
|
m64config -prconf
/* Print M64 hardware configuration */
|
|
95. |
|
m64config -res 'video_mode'
/* Change the resolution of your M64 graphics accelerator */
|
|
96. |
|
prtpicl -v | grep sync-speed
/* Discover SCSI sync speed */
|
|
Back to top
|
Kernel |
97. |
|
/usr/sbin/modinfo
/* Display kernel module information */
|
|
98. |
|
/usr/sbin/modload <module>
/* Load a kernel module */
|
|
99. |
|
/usr/sbin/modunload -i <module id>
/* Unload a kernel module */
|
|
100. |
|
/usr/sbin/sysdef
/* Show system kernal tunable details */
|
|
101. |
|
nm -x /dev/ksyms | grep OBJ | more
/* Tuneable kernel parameters */
|
|
102. |
|
update_drv -f [driver name]
/* Force a driver to reread it's .conf file without reloading the driver */
|
|
Back to top
|
Memory |
103. |
|
pagesize -a
/* Available page sizes for Solaris 9 */
|
|
104. |
|
prtconf | grep Mem
/* Display Memory Size of the local machine. */
|
|
Back to top
|
Network Information |
105. |
|
arp -a
/* Ethernet address arp table */
|
|
106. |
|
arp -d myhost
/* Delete an ethernet address arp table entry */
|
|
107. |
|
lsof -iTCP@10.20.2.9
/* Display open files for internet address */
|
|
108. |
|
named-xfer -z qantas.com.au -f /tmp/allip
/* Get All IP Addresses On A DNS Server */
|
|
109. |
|
ndd /dev/arp arp_cache_report
/* Prints ARP table in cache with IP and MAC address */
|
|
110. |
|
netstat -a | grep EST | wc -l
/* Displays number active established connections to the localhost */
|
|
111. |
|
netstat -a | more
/* Show the state of all the sockets on a machine */
|
|
112. |
|
netstat -i
/* Show the state of the interfaces used for TCP/IP traffice */
|
|
113. |
|
netstat -k hme0
/* Undocumented netstat command */
|
|
114. |
|
netstat -np
/* Similar to arp -a without name resolution */
|
|
115. |
|
netstat -r
/* Show the state of the network routing table for TCP/IP traffic */
|
|
116. |
|
netstat -rn
/* Displays routing information but bypasses hostname lookup. */
|
|
117. |
|
snoop -S -ta [machine]
/* Snoop for network packets and get size and time stamp entries. */
|
|
118. |
|
traceroute <ipaddress>
/* Follow the route to the ipaddress */
|
|
Back to top
|
Network Tuning |
119. |
|
/sbin/ifconfig hme0:1 inet 10.210.xx.xxx netmask 255.255.0.0 broadcast 10.210.xxx.xxx
/* Virtual Interfaces */
|
|
120. |
|
/sbin/ifconfig hme0:1 up
/* Bring virtual interface up */
|
|
121. |
|
/usr/sbin/ndd -set /dev/hme adv_100fdx_cap 1
/* Nailling to 100Mbps */
|
|
122. |
|
ifconfig eth0 10.1.1.1 netmask 255.255.255.255
/* Add an Interface */
|
|
123. |
|
ifconfig eth0 mtu 1500
/* Change MTU of interface */
|
|
124. |
|
ndd -set /dev/ip ip_addrs_per_if 1-8192
/* To set more than 256 virtual ip addresses. */
|
|
125. |
|
ndd -set /dev/tcp tcp_recv_hiwat 65535
/* Increase TCP-receivebuffers on Sol2.5.1 systems with 100BaseTx */
|
|
126. |
|
ndd -set /dev/tcp tcp_xmit_hiwat 65535
/* Increase TCP-transmitbuffers on Sol2.5.1 systems with 100BaseTx */
|
|
Back to top
|
Processes |
127. |
|
/usr/proc/bin/ptree <pid>
/* Print the parent/child process 'tree' of a process */
|
|
128. |
|
/usr/proc/bin/pwdx <pid>
/* Print the working directory of a process */
|
|
129. |
|
/usr/ucb/ps -aux | more
/* Displays CPU % usage for each process in ascending order */
|
|
130. |
|
/usr/ucb/ps -auxww | grep <process name>
/* Gives the full listing of the process (long listing) */
|
|
131. |
|
coreadm -i core.%f.%p
/* Append program name and process id to core file names */
|
|
132. |
|
fuser -uc /var
/* Processes that are running from /var */
|
|
133. |
|
ipcs
/* Report inter-process communication facilities status */
|
|
134. |
|
kill -HUP `ps -ef | grep [p]roccess | awk '{print $2}'`
/* HUP any related process in one step */
|
|
135. |
|
lsof -i TCP:25
/* Mapping port with process */
|
|
136. |
|
pfiles <pid>
/* Shows processes' current open files */
|
|
137. |
|
pkill -n <name>
/* Kill a process by name */
|
|
138. |
|
prstat -a
/* An alternative for top command */
|
|
139. |
|
ps -edf -o pcpu,pid,user,args
/* Nicely formatted 'ps' */
|
|
140. |
|
ps -ef | grep -i <string> | awk '{ print $2 }'
/* Creates list of running PID by <string> */
|
|
141. |
|
ps -ef | grep -i <string> | awk '{ print $2 }'
/* Creates list of running PID by */
|
|
142. |
|
ps -ef | grep <process name> | grep -v grep | cut -c 10-15 | xargs kill -9
/* Find and kill all instances of a given process */
|
|
143. |
|
ps -ef | more
/* Show all processes running */
|
|
144. |
|
ps -ef|grep -v "0:00"|more
/* Gives you a list of any process with CPU time more than 0:00 */
|
|
145. |
|
ps -eo pid,args
/* List processes in simplified format */
|
|
146. |
|
ps -fu oracle|grep pmon
/* See which instances of Oracle are running */
|
|
147. |
|
top -b 1
/* Returns the process utilizing the most cpu and quits */
|
|
Back to top
|
Resource Management |
148. |
|
/usr/bin/ldd [filename]
/* List the dynamic dependencies of executable files */
|
|
149. |
|
/usr/proc/bin/pmap pid
/* Report address space map a process occupies */
|
|
Back to top
|
Route Configuration |
150. |
|
route add net 128.50.0.0 128.50.1.6 1
/* Add a route to the routing table */
|
|
151. |
|
route change 128.50.0.0 128.50.1.5
/* Changes the destination address for a route */
|
|
152. |
|
route delete net 128.50.0.0 128.50.1.6
/* Delete a route from the routing table */
|
|
153. |
|
route flush
/* Flush the routing table, which will remove all entries */
|
|
154. |
|
route get [hostname]
/* Which interface will be used to contact hostname */
|
|
155. |
|
route monitor
/* Monitor routing table lookup misses and changes */
|
|
Back to top
|
Searching Items |
156. |
|
cat <filename> | awk '{if (substr($1,1,1) == '#') print $0 }'
/* Print all lines in a file beginning with a specific character */
|
|
157. |
|
egrep "patterna|patternb" <filename>
/* Search for multiple patterns within the same file */
|
|
158. |
|
find <start_path> -name "<file_name>" -exec rm -rf {} \;
/* Recursively finds files by name and automatically removes them */
|
|
159. |
|
find . -type f -print | xargs grep -i [PATTERN]
/* Recursive grep on files */
|
|
160. |
|
find . ! -mtime -<days> | /usr/bin/xargs rm -rf
/* Finds and removes files older than <days> specified */
|
|
161. |
|
find . -exec egrep -li "str" {} \;
/* Find a string in files starting cwd */
|
|
162. |
|
find . -mtime -1 -type f
/* Find recently modified files */
|
|
163. |
|
find . -type f -exec grep "<sub-string>" {} \; -print
/* Find files (and content) containing <sub-string> within directory tree */
|
|
164. |
|
find . -type f -exec grep -l "<sub-string>" {} \;
/* Find files (and content) containing <sub-string> within directory tree */
|
|
165. |
|
find ./ \! -type f -exec ls -l {} \;|grep -v '^[l|p|s|-]'|grep -v 'total' | wc -l
/* Find number of directories under the current directory */
|
|
166. |
|
find / -fstype nfs -prune -o fstype autofs -prune -o -name filename -print
/* find without traversing NFS mounted file systems */
|
|
167. |
|
find / -mtime <# of days>
/* Find files modified during the past # of days */
|
|
168. |
|
find / -perm -2 -a ! -type l
/* Find files writable by 'others' */
|
|
169. |
|
find / -type f |xargs ls -s | sort -rn |more
/* List files taking up the most system space */
|
|
170. |
|
find / -user <username>
/* Find all files owned by <username> */
|
|
171. |
|
find / | grep [file mask]
/* Fast way to search for files */
|
|
172. |
|
find /proc/*/fd -links 0 -type f -size +2000 -ls
/* Find large files moved or deleted and held open by a process */
|
|
173. |
|
grep <full_path_to_filename> /var/sadm/install/contents| awk '{ print $1 ' ' $10 }'
/* Find which package contains a particular file */
|
|
174. |
|
ls -lR | grep <sub_string>
/* Fast alternative to find. */
|
|
175. |
|
pkgchk -l -p /absolute/path/todir
/* Which package does this file belong to? */
|
|
Back to top
|
Security |
176. |
|
crypt <abc.cr> abc && rm abc.cr
/* Decrypting a file that has been encrypted */
|
|
177. |
|
crypt <abc> abc.cr && rm abc
/* File encryption with crypt */
|
|
178. |
|
echo 'Please go away' > /etc/nologin
/* Stops users logging in */
|
|
179. |
|
find / -perm -0777 -type d -ls
/* Find all your writable directories */
|
|
180. |
|
find / -type f -perm -2000 -print
/* Find all SGID files */
|
|
181. |
|
find / -type f -perm -4000 -print
/* find all SUID files */
|
|
182. |
|
getpwenc [encryption scheme] password
/* Genrate passwords for LDAP Using 'getpwenc' Utility */
|
|
183. |
|
trap 'exit 0' 1 2 3 9 15
/* Trap specific signals and exit */
|
|
184. |
|
vi -x [filename]
/* Encrypt a file with vi editor */
|
|
Back to top
|
Setting Term Options |
185. |
|
stty erase ^?
/* Set the delete key to delete a character */
|
|
186. |
|
stty erase ^H
/* Set the backspace to delete a character */
|
|
187. |
|
stty sane
/* Reset terminal after viewing a binary file. */
|
|
188. |
|
tput rmacs
/* Reset to standard char set */
|
|
Back to top
|
Snoop |
189. |
|
snoop -d pcelx0
/* Watch all the packets on a device */
|
|
190. |
|
snoop -i /tmp/mylog -o /tmp/newlog host1
/* Filter out all the host1 packets and write them to a new logfile */
|
|
191. |
|
snoop -i /tmp/mylog -v -p101
/* Show verbose info on packet number 101 in the logfile */
|
|
192. |
|
snoop -i /tmp/mylog host1 host2
/* View packets from a logfile between hosts1 and host2 */
|
|
193. |
|
snoop -o /tmp/mylog pcelx0
/* Save all the packets from a device to a logfile */
|
|
194. |
|
snoop -s 120
/* Return the first 120 bytes in the packet header */
|
|
195. |
|
snoop -v arp
/* Capture arp broadcasts on your network */
|
|
196. |
|
snoop port [port-number]
/* Monitor particular port for traffic */
|
|
Back to top
|
Swap Files |
197. |
|
mkfile -nv 10m /export/disk1/myswap
/* Makes an empty 10 Megabyte swapfile in /export/disk */
|
|
198. |
|
mkfile -v 10m /export/disk1/myswap
/* Makes a 10 Megabyte swapfile in /export/disk */
|
|
Back to top
|
Swap Space |
199. |
|
swap -a /export/disk1/swapfile
/* Add a swap file */
|
|
200. |
|
swap -d /dev/dsk/c0t0d0s4
/* Delete a swap device */
|
|
201. |
|
swap -l
/* List the current swap devices */
|
|
202. |
|
swap -s
/* List the amount of swap space available */
|
|
Back to top
|
System Configuration |
203. |
|
/usr/sbin/eeprom auto-boot? false
/* Changes eeprom autoboot? setting without going to Ok prompt */
|
|
204. |
|
/usr/sbin/eeprom diag-switch? true
/* Set the system to perform diagnostics on the next reboot. */
|
|
205. |
|
/usr/sbin/eeprom local-mac-address?=true
/* Multiple Port Network Card Setting */
|
|
206. |
|
/usr/sbin/grpck
/* Check /etc/group file syntax */
|
|
207. |
|
/usr/sbin/pwck
/* Check /etc/passwd file syntax */
|
|
208. |
|
/usr/sbin/sys-unconfig
/* Clear host specific network configuration information */
|
|
209. |
|
/usr/sbin/useradd
/* Add a new user to the system */
|
|
210. |
|
drvconfig ; disks
/* Adding hot-plug disks to system */
|
|
Back to top
|
System Information/Monitoring |
211. |
|
/bin/echo "0t${stamp}>Y\n<Y=Y" | adb
/* Convert UNIX timestamp to something human-readable */
|
|
212. |
|
/usr/sbin/eeprom
/* Show eeprom parameters */
|
|
213. |
|
/usr/sbin/prtconf -vp
/* Show system configuration details */
|
|
214. |
|
coreadm -e log
/* Report global core */
|
|
215. |
|
grep "\-root" /var/adm/sulog | grep -v \+ | tail -25
/* List most recent attempts to switch to superuser account. */
|
|
216. |
|
isainfo -bv
/* Quickly checkout if machine is in 32 or 64 bit mode */
|
|
217. |
|
last
/* Tells who was or still is on the system */
|
|
218. |
|
logger -i
/* Log the process ID */
|
|
219. |
|
prtconf -pv | grep banner-name |awk -F\' ' { print $2 } ' | head -1
/* Show actual model name of machine */
|
|
220. |
|
prtdiag -v
/* System Diagnostics */
|
|
221. |
|
prtpicl -v | grep wwn
/* A command to find persistent binding of storage */
|
|
222. |
|
psradm -f [processor id]
/* Take processor offline */
|
|
223. |
|
psrinfo | wc -l
/* Display number of processors */
|
|
224. |
|
sar -u
/* Report CPU Utilization */
|
|
225. |
|
sar [ -aA ] [ -o filename ] t [ n ]
/* Provides cumulative reports about system activity. */
|
|
226. |
|
telnet <remote machine> 13 | grep ':'
/* Get the time on remote Unix machine */
|
|
227. |
|
uname -a
/* Displays system information */
|
|
228. |
|
uname -X
/* Displays system information */
|
|
229. |
|
vmstat 10
/* Displays summary of what the system is doing every 10 seconds */
|
|
230. |
|
who -b
/* Displays the date of the last system reboot. */
|
|
231. |
|
ypcat hosts | sort -n -t. +0 -1 +1 -2 +2 -3 +3 -4
/* Take the input of "ypcat hosts" or "cat /etc/inet/hosts" and sort by IP. */
|
|