hkoi 2012 training intro to linux [waihon @ /cuhk/shb123]$ date sat feb 18 13:00:00 hkt 2012

45
HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

Upload: emmeline-mosley

Post on 31-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

HKOI 2012 TRAINING

INTRO TO LINUX[waihon @ /CUHK/SHB123]$ dateSat Feb 18 13:00:00 HKT 2012

Page 2: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

If you are now in Windows now, Please reboot into Linux =)

Page 3: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TODAY CONTENT

• Part 1 – Hello Linux World• Part 2 – Shell & Command• Part 3 – Using Linux

Page 4: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

PART 1 – HELLO WORLD

Page 5: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

LINUX FILE SYSTEM HIERARCHY“Where is my C:\Program Files and D:\ ?”

• /bin : system .exe (C:\Windows\System32)• /boot: kernal image for booting• /dev : devices file• /etc : configuration files• /home : home directory for users (C:\Users)• /usr : user program (“Program Files”)• /lib,lib64: library (“.dll” in Windows)• /sbin : admin .exe (eg. ifconfig)• /var : log files

Page 6: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

LINUX FILE SYSTEM HIERARCHY“Where is my D:\ ???”

• Depend on how you “mount” your partition…

• You can find the devices at• /dev/sdx : if your computer can find the device

• You can access the partition from• /media : if the partition is a removable drive• /home : if you mount your partition as /home

Page 7: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

PART 2 – SHELL & COMMAND

Page 8: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

SELF-LEARNING COMMANDSman – reference manuals

man cmd : read the manual page of cmd

Page 9: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

SELF-LEARNING COMMANDSwhatis , whereis

whatis cmd : display the man page descriptions of cmd

whereis cmd : locate the cmd

Page 10: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDS ls - list directory content

ls -a : list all filels -l : long list format

Page 11: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDS cd – change directory

cd : go to the my home directorycd ~ : go to the my home directorycd / : go to the root directorycd dir_name : Enter dir_namecd - : Enter the previous directorycd .. : Enter the parent directory

Page 12: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDS cp – copy files and directories

cp fileA fileB : copy fileA to fileBcp –r dirA dirB : copy dirA to dirB recursivelycp *.txt dirA/ : copy all .txt file to dirA

Page 13: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDS rm – remove files or directories

rm fileA : remove fileArm –r dirA : remove dirA recursively (rmdir)rm *.out : remove all .out files

rm * rm /* rm ~/*

Page 14: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDS mkdir – make directories

mkdir dirA : make directory dirAmkdir –p dirA/dirB: make directory dirA/dirB

even if the parent directory “dirA” is not exist

Page 15: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDS rmdir – remove empty directory

mkdir dirA : make directory dirAmkdir –p dirA/dirB: make directory dirA/dirB

even if the parent directory “dirA” is not exist

Page 16: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDScat – concatenate files and print

cat fileA : print fileAcat fileA fileB : print fileA fileB

Page 17: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDSps – list of current processes

ps -e : Get ALL processesps –U user : Get the user’s processes

Page 18: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDSkill – send a signal to a process

kill -9 12345 : send a KILL signal to process 12345

Useful when you cannot terminate a program.

Page 19: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

BASIC COMMANDSkillall – kill all process by name

killall a.out : kill all process with name a.out

Page 20: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

MORE BASIC COMMANDSman and try them

more : view fileless : view file (better than more)date : show the system timeuptime: tell how long the system has been runningtop : display Linux taskfind : find fileseq : print sequence of numberfile : determine the file typehead : output the first part of the filetail : output the last part of the file……

Page 21: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OIbc – arbitrary PRECISION calculator

scale = x : set the number of digits after the decimal point in the expression

Page 22: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OIbc – arbitrary PRECISION calculator

Page 23: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OIfactor – factorize numbers

factor integer in [ 0 , 264 )

Page 24: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OItime – run programs and summarize system resource usage

Page 25: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OIdiff – compare files line by line

diff fileA fileB : compare fileA and fileBdiff –i fileA fileB : ignore case

Page 26: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OIgrep – print matching pattern

ps -e | grep “firefox” : find the pattern “firefox” from the output of “ps –e”

cat output.txt | grep “debug” : find if the output.txt

contain pattern “debug”

Page 27: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

USEFUL COMMANDS IN OIsort – sort lines of text files

sort -r : reverse the result -n: numeric sort

Page 28: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORvim

Page 29: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORvim - basic

• [Esc] -> [normal mode] move cursor only• i -> [insert mode] eg. editing ok• : -> [command line mode] eg. save file

• Example:• :w -> save file• :wq -> save file and quit vim• :q -> quit vim (fail if the file is edited)• :q! -> quit vim without saving• :wq! -> save file and quit vim!

Page 30: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORvim - basic

• /ptn -> search for the pattern “ptn”• :123 -> go to line 123

• dd -> cut the line• yy -> copy the line• p -> paste

• u -> undo• Ctrl+r -> redo

Page 31: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORvim – cheat sheet

Page 32: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORvim – .vimrc

• Locate at the home directory (~/.vimrc)• Storing the personal setting of vim

• Sample :

Page 33: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORgedit

Page 34: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

TEXT EDITORgedit - feature

• nu• showmatch• ts=4• ……

Page 35: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

COMPILERgcc/g++

• g++ source.cpp [–o output] [-O2] …

Page 36: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

COMPILERgcc/g++ - make

• Use make to avoid overwriting the source code.

Page 37: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

COMPILERfpc – Free Pascal Compiler

• fpc source.pas –o output• ./output

(Sorry, I have not installed pascal on my Linux)

Page 38: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

PART 3 – USING LINUX

Page 39: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

CHOOSING DISTRIBUTION

• Distro Watch : http://distrowatch.com/

Page 40: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

CHOOSING DISTRIBUTIONLinux Mint

• Beginners• Desktop• Live Medium

Page 41: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

CHOOSING DISTRIBUTIONUbuntu

• Beginners• Desktop• Server• Live Medium• Netbooks

Page 42: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

CHOOSING DISTRIBUTIONfedora

• Desktop• Server• Live Medium

Page 43: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

CHOOSING DISTRIBUTIONfedora

• Desktop• Server

Page 44: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

3 WAYS OF INSTALLING LINUX

• 1) Format the partition and install

• 2) Virtualize• 1) VirtualBox• 2) VMware

• 3) Wubi – install Linux as a software in Windows

Page 45: HKOI 2012 TRAINING INTRO TO LINUX [waihon @ /CUHK/SHB123]$ date Sat Feb 18 13:00:00 HKT 2012

RECOMMENDATION

• CommandLineFu - http://www.commandlinefu.com/• Interesting Command