Useful LINUX commands
grep command: Searches for given string in files
grep -i "search_text" file_name
grep -ilrn "search_text" * (To search in all files)
Attributes: i for ignore case, l for list names of files, r for searching recursively, n for line number where text is matched in the file
find command: Finds files using file-name
find -iname "MyTextFile.c"
find -iname "MyTextFile.c" -exec md5sum {} \; :Executes commands on files found by the find command
find ~ -empty :Finds all empty files in home directory
pwd command: pwd is Present working directory. It prints the current directory.
cd command: It is used to change the directory.
Use “cd -” to toggle between the last two directories
Use “shopt -s cdspell” to automatically correct mistype directory names on cd
diff command: compares two files
diff -w file1.txt file2.txt
tar command examples:
tar cvf archive_name.tar dirname/ :Creates a new tar archive
tar xvf archive_name.tar : Extracts from existing tar archive
tar tvf archive_name.tar : view an existing tar archive
gzip command examples
gzip file.txt : creates a *.gz compressed file
gzip -d file.txt.gz : Uncompress a *.gz file
gzip -l *.gz : Displays the compression ratio of the compressed file
bzip2 command examples
bzip2 file.txt : creates a *.bz2 compressed file
bzip2 -d file.txt.bz2 : uncompresses a *.bz2 file
unzip command examples
unzip test.zip : Extracts the zipped file
unzip -l test.zip : views the content of zipped file without unzipping
ssh commands: It is used to work remotely
ssh -l kamal remotehost.com : Login to remote gost
ssh -l kamal 10.201.42.12
ssh -v -l kamal remotehost.com : Debug ssh client
ssh -V : Display ssh client version
ftp command examples
ftp IP/hostname : connects to a remote server
ftp> mget *.html : Download file from that server
ftp> mls *.html - : views the file names located on the remote server
wget command :
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz : to download any file from internet
wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701 : Download and store it
vim command examples
vim +14 file.txt : Go to the 14th line of file
vim +/search_text file.txt : goto the first match of the specified search text
vim -R /etc/passwd : Opent he file in the read only mode
sort command examples
sort nameList.txt : Sorts a file in ascending order
sort -r nameList.txt : Sorts a file in descending order
sort -t: -k 3n /etc/passwd | more : Sorts passwd file by third field
xargs command examples
ls *.jpg | xargs -n1 -i cp {} /external-drive/directory : Copy all images to external drive
find / -name *.jpg -type f -print | xargs tar -cvzf allImages.tar.gz : Search all jpg images in the system and archive it.
cat url-list.txt | xargs wget –c : Downloads all the URLs mentioned in the url-list.txt file
ls command examples
ls -lh : Displays filesize in KB / MB
ls -ltr : Orders Files Based on Last Modified Time
ls -F : Visual Classification of Files
sed command examples
sed 's/.$//' filename :Converts the DOS file format to Unix file format (removes \r or \n)
sed -n '1!G;h;$p' file.txt : Prints file content in reverse order
sed '/./=' file.txt | sed 'N; s/\n/ /' : Adds line number for all non-empty-lines in the file
awk command examples
awk '!($0 in array) { array[$0]; print }' temp : Removes duplicate lines
awk -F ':' '$3==$4' passwd.txt ; Prints all lines from /etc/passwd that has the same uid and gid
awk '{print $2,$5;}' file.txt : Prints only specific field from a file.
shutdown command examples
shutdown -h now : Shutdown the system and turn the power off immediately.
shutdown -h +10 : Shutdown the system after 10 minutes.
shutdown -r now : Reboot the system
shutdown -Fr now : Force the filesystem check during reboot.
crontab command examples
crontab -u kamal -l : View crontab entry for a specific user
service command examples : Service commands are used to run the system V init scripts. i.e Instead of calling the scripts located in the /etc/init.d/ directory with their full path, we can use the service command.
service ssh status : checks the service status
service --status-all : Check the status of all the services.
service ssh restart : Restart a service
ps command : It is used to display information about the processes running in the system.
ps -ef | more : view the current running processes
ps -efH | more : To view current running processes in a tree structure. H means process hierarchy.
free command: It is used to display the free, used, swap memory available in the system.
free
free -g : If you want to quickly check how many GB of RAM your system has use the -g option. -b option displays in bytes, -k in kilo bytes, -m in mega bytes.
free -t : use this if you want to see a total memory ( including the swap)
top command: It displays the top processes in the system, by default sorted by cpu usage. To sort top output by any column, press O (upper-case O) , which will display all the possible columns that you can sort by.
top
top -u oracle : To display only the processes that belong to a particular user use -u option. This command will show only the top processes that belongs to oracle user.
df command:
df -k : displays the file system disk space usage. By default df -k displays output in bytes.
df -h : displays output in human readable form. i.e size will be displayed in GB’s.
df -T : display type of file system.
kill command: It is used to terminate a process. First get the process id using ps -ef command, then use kill -9 to kill the running LINUX process. You can also use killall, pkill, xkill to terminate a unix process.
ps -ef | grep vim
kill -9 7243
rm command : Removes a file
rm -i filename.txt : Get confirmation before removing the file.
rm -i file* : Print the filename and get confirmation before removing the file.
rm -r example : It recursively removes all files and directories under the example directory. This also removes the example directory itself.
cp command : Used for copying files from source to destination
cp -p file1 file2 : Copy file1 to file2 preserving the mode, ownership and timestamp.
cp -i file1 file2 : Copy file1 to file2. if file2 exists prompt for confirmation before overwritting it.
mv command: used to rename a file / folder
mv -i file1 file2 : Rename file1 to file2. if file2 exists prompt for confirmation before overwritting it.
mv -f file1 file2 : Rename file1 to file2. if file2 exists overwrite it without prompting for confirmation
mv -v file1 file2 : It will print what is happening during file rename, verbose output
cat command : used to view the file
cat file1
cat file1 file2 : view multiple files at the same time. It prints the content of file1 followed by file2 to stdout.
cat -n /etc/test.txt : It will prepend the line number to each line of the output while displaying the file.
mount command
To mount a file system, we should first create a directory and mount it:
mkdir /newDir
mount /dev/sdb1 /newDir
We can also add this to the fstab for automatic mounting. i.e Anytime system is restarted, the filesystem will be mounted.
/dev/sdb1 /newDir ext2 defaults 0 2
chmod command: chmod command is used to change the permissions for a file or directory.
chmod ug+rwx file.txt ; Give full access (read, write and execute) to user and group on a specific file.
chmod g-rwx file.txt : Revoke all access (read, write and execute) for the group on a specific file.
chmod -R ug+rwx file.txt : Apply the file permissions to all the files in the sub-directories.
chown command: change the owner and group of a file
chown oracle:dba dbora.sh : To change owner to oracle and group to db on a file. i.e Change both owner and group at the same time.
chown -R oracle:dba /home/oracle : change the owner recursively
passwd command : used to change the password through command line
passwd : User can change their password using this command. It will ask for current password.
passwd USERNAME : Super user can use passwd command to reset others password. This will not prompt for current password of the user.
passwd -d USERNAME : Remove password for a specific user. Root user can disable password for a specific user. Once the password is disabled, the user can login without entering the password.
uname command: It displays important information about the system such as — Kernel name, Host name, Kernel release number, Processor type, etc.
uname -a
su command
su - USERNAME : Switch to a different user account using su command. Super user can switch to any other user without entering their password.
su - raj -c 'ls' : Execute a single command from a different account name. In the following example, john can execute the ls command as raj username. Once the command is executed, it will come back to john’s account.
su -s 'SHELLNAME' USERNAME : Login to a specified user account, and execute the specified shell instead of the default shell.
mkdir command: to create directories
mkdir ~/myDir : creates a directory called myDir under home directory.
mkdir -p dir1/dir2/dir3/dir4/ : It creates nested directories using. If any of these directories exist already, it will not display any error. If any of these directories doesn’t exist, it will create them.
ifconfig command: used to view or configure a network interface on the Linux system, same as ipconfig in windows.
ifconfig -a : View all the interfaces along with status.
Start or stop a specific interface using up and down command as below.
ifconfig eth0 up
ifconfig eth0 down
ping command :
ping google.com : Ping a remote host.
ping -c 5 google.com : Ping a remote host by sending only 5 packets.
whereis command
whereis ls : When wewant to find out where a specific Unix command exists (for example, where does ls command exists?), we can execute this command.
whereis -u -B /tmp -f lsmk : When you want to search an executable from a path other than the whereis default path, you can use -B option and give path as argument to it. This searches for the executable lsmk in the /tmp directory, and displays it, if it is available.
whatis command : It displays a single line description about a command.
whatis ls
whatis ifconfig
man command : Displays the man page (manual page) of a specific command
man crontab
locate command: Using locate command we can quickly search for the location of a specific file (or group of files). Locate command uses the database created by updatedb.
locate crontab
tail command
tail file.txt : Print the last 10 lines of a file by default.
tail -n N file.txt : Print N number of lines from the file named file.txt
tail -f log-file : View the content of the file in real time using tail -f. This is useful to view the log files, that keeps growing. The command can be terminated using CTRL-C
less command: less is very efficient while viewing huge log files, as it doesn't need to load the full file while opening. After opening file through less, following command is very useful:
CTRL+F – forward one window
CTRL+B – backward one window
fg command : This command resumes execution of a suspended process
date command :
date -s "01/13/2015 13:55:14" : Set the system date
Once you’ve changed the system date, you should syncronize the hardware clock with the system date as shown below.
hwclock –systohc
hwclock --systohc –utc
mysql command
mysql -u root -p -h 192.160.10.2 : To connect to a remote mysql database. This will prompt for a password.
mysql -u root -p : To connect to a local mysql database. If you want to specify the mysql root password in the command line itself, enter it immediately after -p (without any space).
yum command
yum install httpd : To install apache using yum.
yum update httpd : To upgrade apache using yum.
yum remove httpd : To uninstall/remove apache using yum.
rpm command
rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm : To install apache using rpm.
rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm : To upgrade apache using rpm.
rpm -ev httpd : To uninstall/remove apache using rpm.