Commonly used unix commands
Commonly used unix commands

redirection commands= 	
   > output stdout
	< input  stdin
   2> output stderr
In ksh: redirect stdout and stderr: cmd > file 2>&1

run a command in the background= use & at the end of the command.  Ex: rm -r -f &
flags can be coded as: -f -g -w or -fgw

; is used as a command separator when you want to issue more than one command on the same line.

setting an environment variable:
in ksh:
VAR=value
export VAR
or: VAR=value; export VAR

in csh:
setenv VAR value

Initialization files:
sh and ksh: /etc/profile and .profile
env
typeset
set
set -o 

csh: 
.cshrc
.login

envoking a shell:
#!/bin/csh              ## c shell
#!/bin/ksh              ## korn shell

directories=
	/bin=contains executable binary programs
	/dev=contains device drivers
	/etc=unix admin files + info
	/home=files unique for a specific user
	/lib=library of functions and procedural libraries
	/lost+found=files lost due to failure, etc.
	/net=shortcuts for accessing other computers on the network
	/nmt=mounted external devices
	/sys=system configuration files
	/tmp=temp file storage space
	/usr=user related commands

some files=
    /etc/rc.config.d/netconf = Network ip config file
    /etc/passwd = password file for the unix server
    /etc/.login = the initial machine wide defaults for csh.
    .cshrc = user defaults for csh 
    /var/mail/userx
    system messages on sun/solaris: /var/adm/messages
    /var/msg = system messages
    /etc/system = system parms
    /var/opt/oracle = oracle files like tnsnames.ora, listener.ora and oratab

variables=
	HOME=folder where a unix session starts for a user
	PATH=search path when running a program

file permissions=displayed as a 9 character string and is composed of:
	1=file type
		d=directory
		-=file
		b=block-type special type
		c=character-type special file
		l=symbolic link
		p=pipe
		s=socket
	2-4=permissions for owner of the file read,write,exec (rwx)
	5-7=permissions for group for the file read,write,exec (rwx)
	8-10=permissions for everyone else for the file read,write,exec (rwx)
	
	Typical permissions:
	--- no access allowed
	r--	read-only access
	r-x	read and execute access, for programs and shell scripts
	rw- read and write access, for files
	rwx All access allowed

	Typical for a directory:
	--- no access allowed
	r-x	read-only access, no modification allowed
	rwx all access allowed
	
shell scripts=unix command line macro facility, series of unix comands.  You must have
	read/execute permissions to be able to execute shell scripts.

at=at scheduler
    flags= -f filename
    examples: at -f filename 0630pm Sep 22
    			  at -f filename now
	
bc=Infix calculator

bdf=Lists all the logical volumes
    flags=	-l=

cal[month][year]=Outputs a calendar of a month and a year

cat[filename...]=Concatenate and display the contents of file(s).

catman=Formats the pages for the man command.

cc=C compiler (do man for all switches)

cd[path]=Change directory
	arguments=[]=change dir to the value of the HOME environment variable
			  [path]=change dir to specified path

chgrp[NewGroup][filenames|directories]=Changes the group of a file or directory.
	You must be a member of the new group for the command to work.

chmod[permissions][filename|dir]=Change the specific set of permissions for any files or directories.
	Symbolic notation=
		u=user		+=add		r=read
		g=group		-=remove	w=write
		o=others	==set		x=execute
		a=all
		example= chmod g+wx donut   to add write and exec for the group for the file donut
	Numeric notation=
		---------   000            0=---  1=    4=r-- 6=rw- 7=rwx
		r--------	400
		r--r--r--	444
		rw-------	600
		example= chmod 600 donut   to set rw------- for the file donut

chown[NewOwner][filenames|directories]=Changes the ownership of file(s) or directories
	You can also change the group at the same time:  chown oracle:dba filename
	
compress[filename]=Shrinks the size of any files or set of files
	output=.Z is appended to the file name of the compressed file
	flags=	-v=verbose on, shows compression information

cp [flags] [fromfiles] [tofiles]=Copies files.
	flags=   -r= Recursive.  cp will copy the directory and  all  its files,  including any subdirectories 
                and their files to target.
            -p= Preserve ownership and permissions of source file.

Crontab
-l list entries
-e edit
	minute (0-59),
   hour (0-23),
   day of the month (1-31),
   month of the year (1-12),
   day of the week (0-6 with 0=Sunday)
example:
07 05 * * 0-6 csh /db01/app/oracle/csh/orastart_DBSTAR >>/db01/app/oracle/admin/DBSTAR/logbook/batch.log
00 19 * * 0 csh /db01/app/oracle/csh/orastart_DBSTAR >>/db01/app/oracle/admin/DBSTAR/logbook/batch.log

crypt=Encrypts a file based on a secret key
	requires < input    and    > output

date=Outputs current date and time.

dc=Postfix calculator.

df=Outputs the disk space available (disk free).

du=Outputs the disk space used (disk usage) in o/s blocks and all subdirectories
	with their space usage.
	flags=	-a=also lists the files
                -h=in gigabytes
		-s=will only display the total space usage
		-o=don't add up amounts of sub-directories
		-k=in kilobytes instead of o/s blocks
                --max-depth=N print the total for a directory (or file, with --all)
                          only if it is N or fewer levels below the command
                          line argument;  --max-depth=0 is the same as
                          --summarize


   examples: du -ks *
             du -h --max-depth=1
				
echo[string...]=Display a message to the screen.

env[variable]=Displays all or specific environment variables for a user.

exit=To exit a shell, when its the last shell you are logged off from the server.

file[filename...]=Identifies the type of a file.

find [startingPath]=Performs an ordered search through the file system. 
    flags=  -name [name of file]=name of the file to find.  If using * put string in double 
               quotes: "*ora".  
			   -exec [command]
    example: 	find / -name install.log -exec rm{}\;
                find . -print -name grants_select.sql | grep grants_select.sql
		find . -print -name grants_select.sql 2>/dev/null | grep grants_select.sql
		find / -print -name oraenv 2>/dev/null | grep oraenv

        find files older than 15 days
                find /u01/app/oracle/oradata -type f -mtime +15
        remove files older than x days, in this example 30 days in current directory: 
                find . -mtime +30 -exec rm {} \;


fuser [filename]=Lists processes that are using a file.

grep [string]=Pipe that will display a line of a file if the specified string is found on that
line.
    example: ls -l | grep oracle    ps -ef | grep oracle

    Or, find a string in files, example find all files that contain the string ctime
    grep ctime *
    
    This will in addition search for subdirectories:
    find . -name "*" | xargs grep "\-ctime"
    
head[filename] -NumberOfLinesToDisplay=Displays the first x lines of a file.  Can be used as a 
pipeline.  
    example: who | head -5.

hostname=Outputs the computer name the user is logged on to.  Also see /etc/hosts.

id=Outputs information about the user currently logged on including the security group the user belongs to.

ioscan=Displays the I/O devices.
    flags=  -f=
            -n=
ipcs=info on memory and semaphores.
    flags=  -a=
            -b=

ipcrm=remove memory and semaphore segments.
-m 118403  memory segment
-s 111     semaphore segment
   
jobs=Displays what tasks are running.

kill [pid]=kills a process id.
    flags=  -9=process immediately.
  
last=Displays information about the last user to logon.

ln file newfile = links a file to a new filename.
Examples:
   ln -s /db01/app/oracle/admin/DBSTAR/pfile/initDBSTAR.ora initDBSTAR.ora 

ll=in HP-UX equals ls -l

lp=Queues files to be printed.

lpr=Sends a print request to a printer.

lpstat=Displays print queue.
	flags=	-t=adds printer information

ls=Lists names of files and sub-directories.
	flags=	-1=forces single-column output on listings
			-a=list all files, including any . (dot) files
			-C=forces multiple-column output on listings
			-CF=of your own top-level directory
			-d=forces ls to list directories rather than their contents
			-F=indicates file types by adding suffix
				output=	*=program
						/=folder
						@=symbolic link
						.=hidden files (dot must be on first character)
						with a suffix of rc it usually means the config file
						of a program
			-l=displays files and directories in a long listing format 
			 output=AccessPermissions,Links,Owner,Size,DateOfLastAccess,FileName
			-lg=adds a group column to the long listing format, some unix flavors already
				display this column when using the -l flag
			-m=lists all files separated by a comma
			-r=to reverse any sorting order
			-R=lists sub-directories recursively and their contents
			-s=shows size of files, in blocks (typically 1 block=1024 bytes) also
			   shows space used for the whole directory but not doesn't include sub-directories
			-t=sort by most-recently accessed to least-recently-accessed
			-x=sorts horizontally on a row basis instead of vertically by columns

mail=Electronic mail utility.

mailx=Sends electronic mail.

man[keyword]=help screen for a unix keyword      

mkdir=Creates a new directory.

more=Pipe to display a file, one page at a time.

mount [device] [MointPoint]=Mount a device to a mount point. 
            -r=
            -F cdfs=
            example for mounting a CDROM: mount -r /dev/dsk/c1t2d0 /cdrom

mv [fromfiles] [tofiles]=Moves or renames files.

passwd=Changes passwords.

printenv=Same as env.

pwd=Displays the present working directory.

ps=Displays what processes are running.
            -e=displays all processes
            -f=displays long listing format       
            -u [user]=displays the processes associated with a specific user

rm[file|dir]=Removes a file or files.
     flags= -r=recursively remove subdirectories
			-f=force

rmdir=Removes a directory.

shutdown=Shuts down the unix server.
	flags= -r=reboot the server after shutdown
		   -h=halt the system
		    t=grace period
		   -y=prompt for answers  

sar -c [interval] [nbr of times]
	-c is the format and columns that will be displayed
	-d is for disk access
	
scp ex: scp test.sh oracle@targetserver:/tmp

su - oracle=switch user
    ^b to exit shell         

sudo ex: sudo -i -u oracle

tar=Tape file archiver.

time=Outputs CPU time since command interpreter was brought up, you'll never use this command.

top=Displays top cpu users

touch=Creates an empty file if the file doesn't exist.  If the file exists the last
	modified date is updated.

umount [mountpoint]=unmount a mountpoint from a device.  ex: umount /cdrom.

umask[mask value]=Controls the file permissions that new files are given upon creation.

uname=gives you information on the configuration of the unix box.
   -a= version of unix

uncompress[filename]=Uncompresses a previously compressed file.
	example: uncompress exp_full.dmp
				uncompress *    (uncompresses all files of a directory)

users=Outputs the userid's of users currently logged on.

who=Outputs different information about the users currently logged on.

whoami=Outputs the userid of user currently logged on.

who am i=Outputs information about the user currently logged on.

write=Sends a message to another user.


others:
in ksh: set -o vi
remote command
rcp file  
remsh remote "uname"
rlogin remote -l oracle8

Unzipping and untarring (an Oracle patchset for instance):
cd to the directory and then:
gunzip < p1909158_8172_TRU64.zip| tar xvf -