3. LINUX
Linux is an operating system based on UNIX, and was first introduced by
Linus Torvalds commonly used in servers.
It is based on the Linux Kernel, and can run on different hardware platforms
manufactured by Intel, MIPS, HP, IBM, SPARC and Motorola. Another
popular element in Linux is its mascot, a penguin figure named Tux.
âą Itâs free and available in open source.
Open source: Open source is a platform that allows you to distribute your
software, including source codes freely to anyone who is interested. People
would then be able to add features and even debug and correct errors that
are in the source code. They can make it run better by adding some new
features and then redistributes these enhanced source code freely again.
This eventually benefits everyone in the community.
4. SHELL
The shell is a program that takes keyboard commands and passes them to the operating
system to carry out. Almost all Linux distributions supply a shell program from the GNU
project called BASH.
BASH: the name âBASHâ acronym for âBourne Again Shellâ. It was written by Steve
Bourne as a replacement to the original Bourne Shell (represented by /bin/sh). It
combines all the features from the original version of Bourne Shell, plus additional
function to make it easier and more convenient to use. It has since been adapted as the
default shell for the most system running shell.
Terminal Emulators: When using a graphical user interface we need another program
called a terminal emulator to interact with the shell. Itâs likely called simply âterminalâ
on our menu.
Launch the terminal:
[root@localhost ~] #
This is called a shell prompt and it will appear whenever the shell is ready to accept
input.
5. Directory Structure
âą /bin : normal command execution directory
âą /sbin : administrative command execution directory
âą /boot : boot loader directory it contains GRUB
âą /etc : configuration file directory
âą /proc : current process info directory
âą /media: external media device mount point
âą /mnt : network or local mount point
âą /opt : third party software installation directory
âą /usr : entire installation and own software installation directory
âą /lost+found : recovery directory
âą /selinux : security directory
âą /var : log directory
âą /root : root user home directory
âą /home: normal user home directory
In Linux â/â
work as a
drive, as C:
in Windows
6. BASIC Commands
Generally we use two prompts in Linux :
1. # : root user (Administrative authentication)
2. $ : normal user (restricted authentication)
# ls
List command to show the content of directory
# ls -l
To get detailed list of directory content
# ls -a
To get the list of all file/dir including hidden object.
# pwd
Print working directory
# mkdir <dirname>
To create a directory
Structure of command in Linux:
# <command> - <option> <arguments> [* always use âââ before option]
7. BASIC Commands
# mkdir -p <dir1>/<dir2>/<dir_n>
To create parent directory
# mkdir <dir> <dir2> <dir_n>
To create multiple directory
# touch <filename>
To create a new file
# touch <file1> <file2> <file_n>
To create multiple file
# cd <dir name>
To change directory
# cd ..
To close any directory
# cat <file name>
To view the data of any file
8. BASIC Commands
# cat > <file name>
To input data in file with input mode
# cat >> <file name>
To input data in file with append mode
# rm -r <file/dir name>
To delete file/dir
# rm -rf <file/dir name>
To delete file/dir forcefully
# cp -rv <source> <destination>
To copy file/dir and paste
# mv <source> <destination>
To move/cut a file/dir and paste
# man <command name>
To get the help of command
9. BASIC Commands
# <command name> --help
To get brief details of command
# which <command name>
To get the location of command execution
# who
To get the info of logged-in user
# halt
To shutdown
# reboot
To restart
10. Text Editor
Text editor is a software to create or edit text files.
Text editor can be GUI and CLI.
GUI text editor used in Linux:
1. Gedit
2. Leafpad
CLI text editor used in Linux:
1. Vi
2. Vim
3. Nano
4. emacs
VI (Visual Editor)
vi or vim is a terminal text editor.
Commands:
# vim <file name>
To create or edit existing file
11. Text Editor
There are three modes in vi editor
1. Command mode (default mode)
2. Insert mode
3. EX mode
1. Command Mode (ESC) : It is used to do cut, copy, paste.
yy : to copy a line
<num> yy : to copy multiple lines
yw : to copy a word
dd : to cut a line
D : to delete a line
<num>D : to delete multiple lines
<num>dd : to cut multiple lines
dw : to cut a word
p : to paste
12. Text Editor
2. Insert Mode (to enter in insert mode press i or a)
data input or edit mode.
3. EX mode (to enter in EX mode press ESC then SHIFT + : )
This mode is used for file saving and quieting.
: w : to save
: q : to quit
: wq : to save and quit
: w! : to save forcefully
: q! : to quite forcefully
:/<find word> : to search any word
:;%s/<find word>/<replace word>/g : to replace any word
: set nu : to set line number
: set nonu : to unset line number
13. User Group Management
User : Users are the login account through which we can access
the resources and features of an operating system.
Group : Groups are the place where user accounts are placed for
security and policy implementation.
Important file locations:
/etc/passwd : users details file
/etc/shadow : users encrypted password file
/etc/group : groups details file
Commands:
# groupadd <group name>
To create new group
# useradd <user name>
To create new user
14. User Group Management
# passwd <user name>
To create or change user password
# useradd -g <primary group> -G <sec group1> <sec group2>
<username>
To create a user with specific primary group and secondary group.
[-g : Primary group, -G : Secondary group]
# usermod -g <groupname> <existing name>
To modify primary group name
# usermod -G <groupname1>,<groupname2> <existing user name>
To change or modify secondary group
# useradd -d âdirectory name with locationâ <user name>
To give a new home directory
# useradd -c âcommentâ -g <groupname> <username>
To give comment for a user
# usermod -c âcommentâ <user name>
To change or modify user comment
15. User Group Management
root : x : 0 : 0 : root : /root : /bin/bash
root : user name
x : link to shadow file
0 : user ID
0 : Group (primary) ID
root : comment of user
/root : home directory of user
/bin/bash : user shell
# useradd -s /sbin/nologin <username>
To create no-login user
# userdel -r <user name>
To delete user
# groupdel <group name>
To delete group (firstly delete group members)
16. Permissions
It is used to implement access control on objects (files and dir) of operating
system.
There are three permission in Linux
1. Read r 4
2. Write w 2
3. Execute x 1
# ls -l or ll
To check the permissions of any file/dir
# chmod UGO <file/dir>
To give or change permissions
# chmod -R UGO <file/dir>
To give or change permissions of sub file/dir (parent file/dir)
Each objects (file/dir) have three pairs of permissions
Like: rwx rwx rwx
user group others
17. Permissions
# chmod -R <user>:<group> <file/dir>
To change the ownership
Default permission
Root User:
File : 644
Dir : 755
User home dir : 700
Normal User:
File : 664
Dir : 775
18. GRUB
It is the boot loader for the linux. GRUB is short for GNU Grand Unified Boot
Loader.
Location of Grub file is :
/boot/grub/grub.conf : Original file
/etc/grub.conf : shortcut file
We can reset boot user password using two methods:
1. Single user mode (Using grub menu)
2. Rescue mode (Using linux DVD)
# grub-md5-crypt : to create encrypted password
19. TAR (Tap Archiver)
It is used for making TAR and compressed file. It is like making zip file and
rar files in windows. It also considered as backup and restore method.
Commands:
# tar -cvf <output.tar> <input folder>
To create a tar file
# tar -tvf <filename.tar>
To check the contents of tar file
# tar -xvf <filename.tar>
To extract the contents of tar or compressed file
# tar -zcvf <output.tar.gz> <input.tar>
To create compressed tar file
# tar -jcvf <output.tar.bz2> <input.tar>
To create compressed .bz2 tar file
20. RPM (Redhat Package Manager)
RPM is used to install packages in Redhat Linux OS. The extension of
Redhat Linux package is .rpm like .exe in windows.
Note: RPM command do not resolve dependency packages automatically.
Commands:
# rpm -ivh <packagename.rpm>
To install package
# rpm -e <software name>
To uninstall package/software
# rpm -qa
To get the list of all installed software
# rpm -qa grep <keyword>
To get the list of installed software using filter
# rpm -qi <softwarename>
To get info of all installed software
21. RPM (Redhat Package Manager)
# rpm -ql <software name>
To get the list of file/dir copied to system and its location by package
# rpm -qf <file/dir name>
To know the responsible package name of file/dir
# rpm -ivh --force --nodeps --aid <package name>
To install any package forcefully
22. Networking
It is assign used to assign IP address in our OS.
We can assign IP in two ways
1. Temporary IP setting
2. Permanent IP setting (using manual and DHCP)
Commands:
# ifconfig
To check the IP address and interface
# ifup <interface name>
To enable LAN interface
# ifdown <interface name>
To disable LAN interface
# hostname
To check the hostname of computer
23. Networking
# hostname <newhostname>
To change the hostname
# ifconfig <interface> <ipadress>
To assign IP
# route add default gw <gateway IP>
To assign gateway IP
# vim /etc/resolv.conf
nameserver <DNS1 IP>
nameserver <DNS2 IP> : to assign DNS IP
:wq
ï¶ Temporary IP setting
ï¶ Permanent IP setting
# system-config-network
To assign IP, Netmask, Gateway, Hostname, DNS1, DNS2 etc.
# service network restart
To restart the service of network
25. Harddisk Management
It is used to configure and maintain HDD partitions, volumes and file system in Linux
Commands used in HDD management
# fdisk -l
# fdisk <hdd file name>
To enter in HDD management mode
Commands used in HDD management mode:
: m : for all command and details
To check the partition table and HDD details
: p : for print current partition table
: n : to create new partition or volumes
: t : to change file system table
: l : to list file system hex code
: d : to delete a partition
: w : to save and quit
: q : to quit without saving
# mkfs.ext4 <partition_name>
To format Linux partition
After any
changes done
using fdisk
command,
Restart is
compulsary
# mkfs.vfat <partition_name>
To format windows partition in Linux