Introduction
Linux is a Unix like Computer operating
system assembled under the model of free and open source system software
§ Linux
1ST released on October 1991 by Linus Torvalds .
§ Main
supporting user space and libraries are originated by Richard Stallman 1983.
§ More
than 90% today supercomputers run some
variant of Linux.
§ Linux
also runs in embedded systems.
§ Typically
Linux is packaged in a format known as Linux distribution for Desktop and
servers use.
§ Some
main popular designs in Linux are Ubuntu, Redhat, Solaris, debian, fedora.
§ Over
1,000 developers, from at least 100 different companies, contribute to every
kernel release.
§ In
the past two years alone, over 3,200 developers from 200 companies have
contributed to the kernel--which is just one small piece of a Linux
distribution.
§ One
of the most valued advantages of Linux over the other platforms lies with the
high security levels it ensures.
§ Every
Linux user is happy to work in a virus-free environment and use the regular
virus-prevention time needed when working with other operating systems for
other more important tasks.
§ Linux
is being constantly developed and updated by the constantly expanding community
of programmers supporting it.
Advantages of Linux
§
Low cost: There is no need to spend time and huge amount money to
obtain licenses since Linux and much of it's software come with the GNU General
Public License. There is no need to worry about any software's that you use in
Linux.
§
Stability: Linux has high stability compared
with other operating systems. There is no need to reboot the Linux system to
maintain performance levels. Rarely it freeze up or slow down. It has a
continuous up-times of hundreds of days or more.
§
Performance: Linux provides high performance on
various networks. It has the ability to handle large numbers of users
simultaneously.
§
Networking: Linux provides a strong support for
network functionality; client and server systems can be easily set up on any
computer running Linux. It can perform tasks like network backup more faster
than other operating systems.
§
Flexibility: Linux is very flexible. Linux can
be used for high performance server applications, desktop applications, and
embedded systems. You can install only the needed components for a particular
use. You can also restrict the use of specific computers.
§
Compatibility: It runs all common Unix software
packages and can process all common file formats.
§
Wider Choice: There is a large number of Linux
distributions which gives you a wider choice. Each organization develop and
support different distribution. You can pick the one you like best; the core
function's are the same.
§
Better use of hard disk: Linux uses its resources well
enough even when the hard disk is almost full.
§
Multitasking: Linux is a multitasking operating
system. It can handle many things at the same time.
§
Security: Linux is one of the most secure
operating systems. File ownership and permissions make linux more secure.
§
Open source: Linux is an Open source operating
systems. You can easily get the source code for linux and edit it to develop
your personal operating system.
Differences between
Linux and Windows
§ Linux is an open-source Operating System. People can change codes
and add programs to Linux OS which will help use your computer better.
§ Linux evolved as a reaction to the monopoly position of windows. you
can't change any code for windows OS.
§ You can't even see which processes do what and build your onw
extension. Linux wants the programmers to extend and redesign it's OS. Linux
user's can edit its OS and design new OS.
§ All flavors of Windows come from Microsoft. Linux come from
different companies like LIndows , Lycoris, Red Hat, SuSe, Mandrake, Knapping,
Slack ware.
§ Linux is customizable but Windows is not. For example,NASlite is a
version of Linux that runs off a single floppy disk and converts an old
computer into a file server.
§ This ultra small edition of Linux is capable of networking, file
sharing and being a web server.
§ Linux is freely available for desktop or home use but Windows is
expensive. For server use, Linux is cheap compared to Windows.
Microsoft allows a single copy of Windows to be used on one
computer. You can run Linux on any number of computers.Linux has hign security. You have to log on to Linux with a userid and password. You can login as root or as normal user. The root has full previlage.
Linux has a reputation for fewer bugs than Windows.
Windows must boot from a primary partition. Linux can boot from either a primary partition or a logical partition inside an extended partition. Windows must boot from the first hard disk. Linux can boot from any hard disk in the computer.
Windows uses a hidden file for its swap file. Typically this file resides in the same partition as the OS (advanced users can opt to put the file in another partition). Linux uses a dedicated partition for its swap file.
Windows separates directories with a back slash while Linux uses a normal forward slash.
Windows file names are not case sensitive. Linux file names are. For example "abc" and "aBC" are different files in Linux, whereas in Windows it would refer to the same file.
Windows and Linux have different concepts for their file hierarchy. Windows uses a volume-based file hierarchy while Linux uses a unified scheme. Windows uses letters of the alphabet to represent different devices and different hard disk partitions. eg: c: , d: , e: etc.. while in linux " / " is the main directory.
Linux and windows support the concept of hidden files. In linux hidden files begin with " . ", eg: .filename
Linux Directory Structure
§ " / " is the root Directory in Linux. " /root "
will be the home directory for the root user (administrator).
§ Root will have the full administrative power over the system and
other users. There are other directories like / home, /bin, /sbin, /lib etc.
§ Each user will have there own home directory.
List Of All Directories in Linux/ ---------> Root or the main directory
|---root ---------> Home directory for the root user
|---home ---------> User's home directories
| |----ftp ---------> Users services are listed here
| |----httpd
| |----samba
| |----user1
| |----user2
|---bin ---------> Commands needed during bootup and also needed by normal users
|---sbin ---------> Like bin but commands are not intended for normal users.
|---proc ---------> This filesystem is not on a disk. virtual directory.
| |
| |----n ---------> A directory with info about process number n.
|
|---usr ---------> Contains all commands, libraries, man pages etc for normal operation.
| |
| |----bin ---------> Almost all user commands.
| |----sbin ---------> System admin commands not needed in the root filesystem.
| |
| |----include ---------> Header files for the C programming language.
| |
| |----lib ---------> Unchanging data files for programs and subsystems
| |----local ---------> Locally installed software and other files.
| |----man --------> Help pages
| |----info ---------> Info documents
| |----doc ---------> Documentation for various packages
| |----tmp
| |----X11R6 ---------> The X windows system files.
| |
| |----X386 ---------> Like X11R6 but for X11 release 5
|---boot ---------> Files used by the bootstrap loader, LILO. Kernel images stored.
|---lib ---------> Shared libraries needed by the programs on the root filesystem
| |----modules ---------> Loadable kernel modules.
|
|---dev ---------> Device files for devices such as disk drives, serial ports, etc.
|---etc ---------> Configuration files specific to the machine.
| |----skel ---------> For home directory creation.
| |----sysconfig ---------> Files that configure the linux system for networking etc.
|---var ---------> Contains files that change for mail, news, temp files, etc
| |----file
| |----lib ---------> Files that change while the system is running normally
| |----local ---------> Variable data for programs installed in /usr/local.
| |----lock ---------> Lock files. Used by a program.
| |----log ---------> Log files from programs such as login and syslog etc.
| |
| |----run ---------> Files that contain information about the system.
| |
| |----spool ---------> Directories for mail, printer spools, news and other spooled work.
| |----tmp ---------> Temporary files that are needed to exist for longer time.
| |
|---mnt ---------> Mount points for temporary mounts by the system administrator.
|---tmp ---------> Temporary files. Programs running after bootup should use /var/tmp.
Permission set in Linux
For files and Directories
There is permission set for the Owner, Group and Others.
When you type " ll " you will get 10 set of values for each files eg:
-rw-rw-r-- 1 name name 41333 Aug 18 22:57 jpg . The 1st bit denotes if its a
directory or file. 2nd, 3rd and 4th bit is the owner's permission. 5th, 6th and
7th bit is group's permission and 8th, 9th and 10th bit is for other's
permission. According to the example owner and group has read/write permission
and other's have only read permission. You can change the permission of a file. Try chmod 777 filename. This will give owner, group and other's full permission (read/write/execute) over the file.
Permission Sets
1 - Execute
2 - Write
3 - Write and Execute
4 - Read
5 - Read and Execute
6 - Read and Write
7 - Read, Write and Execute
Try chmod 700 filename. This will give the owner of the file full permission. The Group and other's will have no permission to access the file. Only the owner of the file can read, write or execute the file. If you want other and Group only to read the file you can give chmod 744 filename.