Linux Tutorial PDF by Ben_Longjas

VIEWS: 25,782 PAGES: 22

More Info
									Linux Tutorial
                ACM @ UB
  Dave Fine & Dave Cadigan
Written by Linus Torvalds in 1991
Heavily influenced by Unix and MINIX

  ◦ MINIX was written from scratch by Torvald's professor, 
    Andrew Tanenbaum, at the University of Helsinki.
Licensed under the GNU General Public License




History
Original source code is available to the public 
 for use or modification as they see fit
Open examples
  ◦ .ogg
  ◦ OpenOffice.org
  ◦ phpBB (forums)
  ◦ GNU
  ◦ Mozilla
Closed examples
  ◦ .mp3
  ◦ Microsoft Office
  ◦ Proprietary drivers
What is Open Source?
Stable
 ◦ Slackware
 ◦ Redhat
Bleeding Edge
 ◦ Ubuntu
 ◦ Fedora Core
Specialized
 ◦ Damn Small Linux
 ◦ UBLinux

More at distrowatch.com



Choosing a Distro
Live Disks

 ◦ Ubuntu, Fedora Core, Knoppix
Hard Drive setup

 ◦ Many file systems to choose from
   ‑ ext2/3, ReiserFS
 ◦ Must allocate swap space (virtual memory)
Dual   Boot
 ◦ Install Windows first!!
               Windows                Linux
                                              Swap
                NTFS                   ext3
                                              2GB
                70GB                  28GB
                             100 GB

How to Install
GNOME
KDE
XFCE
many more




Desktop Managers
Shells
 ◦ Use text commands to interact with files
 ◦ Everything is case sensitive
 ◦ White­space sensitive
bash
 ◦ Most commonly used
tcsh
 ◦ used on ubunix




The Command Line
Package managers
  ◦ Aptitude
  ◦ YUM
  ◦ Automatically resolves dependencies!
Manual installations
  ◦ .deb
  ◦ .rpm
Build from source
  ◦ $ tar –xvzf
  ◦ $ ./configure
  ◦ $ make
  ◦ $ sudo make install




How to install software
Owner, Groups, Others
Read, Write, Execute
 ◦  4         2          1
chmod 
 ◦ chmod 755 filename.txt
 ◦ chmod u+rwx,o­w filename.txt
Root user
 ◦ Similar to Windows Administrator
Sudo
 ◦ $ sudo emacs xorg.conf



Permissions
Man pages

 ◦ man emacs
Strong online community

 ◦ forums
 ◦ irc channels
 ◦ newsgroups
UB

 ◦ ublinux­support@buffalo.edu


More Support
Good for:

 ◦ System admins
 ◦ Quick and dirty prototyping for a complex application
 ◦ Easy way to write custom automated tasks




Bash Scripting
#!/bin/bash

#one line comment

#make a variable
var=“how are you?”
echo “hello $USER $var”
echo “a”; echo “b”; 
var=1      #legal, variables are untyped
exit 0     #exit code



Basics
X=2                 -eq #equal
if [ $X ­eq 1 ]     -ne #not equal
then                -lt #less than

     echo “1”       -le #less than or equal
                    -gt #greater than
elif [ $X ­eq 2 ]
                    -ge #greater than or equal
then
                    string1 == string2
     echo “2”
                    string1 != string2
else
                    string1 > string2
     echo “none”    -a file   # true if file exists
fi                  more at LINK

Conditionals
echo "confirm delete all files in directory?"
read choice

case $choice in
  "yes")
    rm *
    ;;
  "no")
    echo "nothing removed"
    ;;
  *)
    echo "Please choose either yes or no"
    ;;
esac 

Switch Cases
n=1                     for n in `seq 0 10`
while [ $n ­le 10 ]     do
do                        echo $n
  echo $n               done
  ((n++))
done

for X in red green blue #no C style loops:
do                       for(int i =0;i<10;i++)
   echo $X
done



Loops
array_1[5]=”c”
array_2=(1 2 3 4 5)
echo ${array_2[2]}     # outputs “3”
array_3=”abcdefg”   #strings are arrays


# note that arrays start counting at 0!




Arrays
function a(){
echo $1   #special variable. first argument
return 2; #optional return statement
}
#last statement in {} needs a semi­colon


a hello   #outputs “hello”
echo $?   #outputs 2




Functions
 Piping

  ◦ ps aux | grep firefox­bin       #is firefox running?
 Redirection

  ◦ ./script.sh > file.txt              #print output from a script to a file
  ◦ echo “some text >> file.txt       #append to a file
 History

  ◦ !em         #execute the latest command that started with “em”
 Math

  ◦ echo $((1+1))                          #outputs 2



Other Features
http://www.faqs.org/docs/bashman/bashref_toc.html#

http://www.bit­tech.net/bits/2007/11/26/bashing_throu

http://www.panix.com/~elflord/unix/bash­tute.html

man bash




citations

								
To top