TUTORIAL OF UNIX COMMAND & SHELL SCRIPTS 5027 Professor: Dr. Shu-Ching Chen TA: Samira Pouyanfar Spring 2015 OUTLINE Log in Unix Basic Commands Shell script 2 OUTLINE Log in Unix Basic Commands Shell script 3 HOW TO LOG IN Download putty from http://www.chiark.greenend.org.uk/~sgtatham/putty/ download.html 4 CONNECT TO THE SERVER The host is margay.cs.fiu.edu 1 2 3 4 5 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 6 LOG IN IN MAC SYSTEMS Use the existing ssh tool in your mac called "Terminal" by following the steps: - Search for "Terminal" from spotlight, e.g., located on the upper right corner of your screen - Open Terminal - Connect to the server margay.cs.fiu.edu using following commands ssh hha001@margay.cs.fiu.edu replace hha001 with your fiu account - Type your password - Now, you are connected. 7 LOG IN IN MAC SYSTEMS 8 OUTLINE Log in Unix Basic Commands Shell script 9 COMMANDS ABOUT FILES (1) ls : list the contents of your current directory. Format Options ls [option] [directory][file] -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 10 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 11 COMMANDS ABOUT FILES (3) chmod : change the permission flags of the files Format Example chmod [option] [types][+/-][types of permission] filename chmod g+w myfile chmod g-rw myfile chmod u=rw go= myfile chmod –R g+rw myfile 12 COMMANDS ABOUT FILES (4) pwd : print out the current working directory cd : change directory cd . cd cd .. C Cd cd (.) means the current directory (..) means the parent of current directory cd with no argument will return you to your home directory 13 COMMANDS ABOUT FILES (5) cp : copy files Format Options cp [option] File1 File2 -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 mv File1 File2 14 COMMANDS ABOUT FILES (6) mkdir : making directory Format mkdir Directory_name rm : remove files or directories Format rm [option] file1 file2 file3… Option -i : ask before actually delete -r : delete the folders and all the files and subfolders under it 15 COMMANDS ABOUT FILES (7) test : A command in Unix that evaluates conditional expressions. [ expression ] Format test expression 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 16 COMMANDS ABOUT FILE’S CONTENTS (1) cat : display the contents of a file on the screen cat file1 head : display the first ten lines of a file to the screen Format Format head –n file1 tail : display the last ten lines of a file to the screen Format tail –n file1 17 18 COMMANDS ABOUT FILE’S CONTENTS (2) wc : word count Format Options wc [options] file -w : find out how many words the file has -l : find out how many lines the file has 19 COMMANDS ABOUT FILE’S CONTENTS (3) grep : It searches files for the specified words or patterns. Format: grep [options] [pattern] file 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. 20 Pipe : It cause the execution of multiple processes from one single line A|B|C 21 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 22 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 sort [option] file uniq : remove duplicate adjacent lines from sorted file. 23 24 COMMANDS ABOUT TEXT PROCESSING (2) sed: One ultimate stream editor Detail Tutorial : http://www.grymoire.com/Unix/Sed.html Important function -> Substitution sed 's/term1/term2/g‘ filename Format : 25 COMMANDS ABOUT TEXT PROCESSING (3) cut : extract sections from each line of a file. Format Option cut [options] [range] filename -c : character -f : field -d “:” : delimiter (default is a tab) Range N-M N -M 26 27 OUTLINE Log in Unix Basic Commands Shell script 28 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 29 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. 30 SHELL SCRIPT INTRO (3) Variable 31 SHELL SCRIPT INTRO (4) IF LOOP 32 SHELL SCRIPT INTRO (5) For Loop 33 SHELL SCRIPT INTRO (6) Useful concept $( commands) 34