Sunday, January 20, 2013

[Linux] - Unix/Linix Commands


1. $ ssh username@servername command used to login to server
2$ pwd it prints present working directory
3$ ls -l listing the files in present directory
4$ cd..takes you to previous Dir
5$ mkdir <directory>will create directory
6$ mkdir -p /home/user1/d1/d2/d3will create all the non-existing Dir’s
7$ vi <file_name>opens file for reading/editing
8$ cat <file_name>display contents of file
9$ more <file_name>displays page by page contents of file
10$ grep <pattern> file_namechecks pattern/word in file name specified
11$ head <file_name>shows first 10 lines of file_name
12$ touch <file_name>creates a zero/dummy file
13$ ln file1 file2 creates link of file1 to file2
14$ cp <file1> <file2>Copy a file
15$ mv <file1> <file2>Move/rename a file or folder
16$ clearclears the scree
17$ whoDisplays logged in user to the system.
18$ file <file_name>shows what type of file it is like
19$wwill display more info abt the users logged in
20$ ps -efshows process
21$ which <file_name>shows if the file_name/command exists and if exists display the path
22$ rm <file_name>will delete file specified$ rm * Delete all the files in the present directory (BE CAREFUL WHILE GIVING THIS COMMAND)
23$ find . -type f -print -exec grep -i <type_ur_text_here> {} \;this is recursive grep$ find / -name <file_name> -print
24$ tail <file_name>shows last 10 lines of fileuse tail -f for continous update of file_name
25$ chmod 777 <file_name>changes file_name/directory permissions use –R switch for recursive
26$ chown owner:group <file_name>changes owner & group for the file_name
27$ chgrp <groupname> <filename>use –R for recursive
28$ rsh -l <login_name> <server_name>
29$ rcp file1 file2Copying file to remoter servers (This requires pre-configuration on remote servers like .rhosts & hosts.equiv)
30$ gunzip <file_name>unzips file name$ gzip <file_name>zips file_name
31$uncompress <filename>uncompresses filename
32$ compress <file_name>compresses file_name
33$ bc -lbench calculator
40$ crontab -lShows the cron jobs running/scheduled for the current user.-->$crontab -l > present_cronjobs-->edit/add entries to present_cronjobs-->$crontab present_cronjobs (This will submit/resubmit the jobs in file presnt_cronjobs to CRON)
41$ at$ at -l will show the at jobs scheduledat – schedule a job to run later timeat <time> command/script (will run the script at specified time)
42killing an unwanted process$ps –ef | grep <process_name> (will show the PID of the process in the 2nd field)$kill -9 <PID>$ kill -3 <PID>Used to take threaddump of java process
43$ nohup <cmd_name> &nohup is very useful command. it runs the command even the telnet connection is closed/broken.& is used for running command in background.
44$ uptimewill show how long the system has been up and also shows cpu load, number of users logged in etc.
45$ lastWill show the users logged in/out informationlast <user_name> shows particular user logins/logoutslast reboot shows all the system boots
46$ idshows current user's UID, username and GID and group name
47$ hostidshows unique identifier of host
48$ uname -awill show system name, solaris version, platform and some more information
49$ isainfo -vshows supported platforms (32-bit, 64-bit)
50$ hostnamewill give your system name.
51$ envList the environmental variables set to your current session
52$ rm - <-filename>for deleting special files$ rm "<file name>"delete file names with spaces in between
53$ useradd <username>Adding a user to the system$ userdel <username>Deleting a user from the system
54$ echo $TERMShows terminal type like vt100, vt220 etc.($PATH, $ORACLE_HOME etc can be used with echo)
55$ du –sk <dir/file name>Display the size of the files/folder
56$ df -kwill show all the mounted filesystems.
57$ mountwill show all mounted file systems with additional info like large filesystem support etc
58$ pkginfo Gives/shows info about installed packages/software on system
59$ showrev –pshows all patches installed on system
60$ init 0will shutdown the system
61$ init 6will reboot the system (other init options are 1, 2, 3, 5 and S)
62$ alias l='ls -l'alias dir='ls -l|grep "^d"'alias p='pwd'alias c='clear'Short cuts for commonly used commands
63tar -cvf allfile.tar /<directory_name> copies all files under directory to allfile.tar$ tar -xvf allfile.tar /homeretrieves tar files to /home directory$ tar -tvf allfile.tar reads contents of allfile.tar
64$ /usr/sbin/ifconfig -aWill show the ip-address of the system.lo0 : loopback interfacehme0 : hundred MBPS n/w interfaceqfe0 : quad ehternet interface
65$ ping <hostname>will ping and test connectivity between your system and the hostname you give in the ping.you can also give ping <ip-address>
66$ set -o viWhile your shell is set to KSH use this command to display history of commands you are typingPress ESCAPE and k for showing previous commands
67$ ifconfig unplumb hme0 will disable ehternet interface hme0
68$ ifconfig plumb hme0 will enable hme
069$ mount will show the disks mounted and all partitions
70$ top shows all process and memory, cpu etc utilisation
71$ prtconf shows h/w, cpu, memory conf
72$ cd /usr/platform/sun4u/sbin/prtdiag -v shows additional configuration of memory, cpu speed etc..
73$ sysdef shows system h/w, memory, and other internal configurable/tunable paramters
74$ sar –A system archive report, gives total system report for cpu, memory, disk, etcc
75$ mpstat shows multi cpu statistics like load on each cpu.
76$ iostat disk utilisation, cpu, io wait etc (iostat -xcM gives extented statistics of disk activity, cpu etc)
77$ vmstat memory and virtual memory utilization
78$ prstat shows process related statistics (present from solaris 2.7 and above)
79$ netstat shows network statistics
80$ lsof -p <pid>List the opened files for the process
81$ psrinfo gives processor/s information (online/offline)
82$ truss -p <PID>shows system calls and signals (useful when debugging process)
83$ stty erase ^Hsets backspace for deleting typed character
84$ strings <file_name>shows printable strings in any type of file (binary, object, text etc)
85$ formatwill show all the disks configuration and partitions
86$ prtvtoc shows disk partition/geometry info
87$ uadmin 2 0 stops system immediately within 5 seconds(BE CAREFUL-- has to be to root)
88$ halthalts processor and reboots machine (BECAREFUL -- has to be root)
89$ adb debugging tool (for reading/debugging corefiles)
90$ dos2unix <filename>Convert dos formatted file to unix format
91$ mkfile 60m <swap file name>creates a filename of size 60mb which can be used for adding to swap space
92$ swap -a <swap file name>attaches the 60mb file to swap space (Very useful when swap space is running out)
93$ swap -l lists the swap contents
94$ sleep 5waits for 5 seconds (useful in shell scripts)
95$ cat <file_name> |awk '{print $1}'Prints the first field of the filed ($1, $2... can be used to display more fields)
96:1,$s/<old>/<new>/guse the above for global replacement of text in ascii files using vi editor
97:1,$s/^M//gremove Ctrl M character in text files using vi editor
98$ ksh –x <file name.sh>Will compile the shell file line by line
99PS1=[$(hostname)]'$ORACLE_SID@$PWD>'Add this entry on .profile , you can view the hostname , $VARIABLE,current directort path
100$ipcs –mbWill provide the shared memory information
101$ mailx -s"<Subject Name>" user1@cognizant.com.com < file.txtWill send this file.txt to a mail$ uuencode $file $file| mail -s "<Subject Name>" user1@domian.comWill send the files as an attachment. 

Important Directories to Remeber 
/  à Root Directiry of unix system
/usr/bin  à This directory cotains all user level unix commands
/usr/sbin  à This directory Contains administrative related commands
/usr/lib  à This directory contains libraries
/etc à This directory contains system configuration files
/var/adm  à This directory contains system/application logs.
/etc/rc.d        à This directory Contains all startup scripts.There will be more of this kind rc2.d, rc3.d, rc0.d, rc5.d, rc6.d each directory has scripts which will run in its own run level.
/opt à In general, this directory used to install the 3rd party optional packages.
/proc  à This contains the snapshot of the system process and memory status. 

Important files to remember 
/etc/passwd  à it will show all the logins, home directories of the users.
/etc/shadow  à shows password encryption info and other user related info (only root has access to this file)
/etc/system à This file has all n/w, h/w, memory etc tunable parameters
/values/etc/inittab à This file defines the default run level of the system.
/etc/hosts à This file contains the list of hosts/IP address
/etc/services à This file contains the port/service Name
/etc/nsswitch.conf à This file is used to configure which services are to be used to determine information such as hostnames, password files, and group
/etc/ntpd.conf à This file is used to configure Network Time Deamon
/etc/inetd.conf à This file tells which ports to listen to and what server to start for each port
/etc/syslog.conf   à This file have the configuration log file location and rotation sequence
/etc/sudoers  à contains the list of user names with the command allowed to execute by the user with additional privileges
/etc/fstab  à This file contains the list of file system and it mount points
/etc/resolv.conf  à contains the DNS server names for the name resolution

Description: Best Blogger TemplatesDescription: Best Blogger Tips





1) Editing the FILE:-
--------------------------
*) To come to end of file:- G
*) To delete the single word(can be free space):- dw
*) to delete the current single char:- (Esc and x)
*) To delete the complete line:- dd
*) To right over in the file:- cw
*) To remove the case sensitive:- :set ic
*) To Enable the case sensitive:- :set noic
*) Copy the complete line:- yy
*) Paste what ever copied:- p

2) 
GUN ZIP the file:-
-----------------------------
gzip file_name

Note:- While trying to download gunzip file from server to local machine it should be done in binary mode. Then it can exact using the wipzip software in WINDOWS Operating System.

After gzip, if we want to unzip the file then use the following.

gunzip file_name


2.1) 
To unzip or gunzip the file :-
---------------------------------------------
gunzip file_name

Example:-

gunzip XYZ_1.0_5.tar.gz

2.2) 
To untar the file:-
------------------------------
tar -xvf file_name

Example:-

tar -xvf XYZ_1.0_5.tar


3) 
To run the strings for the spawand program:-
-------------------------------------------------------------
strings -a (shell_script_file_name) > (logfile.log)

Example:-

strings -a GLPURGE > /home/partners-home/hex/preddy/phani1.log

3.1) 
Basic grep command:-
-----------------------------------
Example:-

grep 'DROP index' adwork001.log > /home/partners-home/xyz/preddy/dropindex.txt

Note:- grep command is just like the search for some specfic word in yourwindows file.
In Windows Operating System, we use the (CTRL+F) and then we give the word we want to search. Similarly, grep is used for UNIX or LINUX Operating system. In the above Example, I am searching for the 'DROP index' Word in adwork001.log file. And I want all the finding of this search stored in some file. So, I have given the path and file name where it should save.


4) 
Specfic to some project:-
-------------------------------------
To check the number lst files:-
-----------------------------------------
Example:-

ls -altr *.lst | wc -l

Note:- If some folder have some specfic extension files, then we can count the number of that specfic extension files then we can use the above command. In the above example, I am searching for the 'lst' extension files count.
To check the number of sql files with hit files :-
------------------------------------------------------------
grep '\.sql' *.lst | wc -l

Note:- Say, we have some .sql files names in all the lst files in some folder. Then we can use the grep command to count the sql file names.
To check the number of files with hits in the lst file:-
------------------------------------------------------------------
grep 'Number of files with hits : [1-9]' *.lst

Note:- You can also give the count of the files with the range. In the above example, I have givne the range from 1 to 9. If it find any number from this range then, it will get in the count.
To create the file of the complete module :-
--------------------------------------------------------
grep '\.sql' *.lst > lst_sql_'module_name'.txt

Example:-

grep '\.sql' *.lst > lst_sql_gl.txt

Note:- The above example to do the search and to the search results in some given file name.

5) 
To find the file in the current folder and subfolder:-
---------------------------------------------------------------------
find . -name ‘file_name*.sql’ -print

Example:-

find -i . -name 'poXWFUNT*.sql' -print

Note:- POXWFUNT.sql is the file name which I want to search. 'i' in the above command indicates that, search should not be based on case sensitive.

6) 
To grep the file for a specific word:-
-------------------------------------------------
grep -i 'WORD' FILE_NAME > log_file_name

Example:-

grep -i 'ALTER table' adwork001.log > altertable.txt


7) 
To Know the PORT number of Env file:-
-----------------------------------------------------
setenv | grep PORT

Note:- Run the above command after login to Instance. And you have would have the read privileges for the file. This is mostly useful for people, who are working in the Oracle Application.

7.1) 
For specfic session we can change the variable value:-
-------------------------------------------------------------------------
setenv variable_name variable_value

Example :- The following was the current value.

INSTANCE_ENVID=XYZ12

(Used the following command to check the value (setenv | grep OBT)).

setenv OBTADMIN_ENVID OBT_12

The above command has changed the value of the variable.
---------------------------------------------------------------------

OBTADMIN_ENVID=OBT_12

Note:- If you exit from the session and then variable value will be revert back.


8) 
To know the path of the log and out files of the application:-
------------------------------------------------------------------------------
>>cd $APPLCSF

There you will have the log and out folders.

You can also try the following command to know the value of the APPLCSF variable.

env | grep log

9) 
Turn-on the application server:-
----------------------------------------------
./oraWebAndForms.sh start Instance name

Example:-

./oraWebAndForms.sh start XYZ12

Note:-
------
1) XYZ12 is the Instane name.
2) After turnning the Database and concurrent manager up. still the application front end will not open. The you need to run the above script from the applmgr user

To login to different user:-
------------------------------

sudo su - applmgr

Note:- applmgr is the superuser name. This username can depends on the DBA, what they have given at your Instance.

9.1) 
If you are getting 500 Internal error message after bounce back then try this:-
-----------------------------------------------------------------------------------------------------
Try to restart your application and restart your manage and see if it resolve the issue.

For the 12 Release, the above solution may not work. After you cleared _pages in R12, you'll need to recompile because the default mode is 'justrun' instead of 'recompile' as was in 11i.

I did the following while applmgr in my Instance XYZ12 env and the login now works:


1. cd $FND_TOP/patch/115/bin
2. ./ojspCompile.pl --compile --flush -p 2

(You can check if you are able to open the application or not). If you are still facing the issue then try rebounce the application and see if it resolve the issue).

3. /home/applmgr/oraWebAndForms.sh bounce xyz12

(./oraWebAndForms.sh bounce zyx12)

Note:- You need to run the above script in the applmgr user

sudo su - applmgr

10) 
To start or stop the Internal concurrent manager:-
---------------------------------------------------------------------
cd $ADMIN_SCRIPTS_HOME/

./adcmctl.sh start apps/apps

./adcmctl.sh stop apps/apps

Note:- This need to be run from applmgr user
-----

sudo su - applmgr

11)
 To stop the database or start the database:-
------------------------------------------------------------
cd $ORACLE_HOME/appsutil/scripts/xyz12_server/

Note:- The above path is specfic to my server Instance.

To stop the database:- adstopdb.sql*

To start the database:- adstrtdb.sql*


Note:- This need to be run from Oracle user.
------

sudo su - oracle

12) 
Converting all the tabs to space in the file:-
-----------------------------------------------------------
By setting the following options in your ~/.vimrc file,
when you use tabs, spaces are actually entered into the file,
although it "feels" like there are tabs because backspaces work as they would with tabs.

You'll never have to worry about differing tabstop standards again.
Try it out, I promise you’ll be completely sold!

set softtabstop=4
set expandtab
set shiftwidth=4

Note also that if you want to convert a file with tabs to all spaces, set the above options and then use:
:retab!

13) 
To know the Operating system on server (unix):-   >uname
Example:-
-----------
2007.08.06-3:18:03 preddy@oscar[6]/home/partners-home/xyz/phani/xyz_23Jul/abc/la/utils > uname

HP-UX

14) 
To know the Operating system on server from database:-
---------------------------------------------------------------------------
begin
dbms_output.put_line('Port String: '||dbms_utility.port_string);
end;


15) 
Admin utility to compile all the invalid objects:-
-----------------------------------------------------------------
i) This utility is avilable for the applmgr user. Use the following command to login with applmgr user.

>>sudo su - applmgr

ii) Choose the Intance and then use the following command to run the adadmin utility.

>>adadmin

{ Note:- It will ask for the $APPL_TOP path. If the default path is not the correct one then provide the correct path.
It will ask for the Log file name. (Default name willl be (adadmin.log)).
It will ask if you can be notified by email if a failure occurs. (Default will be set for NO).
It will ask for the Batchsize (Default is 1000).
It will ask for the correct database name.
It will ask to enter the password for your 'SYSTEM' ORACLE schema.("manager" will be the password).
(manager password will be only one you enter manually. Rest of things you take the default values.)
It will ask to enter the ORACLE password of Application Object Library (default will be [APPS]).
}

iii) To will give the menu with different options.
-----------------------------------------------------
We will choose the "Compile/Reload Applications Database Entities menu" option. It will be 3 option normally.

iv) To will again give the other set of menu optins.
----------------------------------------------
We will choose "Compile APPS schema" option to compile all the Invalid objects in APPS schema.

(Note:- You can also use $ORACLE_HOME/rdbms/admin/utlrp.sql (which will compile all invalid objects thru SVRMGRL.)).

17) 
To know apps password:-
--------------------------------------
cd $ORACLE_HOME/reports60/server

more CGIcmd.dat

You will find userid=APPS/apps_pass@Instance_name

Note:- If you have the FTP access for server files. Then we can know the Apps password.

18) 
QUOTA:-
---------------------Say employees are allocated a certain amount of disk space on the file system for their personal files, say 1000Mb. If you go over your quota, you are given some 'n' days to remove excess files.
To check your current quota and how much of it you have used. For that you can use the following command.
quota -v

19) DF:- To find out how much space is left on the fileserver, use the following command.  > df .

20) DU:-The du command outputs the number of kilobyes used by each subdirectory. Useful if you have gone over quota and you want to find out which directory has the most files. From your home-directory, use the following command.

du -s *
The -s flag will display only a summary (total size) and the * means all files and directories.

21) GZIP:-
---------------
This reduces the size of a file, thus freeing valuable disk space. This is compress the file. Is it similar to the Winzip in the Windows Operating system.

Example:-
ls -l phani.txt
note the size of the file using ls -l , then to compress phani.txt, use the following command.

gzip phani.txt
This will compress the file and place it in a file called phani.txt.gz
To see the change in size, use ls -l again.
To expand the file, use the gunzip command.

gunzip phani.txt.gz
This is similar to the Unzip the file in your Windows Operating system.

22) 
ZCAT:-
----------------
zcat will read gzipped files without needing to uncompress them first.
zcat phani.txt.gz

If the text scrolls too fast for you, pipe the output though less .
> zcat phani.txt.gz | less

23) FILE:- 
File classifies the named files according to the type of data they contain, for example ascii (text), pictures, compressed data, etc.. To report on all files in your home directory, use the following command.
file *

24) DIFF:-
----------------
This command compares the contents of two files and displays the differences. Say you have a file called file1 and you edit some part of it and save it as file2. To see the differences use the following command.
diff file1 file2

25) ECHO:-
------------------
echo $variable_value
The value of the environment variable can get from the echo command.

Example:-
echo $APPL_TOP

In the above command we get the APPL_TOP variable value set in the environment file. APPL_TOP is the environment variable in the environment file.

26) 
General Commands:-
------------------------------
Command
Meaning
ls
list files and directories
ls -a
list all files and directories
mkdir
make a directory
cd directory
change to named directory
cd
change to home-directory
cd ~
change to home-directory
cd ..
change to parent directory
pwd
display the path of the current directory
cp file1 file2
copy file1 and call it file2
mv file1 file2
move or rename file1 to file2
rm file
remove a file
rmdir directory
remove a directory
cat file
display a file
less file
display a file a page at a time
head file
display the first few lines of a file
tail file
display the last few lines of a file
grep 'keyword' file
search a file for keywords
wc file
count number of lines/words/characters in file
command > file
redirect standard output to a file
command >> file
append standard output to a file
command < file
redirect standard input from a file
command1 |command2
pipe the output of command1 to the input of command2
cat file1 file2 > file0
concatenate file1 and file2 to file0
sort
sort data
who
list users currently logged in
*
match any number of characters
?
match one character
man command
read the online manual page for a command
whatis command
brief description of a command
apropos keyword
match commands with keyword in their man pages
ls -lag
list access rights for all files
chmod [optionsfile
change access rights for named file
command &
run command in background
^C
kill the job running in the foreground
^Z
suspend the job running in the foreground
bg
background the suspended job
jobs
list current jobs
fg %1
foreground job number 1
kill %1
kill job number 1
ps
list current processes
kill 26152
kill process number 26152

Basic uses of find

How to find a file?
$ find /export/home -name testfile
How to find a file and its details?
$ find /export/home -name testfile -exec ls -l {} \;
How to find a file which is not modified since past 60 days?
$ find /export/home -mtime +60 -exec ls -l {} \;

How to find a file which is not accessed since past 60 days?
$ find /export/home -atime +60 -exec ls -l {} \;


How to find a directory 
$ find /var/adm -type d