320 likes | 438 Views
This tutorial provides a comprehensive introduction to the Unix operating system and shell scripting. Led by Professor Dr. Shu-Ching Chen, it covers essential topics including logging into the Unix system, basic Unix commands, and writing shell scripts. Learn how to navigate directories, manipulate files, and automate tasks using scripts. Ideal for beginners, the tutorial emphasizes practical commands like `ls`, `chmod`, `cp`, and `grep`, along with essential text processing techniques and utilizing text editors like Vim.
E N D
Tutorial ofUnix Command & shell scriptS 5027 Professor: Dr. Shu-Ching Chen TA: Hsin-Yu Ha
Outline • Log in • Unix Basic Commands • Shell script
Outline • Log in • Unix Basic Commands • Shell script
How to log in • Download putty from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Connect to the server • The host is margay.cs.fiu.edu 1 2 3 4
Log in / Account information • Account information • Login as : Your FIU username • Password : Your first initial + PantherID + Your last initial For exmaple, Steven Jackson with PID 1234567 should have password s1234567j
Outline • Log in • Unix Basic Commands • Shell script
Commands about Files (1) • ls : list the contents of your current directory. • Format • Options • -a : list all the files include the hidden ones • -l : list not only the files name but also the related info • -t : list the contents by modified date ls [option] [directory][file]
Commands about Files (2) • File permission • Field1 : A set of ten permission flags • Field2 : link count • Field3 : owner of the file • Field4 : associated group of the file • Field5 : size • Field 6-8 : Last modification date • Field9 : file name
Commands about Files (3) • chmod : change the permission flags of the files • Format • Example • chmodg+wmyfile • chmod g-rwmyfile • chmod u=rw go= myfile • chmod –R g+rwmyfile chmod [option] [types][+/-][types of permission] filename
Commands about Files (4) • pwd : print out the current working directory • cd : change directory • cd . (.) means the current directory • C (..) means the parent of current directory • Cd cd with no argument will return you to your home directory cd . cd .. cd
Commands about Files (5) • cp : copy files • Format • Options • -i : It can be used to avoid overwriting the original file • -r : Copy the folder and all the files and subfolders under it. • mv : move a file from one place to another or rename a file. • Format cp [option] File1 File2 mv File1 File2
Commands about Files (6) • mkdir : making directory • Format • rm : remove files or directories • Format • Option • -i : ask before actually delete • -r : delete the folders and all the files and subfolders under it mkdirDirectory_name rm [option] file1 file2 file3…
Commands about Files (7) • test : A command in Unix that evaluates conditional expressions. • Format or • The functions will return true if the object exist or the condition specified is true. • File functions • -d Filename : Filename is a directory • -s Filename : Filename has a size greater than 0 • -f Filename : Filename is a regular file test expression [ expression ]
Commands about File’s contents (1) • cat : display the contents of a file on the screen • Format • head : display the first ten lines of a file to the screen • Format • tail : display the last ten lines of a file to the screen • Format cat file1 head –n file1 tail –n file1
Commands about File’s contents (2) • wc : word count • Format • Options • -w : find out how many words the file has • -l : find out how many lines the file has wc [options] file
Commands about File’s contents (3) • grep : It searches files for the specified words or patterns. • Format: • Options: • -c : Display the number of columns which satisfied the pattern. • -i : Ignore case distinctions in both the PATTERN and the input files. • -v : Invert the sense of matching, to select non-matching lines. grep [options] [pattern] file
Pipe : It cause the execution of multiple processes from one single line A | B | C
Commands about File’s contents (4) • Redirection • > and >> can be used on the output of most commands to direct their output to a file. • Examples
Commands about Text processing (1) • sort : sort lines of a text file or files • Default : sort without any option will sort the file alphabetically • Format • uniq : remove duplicate adjacent lines from sorted file. sort [option] file
Commands about Text processing (2) • sed: One ultimate stream editor • Detail Tutorial : http://www.grymoire.com/Unix/Sed.html • Important function -> Substitution • Format : sed 's/term1/term2/g‘ filename
Commands about Text processing (3) • cut : extract sections from each line of a file. • Format • Option • -c : character • -f : field • -d “:” : delimiter (default is a tab) • Range • N-M • N- • -M cut [options] [range] filename
Outline • Log in • Unix Basic Commands • Shell script
Shell script intro (1) • Scripts are collections of commands that are stored in a file. • Detail Tutorial http://www.freeos.com/guides/lsst/ • Basic Vi commands • vim filename • i : switch to the editing(insert) mode • Esc +:q! Leave the vim program without saving the file • Esc +:w Save the file • Esc +:wq Save the file and leave the vim program
Shell script intro (2) • First shell script • Note that to make a file executable, you must set the eXecutable bit, and for a shell script, the Readable bit must also be set.
Shell script intro (3) • Variable
Shell script intro (4) • IF LOOP
Shell script intro (5) • For Loop
Shell Script Intro (6) • Useful concept $( commands)