An Introduction To Linux

1,706 views

Published on

An Introduction To Linux, Originally Presented at SLIIT on 21st May 2014

Published in: Software, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,706
On SlideShare
0
From Embeds
0
Number of Embeds
203
Actions
Shares
0
Downloads
73
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

An Introduction To Linux

  1. 1. An Introduction to Linux Ishan A B Ambanwela
  2. 2. Contents ● History ● Linux System Architecture ● Major Components Described – Kernel, Shell, Quickies, File System, Processes, I/O redirection, Networking Brief, Booting The System, Desktop Environments ● Choose a Distribution ● Make Your Own OS ● Useful Resources ● Q&A
  3. 3. History - Background ● In late 60s every computer had a different operating system ● Software was always customized to serve a specific purpose ● Being able to work with one didn't automatically mean that you could work with another http://www.soemtron.org/images/jpgs/decimages/pdp7sn112delivery.jpg
  4. 4. History - Unix ● In 1969, Bell Labs started working on this Software problem – Simple and elegant – Written in the C instead of in assembly code – Able to recycle code ● OS with a “kernel”, a compatibility layer http://en.wikipedia.org/wiki/File:Ken_Thompson_%28sitting%29_and_Dennis_Ritchie_at_PDP-11_%282876612463%29.jpg http://en.wikipedia.org/wiki/File:AT%26T_logo.svg
  5. 5. History – Linus & Linux ● Linus Torvalds, a computer science student from university of Helsinki ● version 0.01 was released with 10,239 LOC in 1991 ● it would cost approximately 3 billion USD to redevelop http://en.wikipedia.org/wiki/File:Linus_Torvalds.jpeg
  6. 6. Linux - Pros & Cons ● Pros ● Free ● Secure ● Versatile ● Scalable ● Designed for continuous running ● Portable ● Short debug time ● Community spirit ● Cons ● Too many distributions ● Confusing for beginners ● Games ● Limited support for proprietary applications ● Limited vendor support
  7. 7. A Linux System http://www.ibm.com/developerworks/opensource/library/l-linuxuniversal/figure1.gif
  8. 8. The Architecture http://www.tutorialspoint.com/operating_system/images/linux_architecture.jpg
  9. 9. The Kernel ● Manage all hardware ● Manage all processes and daemons ● Inter Process Communications http://www.ibm.com/developerworks/library/l-linux-kernel/figure3.jpg
  10. 10. The Shell “the shell is the steering wheel of the car” Shortcut Function Ctrl+A Move cursor to beginning Ctrl+C End running program Ctrl+D End current session Ctrl+E Move cursor to end Ctrl+H Backspace Ctrl+L Clear Ctrl+R Search command history Ctrl+Z Suspend the program Tab Auto complete Tab Tab Show possible auto completes Up/Down Command history Left/Right Move cursor http://www.ibm.com/developerworks/linux/library/l-linux-shells/figure2.gif
  11. 11. The Shell ● Shell loads settings and execute commands when starts – ~/.profile – login shells – ~/.bashrc – non login shells ● Shell will execute commands – ~/.bash_logout ● Command history will be saved in – .bash_history
  12. 12. Environment Variables ● Export New/Modified Variables – export PATH=$PATH:/path/to/dir1 ● Make permanent Changes – Add changes to ~/.bashrc or ~/.profile – System wide changes : /etc/profile ● Load settings – Ex: source /etc/profile
  13. 13. Quick Start Commands Command Use ls Display a list of files in current working directory cd <directory> Change directory pwd Display current working directory passwd Change the password cat <textfile> Display the content of a text file exit End the current session apropos <string> Search the “whatis” database info <command> Read info pages for the command man <command> Read man pages for the command
  14. 14. Linux File System ● On a Linux system, everything is a file. ● if something is not a file, it is a process. http://tldp.org/LDP/intro-linux/html/images/FS-layout.png
  15. 15. Partitions & Mount Points ● Partition Types – Data – normal Linux system data – Swap – an extension of physical memory ● All partitions are attached to the system via a mount point – defines the place of a data set in the file system – /etc/fstab holds the default structure fdisk -l /dev/sda3 28G 6.8G 20G 26% / /dev/sda5 376G 2.9G 354G 1% /home/ishanaba/Desktop /dev/sdc1 1.9T 1.6T 321G 83% /media/ishanaba/FreeAgent GoFlex Drive
  16. 16. Files Types Symbol Meaning - Regular file d Directory l Link c Special File s Socket p Named Pipe b Block Device ls -l drwxr-xr-x 2 ishanaba ishanaba 4096 May 20 18:09 Downloads -rw-r--r-- 1 ishanaba ishanaba 8980 Apr 19 12:53 examples.desktop
  17. 17. inode ● In Linux file systems, files are indexed by a number, "the inode" ● At the time a new file is created, it gets a free inode ● Owner and group owner ● File type (regular, directory, ...) ● Permissions ● Date/time of creation, last read/change ● Date/time changes in the inode ● Number of links to this file ● File size ● Actual location of the file data
  18. 18. Links ● Symbolic Links ● Hard Links http://linuxg.net/wp-content/uploads/2012/07/symlink-vs-hardlink.png
  19. 19. File Security ls -l drwxr-xr-x 2 ishanaba ishanaba 4096 May 20 18:09 Downloads -rw-r--r-- 1 ishanaba ishanaba 8980 Apr 19 12:53 examples.desktop ● chmod – change the mode/access – user|group|other <=> rwx|r-x|r-x ● chown – change the ownership – user group <=> ishanaba ishanaba
  20. 20. Some More Commands ● File Manipulation – Copy ● cp – Remove ● rm – Create Directory ● mkdir – Create a file ● touch ● Read Files – tail – head – grep – less – more ● Locate Files – find – locate
  21. 21. Processes ps -af -e UID PID PPID C STIME TTY TIME CMD ishanaba 9762 7120 0 20:12 pts/0 00:00:00 ps -af ishanaba 3107 2086 7 14:51 ? 00:22:44 gnome-system-monitor ● The process ID or PID ● The parent process ID or PPID ● Nice number ● Terminal or TTY ● User name of the real and effective user (RUID and EUID) ● Real and effective group owner (RGID and EGID)
  22. 22. Process Creation ● Fork and Exec ● Usually a system call ● Fork : a process creates an exact copy of it self with a different PID ● Exec : address space of the child process is overwritten with the new process data http://www.tldp.org/LDP/intro-linux/html/images/fork-and-exec.png
  23. 23. Start Processes ● Start a process – Simply type the command and enter – Ex: firefox ● Start a process in Background – Type the command following & sign – Ex: firefox & ● Related Commands – ps ● ps -e – pstree – top – nice/renice – netstat
  24. 24. End Processes ● When process ends normally, it will return “exit status” to the parent ● Processes can be killed terminated using Signals ● List all signals : kill -l Name Number Meaning SIGTERM 15 Terminate the process in orderly way SIGINT 2 Interrupt(can be ignored) SIGKILL 9 Interrupt(can not be ignored) SIGHUP 1 Reread the configuration file
  25. 25. I/O Redirection ● Redirect – Input ● Ex: mail example@example.com < to_do – Output ● Write Ex: ls > sample.txt ● Append Ex: ls >> sample.txt ● Pipe – Ex: ls /dev/tty* | grep USB
  26. 26. Networking ● Linux Supports almost all OSI model protocols Layer Name Protocols Application Layer HTTP, DNS, SMTP, POP, RPC, RTP Transport Layer TCP, UDP Network Layer IP, IPv6 Network Access Layer PPP, PPPoE, Ethernet
  27. 27. Booting The System 1.Initialize Hardware 2.Boot Loader 3.Kernel & initramfs 4.init on initramfs 5.init
  28. 28. Booting : Initialize Hardware ● BIOS – Power On Self Test – Search for Master Boot Record(MBR) – First 512 bytes of first Hard Disk ● UEFI – Power On Self Test – Load UEFI firmware – Initializes the hardware required for booting – Firmware reads its Boot Manager data – launches the UEFI application – the launched UEFI application may launch another application
  29. 29. Boot Loader, Kernel & initramfs ● boot loader loads – Kernel – initial RAM–based file system (initramfs) into memory ● initramfs contains a small executable, init ● init handles the mounting of the real root file system ● If special drivers are needed before the respective device be accessed, they must be in initramf
  30. 30. Booting : init in initramfs ● mount the proper root file system ● provide the Kernel functionality for the needed file system and device drivers with udev ● After the root file system has been found, it is checked for errors and mounted
  31. 31. Booting : init ● Init, process with id 1 ● All the other processes started by init ● Ex: SysV, initng, Upstart, systemd ● init continue boot with its configuration at /etc/inittab specifies – services – daemons which are available in each of the runlevels Run levels in SysV Run Level Description 0 System halt 1 Single user mode 2 Local multiuser without network 3 Full multiuser with network 4 Undefined can be configured 5 Full multiuser with network and X 6 reboot
  32. 32. Desktop Environments ● A software bundle which share a common GUI ● Consist of – Window Manager – Widget toolkit ● Ex : GNOME, KDE, LXDE, Unity, Xfce https://m.ak.fbcdn.net/sphotos-f.ak/hphotos-ak-prn2/t1.0-9/10262254_1020397582802299 1_1421869568506953645_n.jpg
  33. 33. Choose a distribution ● All major distributions works fine ● Visit distrowatch.com and read more ● My suggestions – Beginner – Ubuntu, Mint, Fedora, suse, Mandriva, debian – Moderate – debian, freeBSD, openBSD, Kali, Arch, slack ware Gentoo – Advanced – Gentoo, LinuxFromScratch https://scottlinux.com/wp-content/uploads/2012/07/linux-e1342279303170.png
  34. 34. Make Your Own OS ● Approaches – Linux From Scratch – Gentoo Linux http://www.linuxfromscratch.org/iimmaaggeess//images/lfs-llffss--llooggoo..logo.png ppnngg https://www.gentoo.org/images/gtop-www.jpg
  35. 35. Useful Resources ● http://tldp.org/LDP/intro-linux/html/ ● An on line course will be start in next August ● https://www.edx.org/course/linuxfoundationx/lin uxfoundationx-lfs101x-introduction-1621 ● Operating Systems: Design and Implementation by Andrew S. Tanenbaum ● Linux in a Nutshell by Ellen Siever, Stephen Figgins, Robert Love, Arnold Robbins
  36. 36. Q & A
  37. 37. Thank You and Good Luck :-)

×