• Like
  • Save
Linux
Upcoming SlideShare
Loading in...5
×
Uploaded on

RAHUL SINGH SHAHDOL HARMILAP COLLEGE

RAHUL SINGH SHAHDOL HARMILAP COLLEGE

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • THANNKS VERY MUCH!!!
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,929
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
1
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • End of session 1
  • End of session 2
  • End of session 3
  • End of session 4
  • End of session 5

Transcript

  • 1. Linux for Beginners
      • RAHUL SINGH
      • Rahul projects1991@gmail.com
  • 2. Agenda
    • Introduction
    • Linux Distributions
    • Quick Start
    • Files
    • Process
    • Shell & Programming
    • Networking
    • Security
  • 3. Introduction
    • This course is for beginners
    • What you learn
      • General introduction to GNU/Linux OS
      • Basic operations in Text Mode
      • A little about administration
    • What you don't learn learn
      • In depth Linux structure
      • Kernel Internal
      • System programming
  • 4. Introduction
    • Security perspectives
    • OS role
      • Govern any things in computer
      • Has privilege
      • Insecure OS insecure machine
  • 5. Introduction
    • Why Linux?
    • Free
      • Open Source, Freedom, GPL (GNU Public License)‏
      • No charge
    • More secure
      • Open source
    • OS for computer scientists
      • You see what happen, no hidden things
    • You need it
  • 6. History
    • 1960
      • MULTICS, Multiplex Computing System
    • 1974 in AT&T
      • Free Unix
      • Free BSD
    • POSIX
      • Unix is commercial
    • MINIX
      • Simple and free UNIX liked OS, by Tanenbaum
  • 7. History
    • 1991
      • Linus Torvalds
      • Free kernel for i386
    • 5 Oct 1991 in newsgroup of minix
      • Linux 0.0.2
    • 1994
      • Linux 1.0
    • Linux Logo
      • TUX
  • 8. Now
    • linux-2.6.26, www.kernel.org
    • Multitasking, SMP, multi-user
    • Wide range of CPUs
    • Popular OS in universities and academic research
      • Open source
    • Platform of network services
      • Wide range of network protocols and services
    • Platform for embedded development
  • 9. Linux Distributions
    • What required
      • OS, kernel, kernel-space
      • Applications, user-space
        • Interfaces and basic commands
        • Applications
        • Services
    • Kernel by Linus and world wide developers
    • Most of applications by GNU project
      • GNU : GNU is Not Unix
    • Our operating system: GNU/Linux
  • 10. Linux Distributions
    • Red Hat & Fedora
      • Stable and commercial support
    • SuSE
      • Most updated and user friendly
      • Supported by Novel
    • UBUNTU
      • New fast growing user friendly Debian based
    • Debian
      • Most complete distribution, the Sarge
  • 11. Linux Distributions
    • Bluecat
      • Linux for embedded systems
    • LinuxPPC
      • Linux to run on PowerPC machines
    • Astaro
      • Security applaince, Firewall, Antivirus
    • Live CD
      • KNOPPIX, PHLAK, Karamad, ...
  • 12. Quick Start
    • Access to Linux
      • Remote
      • Local
    • Remote
      • Through network
      • Telnet, insecure and disabled now
      • SSH, Secure Shell Protocol
    • Local
      • Linux installation or Live CDs
  • 13. Quick Start
    • System powered on
    • BIOS
    • POST
    • Bootloader, Grub or LiLo
      • Initialize Hardware
      • Kernel extraction
    • Kernel
      • Initialize Hardware
      • Kernel data structures initialization
  • 14. Quick Start
    • System Services
    • Configured Services
      • network and network services
    • User interface
      • G raphical
        • Called as X window system, it is a service
        • KDE, GNOME
      • Text, Shells
    • Switch between them: ALT-F? and CTRL-ALT-F?
    • Screen 7 is the X
  • 15. Text vs. X
    • Contrary to MS Windows
      • X isn't integrated into OS
      • X is just an application
    • Shell
      • Interactive program, interface between user and kernel
      • Real power of Linux, specially for hackers and administrators
      • Bash (Brown Again Shell), tsh, csh
    • We study Linux Text Mode and just applications not Kernel
  • 16. Bash
    • After successful login, you get shell prompt
      • $ : user
      • # : root
    • There are two privilege in user space
    • reset : reinitialize your screen
    • Linux is case sensitive
    • Autocomplete: commands and file names
      • Commands in $PATH
      • File name in specified path
  • 17. Bash
    • Linux is multiprocess, even in command line
      • Process can be run in background
    • Widecards
      • * : string
      • ?: a char
      • []: regular expression
    • IO redirection to file
      • > : overwrite, 2> : overwrite by stderror
      • >> : append
      • < : Read input
  • 18. Bash
    • IO redirection to a process
      • | : pass output of command as input to other command
      • One of the main features in UNIX-like systems
      • Simple commands which are piped together
    • Some short-cuts
      • CTRL-D: Logout, End of file
      • CTRL-L: Clear Screen
      • CTRL-C: Stop
      • CTRL-Z: Suspend
      • CTRL-E: cut to end of line
      • CTRL-U: cut to start of line
  • 19. Bash
    • History for each user
    • Use arrow keys
    • ! # : # command
    • ! <start_of_command>: last command started with ...
    • CTRL-R: search history
    • history : see command history
    • .bash_history : saved $HISTSIZE number of command
  • 20. Linux/shell vs. Windows/cmd
    • Path separator: / not
    • File extensions have NOT any meaning
    • Hidden file started by ., .bashrc, .bash_history
    • End of file is CTRL-D
    • New line is n not nr
    • Options are passed by - or --
    • All system configurations are saved in text files
  • 21. Help & Doc
    • Command's builtin helps: -h or --help
    • Man pages
    • Info pages
    • Documents in /usr/share/doc
    • Info pages
      • are NOT complete
      • Easy to use
      • info <command name> or pinfo <command name>
    • whatis
  • 22. Help & Doc
    • Man pages
      • Most complete documentation in Linux
      • Very technical
        • Title, description, see also and files
      • man <man-category> file/command/function
      • searched in <MANPATH>
      • manpath : find out the <MANPATH>
      • configuration file: /etc/manpath.conf
      • man -k topic : search topic in titles = apropos
      • man -K topic: search topic in body
  • 23. Mans
    • /usr/share/man
    • man1: User commands
    • man2: System libraries
    • man3: Programming libraries
    • man4: Special files
    • man5: File formats
    • man7: Misc. network protocols, ...
    • man8: System administration
    • Other mans: Application man pages
  • 24. Internet documents
    • The Linux Documentation Project: www.tldp.org
    • Tutorials
    • HOWTOs
    • Software home pages
    • Mailing lists
    • Everything is googlized
  • 25. Files
    • Everything in Linux is file, if it is NOT process
    • Files can be
      • Regular file
      • Directory
      • Links
      • device
      • named pipe, ...
    • Uniform interface, open, read/write, close
    • You should fully understand the Linux file structure
  • 26. Files
    • Files system
      • User Space, a tree structure
      • Kernel Space, VFS and file system depended drivers
    • What file systems in Linux
      • Kernel configuration depended
      • ext2, ext3, jfs, nfs, fat, ntfs, ...
      • man fs
    • mkfs.ext2, mkfs.ext3, mkfs.fat, ...
      • make file systems
  • 27. File system structure
    • /boot
      • Bootloader, bootloader config and kernel images
    • /bin
      • Binary files, basic utilities, required for boot
    • /sbin
      • System binary, system management tools
    • /lib
      • Shared libraries and kernel modules
  • 28. File system structure
    • /etc
      • System configuration, passwords, service config
    • /home
      • Home directory of users
    • /root
      • Home directory of root
    • /var
      • log files, message files, lock files, www root, ...
  • 29. File system structure
    • /tmp
      • temporary files, socket files, pipe files
    • /usr
      • Like the /, /usr/include additional directories bin, sbin,
    • / opt
      • Additional softwares
    • /proc
      • Virtual file system, process and system information
      • Kernel Interface in user space
  • 30. File system structure
    • /dev
      • Device files, block devices, character devices
    • /sys
      • Kernel interface for hardwares info and management
    • /mnt and /media
      • Add new media and file system into your file system
      • New media has its own file system (kernel level driver)‏
      • mount -t vfat /dev/sdb1 /mnt/flash
  • 31. File System Navigation
    • List directories
      • ls
      • Options: -a -l -h -R
    • Walking in file system
      • Absolute vs. Relative path
      • cd <path>
      • cd , cd –, cd ~
      • pushd
      • popd
  • 32. File System Navigation & Modification
    • Find where are you, absolute name
      • pwd
    • Make directory
      • mkdir <directory path>
    • Remove empty directory
      • rmdir <directory path>
  • 33. File System Navigation & Modification
    • Remove file
      • rm <file name>
      • rm -r <directory>
      • -i : ask you, -f : force
    • Secure remove
      • shred
      • -n : number, -z : fill zero
      • shred -n 10 -z -v /tmp/xxx
  • 34. File System Navigation & Modification
    • move file and directories
      • mv <source> <destination>
    • copy file and directories
      • cp <source file> <destination file>
      • cp -r <source directory> <destination directory>
    • What is the rename?
  • 35. File System Navigation & Modification
    • Links (like windows short-cuts)‏
    • Two Types
      • Hard (only for files) and soft (files & directories)‏
    • Hard
      • ln <target file> <link name>
    • Soft
      • ln -s <target name> <link name>
    • View Links
      • readlink <link name>, ls -l
  • 36. File Commands
    • Commands
      • File as an object
      • File content
    • Alert timestamp of file
      • Creation, access and modification
      • touch <file name> : update mod. time to now
      • -a : access time, -m : modification time
      • -t : set time
      • create new file
  • 37. File Commands
    • Find files and directories
      • find <path> <regular expression>
      • name, size, time, type, permission, ...
      • find /etc/ -name *.conf -exec cp '{}' /home/backup ';'
    • Where are commands and man pages
      • whereis <command name>
    • Which command is executed
      • which <command name>
  • 38. File Commands
    • Archive
      • Create: tar -cf <archive name> <directory>
      • Extract: tar -xf <archive name>
    • File Compression
      • gzip <file name>, gunzip <zipped file name>
        • best compress: -9
      • bzip2 <file name>, bunzip2 <zipped file>
      • z* commands
        • zcat, zdiff, zless
  • 39. File Security
    • File permissions
      • ls -l
      • -rwxrwxrwx: -(user)(group)(other)‏
      • In binary format -421421421
      • r: read, w: write, x: execute
  • 40. File Security
    • More file permissions
      • t: sticky bit. Others can not delete your file even with “w” permission
      • s & g: Set User/Group ID. Change process id to file owner
    • Chang permissions
      • chmod [ugo][+-=][rwx/binary] file
    • Attributes: undelete, fill zero, append only, ...
      • lsattr, chattr
  • 41. File Security
    • Default permission
      • umask: Invert of your permission
      • umask 077 : no one else can do anything
    • Chang owner and group (only root)‏
      • chgrp <group> file
      • chown <user> file
  • 42. File Commands
    • Most important file type in Linux: Text
      • Config files
      • Log files
      • Source codes
    • File type
      • file <file name>
    • Binary files
      • xpdf, gimp, openoffice2, firefox, konqueror, xdiv, kde, ...
  • 43. File Commands
    • What is in a file
      • cat <file name>
      • tac <file name>
    • View large files
      • more <file name> or pipe: ls -l | more
      • less <file name> or pipe: cat test.txt | less
    • View not all of file
      • tail -# <file name>, -f is continues
      • head -# <file name>
  • 44. File Commands
    • Search content of file
      • grep <regular expression> <file name>
      • -i : ignore case, -v : invert result, -r : recursive
    • Count file words
      • wc <file name>
      • -l : Lines, -w : words, -c : characters
    • Difference between files
      • diff <file 1> <file 2>
      • -Nu : create patch
  • 45. Editors
    • Again Text editor
    • Text Editors
      • X editors
      • text mode editors
    • Again text mode editors
    • X editors
      • gedit, kwrite
      • kate
  • 46. Editors
    • emacs
      • Old and very user friendly
      • Menu based, F10
    • mcedit
      • A part of the midnight commander
      • Menu based, easy to use
    • vi & vim (vi improved)‏
      • Difficult
      • Editor for programmers
  • 47. vim
    • Three modes
      • Input mode: edit your document
      • Command mode: simple commands
      • Line input mode: special and advance commands
    • Input mode
      • Go from command mode by i or a
      • Type what you want
      • Arrow keys, del , home , ... are workings
  • 48. vim
    • Command mode, the default mode
    • Go from input mode by: Esc
    • Navigation commands
      • home : start of line
      • end : end of line
      • b : previous word
      • w : next work
      • :# : go to line #
  • 49. vim
    • Edit commands
      • x : cut a char
      • #dw : cut # of words
      • #dd : cut # of lines
      • d$ : cut to end of line, d^ : cut to start of line
      • #yw : copy # of words
      • #yy : copy # of lines
      • p : past
      • u : undo
  • 50. vim
    • Line Input mode
      • Go from command mode by :
      • :w : save file, :w! : force to save
      • :e <filename> : open file
      • :q : quit, :q! : force to quit
      • :! <any command> : run shell command
      • /<str> : search str
      • :#1,#2 s/ <str1> / <str2> /[c,g] : replace
  • 51. Process
    • In Linux, every things is file, if it is NOT a process
    • Linux is multi-user, multi-process, time-sharing OS
    • Each process has a unique id and a parent (tree)‏
    • Process can be run in
      • Foreground
      • Background
    • Foreground is default
  • 52. Process
    • Background
      • & at end of command
      • suspend (CTRL-Z), send resume signal ( bg <job id>)‏
      • Process id is NOT job id
      • fg <job id> : Job come from background to foreground
      • jobs : list of jobs
  • 53. Process
    • Scheduling, running in background
      • at time -f <file name>, atq , atrm <id>
      • cron, crontab, man crontab
      • nohup <command> & : Leave job running
    • Priority
      • less nice is better
      • nice -# <command> : priority is decreased by #
      • renice # <process id> : Change process priority
  • 54. Process
    • Monitoring
      • ps : list of your process
      • ps aux : all running process, with command Lines
      • top : top processes
      • ksysgaurd : Graphical monitor, more than process monitor
      • pstree : tree of running processes
      • /proc/process-id : kernel information about processes
  • 55. Process
    • Process and Signal
      • Signals are notifiers
      • Kernel and users can send signals
      • skill - <signal number> <process id>: user send signal
      • skill -L : List of signals
      • man 7 signal : Full description of signals
      • kill <procees-id>, kill -9 <process-id> : Kill the process
      • killall -9 <process name> : kill the process
  • 56. System Information
    • uname -a, -r : Kernel name
    • dmesg : Kernel messages
    • /var/log/ : system logs (syslogd) and application's messages
    • date : date of system
    • uptime : How long time your system is alive?
    • iostat <device name>: usage of cpu and device
    • users, who, w : list of on-line users
    • finger <user-name>/@<computer name>: remote users info
  • 57. Shell
    • Executable applications
      • Binary programs: usually in developed in C
      • Scripts: shell, perl, awk, python, ...
    • Shell (Bash)‏
      • After login, your shell executes ( /etc/passwd )‏
      • .bash_profile
      • /etc/bashrc
      • .bashrc
  • 58. Bash
    • Environment Variables
      • Save, parameters and some configurations
    • Some important variables
      • $PATH : Path of commands
      • $HOME : Your home directory
      • $SHELL : Your shell address
      • $PS1 : Bash prompt
      • $USER : Your login name
  • 59. Bash
    • Define a variable
      • ABC=“This is test”
    • View variable content
      • echo $ABC
    • Define variable for subsequent shells
      • export AAA=“This is test”
    • View all variables
      • printenv
  • 60. Bash Script
    • Bash programming language
      • Variables
        • User defined variables
        • Built in variables: $0, $?, ...
      • All commands
  • 61. Bash Script
      • Control statements
        • for <name> in <word>; do <commands>; done
        • case <variable> in x) <command>;; y) <commands>;; esac
        • if <condition>; then <commands>; elif <condition> then <command>; fi
        • while <condition>; do <commands>; done
  • 62. Example vim test.sh #!/bin/bash for file in *; do if grep -q $1 $file; then echo “Found in file: “ $file fi; done; exit 0 chmod +x test.sh ./test.sh test
  • 63. C programming
    • GCC: GNU Compiler Collection
      • C, C++, Java, ADA, Fortran, ...
    • Tools to build C or C++ program
      • cpp : C preprocessor
      • cc : C Compiler
      • c++ : C++ Compiler
      • as : The assembler
      • ld : Linker
      • gdb : GNU debugger
  • 64. C programming
    • All steps altogether
      • gcc -o <output name> <input C>
    • Intermediate results
      • -c : Just compile, with out linking
      • -S: Produce assembly code
      • -E: Just process the file
      • -g: Add debugging options
  • 65. C programming (make & Makefile)
    • Open source world
    • Automate compiling large packages: make & Makefile
    • target : req1 req2 ....
      • Rule1 to make target
      • Rule2 to make target
    • req1 : req11 req12
      • Rule11 to make req1
      • ....
  • 66. Installing programs
    • Binary format
      • Distribution depended
        • Red Hat & Fedora: rpm & yum
        • Debian based (Ubuntu): apt-get
    • Source code
    • ./configure
    • make
    • make install
  • 67. Networking
    • Most of network protocols are implemented in Linux
      • Application layer: bind, apache, sendmail, ssh, ftp, NFS
      • Transport layer: TCP, UDP
      • Network Layer: IP, IPX, ATM
      • Physical layer: PPP, Ethernet, 802.11
    • Configurations
      • On line
      • Config files
  • 68. Networking
    • Network interface (Ethernet)‏
      • ifconfig eth0 10.10.10.1 netmask 255.255.255.0 up
      • Red Hat: /etc/sysconfig/network & networking
      • Ubuntu: /etc/network/interfaces
    • Routing
      • route add -net 192.168.0.0/24 gw 10.10.10.2 dev eth0
      • /etc/sysconfig/networking & network
  • 69. Networking
    • DNS
      • /etc/resolve.conf
      • /etc/hosts
    • Host Name
      • hostname
      • /etc/hostname
    • IP suit: ip route, ip address, ip route ....
  • 70. Networking
    • Monitoring and Troubleshooting
      • List of all connections: netstat -an
      • Find route and its MTU: tracepath, traceroute
      • Check liveness: ping
      • Your machine ip traffic: iptraf
      • Sniffer: tcpdum, ethereal
      • Scanners: nmap, amap, ...
  • 71. Using from Network
    • Remote shell: telnet, ssh
    • Remote file transfer: ftp, lftp, sftp, scp
    • Web: lynx, firefox
      • Download: wget, crul, prozilla
    • Mail: fetchmail, mail
    • DNS resolver: nslookup, dig
    • Windows NetBIOS: smb* commands
  • 72. Services
    • Linux services
      • Network services: web, mail, ...
      • Local services: udev, alsa
    • Startup scripts
      • /etc/init.d/<sevice name>, /etc/init.d/apache2
    • Configuration files
      • /etc, /etc/apache2
  • 73. Security
    • Security
      • Local: File security, Process security
      • Network
    • SELinux: role-based access control and sandboxing
    • Each user
      • Has its own unique ID, /etc/passwd
      • Belong to some groups, /etc/group
  • 74. Security
    • Process security
      • Each process has its own user id
      • You can kill only your processes, root can do anythings
  • 75. Network Security
    • Statefull Firewall: iptables
    • IDS: snort
    • VPNs
      • IPSec: openswan
      • SSL: stunnel, openswan
    • Secure services
      • SSH, SSL, Tunneling
  • 76.
    • Now is the end time of my presentation
    • But it is the start of your Linux learning