CS4315A. Berrached::CMS::UHD1 Quick UNIX Tutorial.

Slides:



Advertisements
Similar presentations
Learning Unix/Linux Bioinformatics Orientation 2008 Eric Bishop.
Advertisements

Jump to first page Unix Commands Monica Stoica Jump to first page Introduction to Unix n Unix was born in 1969 at Bell Laboratories, a research subdivision.
1 Introduction to UNIX Ke Liu
NETW-240 Shells Last Update Copyright Kenneth M. Chipps Ph.D. 1.
©Colin Jamison 2004 Introduction to Linux Colin Jamison.
The Unix Shell. Operating System shell The shell is a command interpreter It forms the interface between a user and the operating system When you log.
T UTORIAL OF U NIX C OMMAND & SHELL SCRIPT S 5027 Professor: Dr. Shu-Ching Chen TA: Samira Pouyanfar Spring 2015.
Lecture 02CS311 – Operating Systems 1 1 CS311 – Lecture 02 Outline UNIX/Linux features – Redirection – pipes – Terminating a command – Running program.
Linux Commands LINUX COMMANDS.
L INUX C OMMAND L INE I NTERFACE G UNAANBAN.G
CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle.
COMP1070/2002/lec4/H.Melikian COMP1070 Lecture #5  Files and directories in UNIX  Various types of files  File attributes  Notion of pathname  Commands.
Unix Primer. Unix Shell The shell is a command programming language that provides an interface to the UNIX operating system. The shell is a “regular”
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
Linux Directory Navigation. File & Directory Commands This is a minimal list of Unix commands that you must know for file management: ls (list) mkdir.
Introduction to Unix Bent Thomsen Institut for Datalogi Aalborg Universitet.
Linux environment ● Graphical interface – X-window + window manager ● Text interface – terminal + shell.
1 Lecture 2 Working with Files and Directories COP 3344 Introduction to UNIX.
Lesson 1. PC vs. Multi-user System  Personal Computer – each user gets his/her own processor (or multicore processor).  Multi-user system – The processor,
Agenda User Profile File (.profile) –Keyword Shell Variables Linux (Unix) filters –Purpose –Commands: grep, sort, awk cut, tr, wc, spell.
Unix Basics Chapter 4.
Introduction to Computer Organization & Systems Topics: Intro to UNIX COMP John Barr.
Basic unix commands that everyone should know (Even if you have a mac) Slightly more advanced:
Introduction to Unix – CS 21 Lecture 9. Lecture Overview Shell description Shell choices History Aliases Topic review.
The Shell Chapter 7. Overview The Command Line Standard IO Redirection Pipes Running a Program in the Background Killing (a process!)
CS240 Computer Science II Introduction the Unix File System and File Related Utilities Based on “UNIX for Programmers and Users” by G.Class and K. Ables.
System Administration Introduction to Unix Session 2 – Fri 02 Nov 2007 Reference:  chapter 1, The Unix Programming Environment, Kernighan & Pike, ISBN.
UNIX Commands. Why UNIX Commands Are Noninteractive Command may take input from the output of another command (filters). May be scheduled to run at specific.
1 Operating Systems Lecture 2 UNIX and Shell Scripts.
Second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. UNIX Commands cal – will print a calendar.
Introduction to UNIX Road Map: 1. UNIX Structure 2. Components of UNIX 3. Process Structure 4. Shell & Utility Programs 5. Using Files & Directories 6.
BIF713 Basic Unix/Linux Commands Getting Help with Commands.
Welcome to CS323 Operating System lab 1 TA: Nouf Al-Harbi NoufNaief.net.
UNIX An Introduction. Brief History UNIX UNIX Created at Bell Labs, 1969 Created at Bell Labs, 1969 BSD during mid 70s BSD during mid 70s AT&T began offering.
CS4315A. Berrached::CMS::UHD1 Quick UNIX Tutorial.
Introduction to Programming Using C An Introduction to Operating Systems.
Agenda Basic Unix Commands (Chapters 2 & 3) Miscellaneous Commands: which, passwd, date, ps / kill Working with Files: file, touch, cat, more, less, grep,
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 2a – A Unix Command Sampler (Courtesy of David Notkin, CSE 303)
Linux Commands C151 Multi-User Operating Systems.
Chapter 5: The Shell The Man in the Middle. In this chapter … The command line Input, output, and redirection Process management Wildcards and expansion.
1 Lecture 2 Working with Files and Directories COP 3353 Introduction to UNIX.
A Brief Overview of Unix Brandon Bohrer. Topics What is Unix? – Quick introduction Documentation – Where to get it, how to use it Text Editors – Know.
1 CS3695 – Network Vulnerability Assessment & Risk Mitigation – Introduction to Unix & Linux.
Lecture 1: Introduction, Basic UNIX Advanced Programming Techniques.
Agenda The Bourne Shell – Part I Redirection ( >, >>,
File Management commands cat Cat command cat cal.txt cat command displays the contents of a file here cal.txt on screen (or standard out).
Linux Tutorial Lesson Two *Getting Help in Linux *Data movement and manipulation *Relative and Absolute path *Processes Note: see chapter 1,2,3 from Linux.
Learning Unix/Linux Based on slides from: Eric Bishop.
UNIX To do work for the class, you will be using the Unix operating system. Once connected to the system, you will be presented with a login screen. Once.
Tutorial of Unix Command & shell scriptS 5027
Linux Commands Help HANDS ON TRAINING Author: Muhammad Laique
Andy Wang Object Oriented Programming in C++ COP 3330
The UNIX Shell Learning Objectives:
Some Linux Commands.
C151 Multi-User Operating Systems
The Command Prompt Commands are the way to “do things” in Unix
CSE 374 Programming Concepts & Tools
Tutorial of Unix Command & shell scriptS 5027
Basic UNIX OLC Training.
Introduction to UNIX.
Tutorial of Unix Command & shell scriptS 5027
Web Programming Essentials:
Tutorial of Unix Command & shell scriptS 5027
Introduction Paul Flynn
Andy Wang Object Oriented Programming in C++ COP 3330
Tutorial Unix Command & Makefile CIS 5027
Chapter 3 The UNIX Shells
Linux Commands LINUX COMMANDS.
Presentation transcript:

CS4315A. Berrached::CMS::UHD1 Quick UNIX Tutorial

CS4315A. Berrached::CMS::UHD2 Outline Getting help while on the system The shell Working with files & directories Wild card characters Security I/O redirection pipes process and job control commands

CS4315A. Berrached::CMS::UHD3 Getting access to a Unix system From Web Browser: telnet://gator.uhd.edu

CS4315A. Berrached::CMS::UHD4 Logging in the first time Change your password passwd To logout logoutor exit Note: all Unix commands are case sensitive

CS4315A. Berrached::CMS::UHD5 Getting Help from the System All Unix commands are described online in a collection of files called “man pages” man command For help on some topic man -k keyword For more information on using the man pages man

CS4315A. Berrached::CMS::UHD6 Getting Help from the System Once you know the man pages you need man [section] name e.g. manwrite The name may be used for a command, a system call, a library function, etc. Each is described in a different section of the man pages e.gwrite(1) is a command to send a msg write(2) is a library function that writes to a file

CS4315A. Berrached::CMS::UHD7 Getting Help from the System man 2 write displays the man pages of write(2) For more information on using the man pages man

CS4315A. Berrached::CMS::UHD8 General command format Command -options arguments options/flags generally identify some optional capabilities some parts of a command are optional. These are indicated in the man pages with [ ] case sensitive

CS4315A. Berrached::CMS::UHD9 The shell The Unix process that interprets your commands is called the “shell” When you login, the login process, after it verifies the user’s username and password, creates a shell process. The shell process displays a prompt on the screen and waits. When the user enters a command, the shell examines it, interprets it and either executes it or calls another program to do so. After the command is executed, the shell displays the command prompt and waits again.

CS4315A. Berrached::CMS::UHD10 The shell There are several Unix shells The Bourne shell(sh) and the C shell(csh) are the most popular. The TC shell (tcsh) is variation of the C shell. Bourne Again Shell (bash) is the default on gator To display the shell you’re using echo$SHELL --> /bin/tcsh To change to another shell chsh

CS4315A. Berrached::CMS::UHD11 Files and Directories Home directory: –The actual path of your home directory may be something like: /home/student/username –Note the forward slashes

CS4315A. Berrached::CMS::UHD12 Listing contents of a directory Ls (list files and directories) ls –The ls command lists the contents of your current working directory. > ls Mail courses jets.com News cs4315 g.cc junk proj3 vhdl adsrc ddm ga mail public_html bin exam2.cc misc resch

CS4315A. Berrached::CMS::UHD13 Listing contents of a directory  To generate a detailed listing ls -l to display type of file ls -F May combine flags ls -lF  To generate listing of a specific directory ls-lF pathname where pathname is the path of intended directory.

CS4315A. Berrached::CMS::UHD14 Aliases aliasdir ='ls -lF'

CS4315A. Berrached::CMS::UHD15 Configuration Files ls lists all files except those starting with a dot: "." Generally, files that start with a dot are supposed to be program configuration files to list all files and directories in current directory, including hidden files ls -a

CS4315A. Berrached::CMS::UHD16.files In your home directory there are two hidden files “.login” and ".cshrc"..login: login configuration file.bash_profile: the bash initialization file In every directory there are “.” and “..” “.”: points to the current working directory “..”: points to the parent directory of the current working directory.

CS4315A. Berrached::CMS::UHD17 Wildcards The characters * will match against one or more characters in a file or directory name. ls proj* The character ? Will match against any single character [ ]: the brackets enclose a set of characters any one of which may match a single character in that position. e.g cat proj[125] cat proj[1-7]

CS4315A. Berrached::CMS::UHD18 Wildcards ~: a tilde at the beginning of a word expands to the name of your home directory. e.g: ls ~ cat ~/proj1.cc if you append ~ to a user name, it refers to that user’s home directory. e.g: ls ~smith lists all files in home directory of user smith

CS4315A. Berrached::CMS::UHD19 Making Directories mkdir (make directory) mkdir name creates a subdirectory in current working directory mkdir somepath/name creates a subdirectory in directory somepath

CS4315A. Berrached::CMS::UHD20 Changing to a different directory cd (change directory) cdpathname change current working directory to pathname. cd by itself will make your home directory the current working directory. cd.. : cd to parent of current directory cd ~ : cd to home directory

CS4315A. Berrached::CMS::UHD21 Pathnames pwd (print working directory) > pwd /home/student/smith

CS4315A. Berrached::CMS::UHD22 Copying files cp (copy) cp file1 file2 makes a copy of file1 and calls it file2. File1 and file2 are both in current working directory. cp pathname1/file1 pathname2 copies file1 to pathname2 e.gcp ~/tutorial/science.txt.

CS4315A. Berrached::CMS::UHD23 Moving files mv (move) mvfile1 file2 moves (or renames) file1 to file2 use the -i option to prevent an existing file from being destroyed mv-i file1 file2 if file2 already exist, mv will ask if you really want to overwrite it.

CS4315A. Berrached::CMS::UHD24 Removing files and directories rm (remove) rm file1 [file2]… Use the -i option for interactive remove: rm -i proj*.*

CS4315A. Berrached::CMS::UHD25 Removing files and directories rmdir (remove directory) rmdir path will not remove your current working directory will not remove a directory that is not empty To remove a directory and any files and subdirectories it contains use -r (recursively) rmdir -r path rmdir -ir path

CS4315A. Berrached::CMS::UHD26 Displaying the contents of a file on the screen cat (concatenate) cat myfile displays the contents of myfile on monitor cat file1 file2 file3 more displays a file on the screen one page at a time. Use space bar to display to next page. Head -- displays first 10 lines tail -- displays last 10 lines

CS4315A. Berrached::CMS::UHD27 Searching the contents of a file Searching using more For example, to search myfile for the word science, type more myfile then type / science Type n to search for the next occurrence of the word

CS4315A. Berrached::CMS::UHD28 Searching the contents of a file Searching using grep >grep music myfile To ignore upper/lower case distinctions, use the -i option > grep -i music myfile To search for a phrase or pattern, you must enclose it in single quotes. For example to search for the phrase operating systems, type >grep -i 'operating systems' myfile >grep -i 'operating systems' *

CS4315A. Berrached::CMS::UHD29 Searching the contents of a file Some of the other options of grep are: -vdisplay those lines that do NOT match -nprecede each matching line with the line number -cprint only the total count of matched lines

CS4315A. Berrached::CMS::UHD30 Other Useful Commands wc (word count) To do a word count on myfile, type wc -w myfile To find out how many lines the file has, type wc -l myfile To do both wc myfile

CS4315A. Berrached::CMS::UHD31 Other Useful Commands who lists on the screen all the users currently logged to the system finger username lists information about a user sort takes it is input from the standard input (keyboard) and sorts the lines in alphabetical order.

CS4315A. Berrached::CMS::UHD32 Redirecting Input and Output In general, Unix commands use the standard input (keyboard) and output (screen). < : redirect input > and >> : redirect output Example: who > namelist who >> namelist sort < namelist sort newnamelist sort namelist

CS4315A. Berrached::CMS::UHD33 Redirecting Input and Output Another example: search for the word mysort in all the c source files in the current directory and write the output to file1. grep mysort *.c > file1

CS4315A. Berrached::CMS::UHD34 Using redirection to concatenate files Examples: cat file1 > file2 copies file1 into file2 To concatenate files: cat file1 file2 > file3 or cat file2 >> file1

CS4315A. Berrached::CMS::UHD35 Pipes A pipe is a way to use the output from one command as the input to another command without having to create intermediary files. Example: want to see who is logged in, and you want the result displayed alphabetically: who > namelist sort namelist Using a pipe: who | sort

CS4315A. Berrached::CMS::UHD36 Pipes Example: want to get a count of the users logged in to the system: who | wc -l If you want to display the output of any command one screen at a time: command | more example: ls -alF | more

CS4315A. Berrached::CMS::UHD37 Protecting files and directories The ls -l command display detailed listing of a file, including its protection mode: drwxrwxrwx owner size directoryname ….. -rwxrwxrwx owner size filename … the first character ( d or - ) indicates whether it is a file or directory name. The following 9 character indicate the protection mode.

CS4315A. Berrached::CMS::UHD38 Protecting files and directories rwx rwx rwx Each group of three characters describes the access permission: read, write and execute the first three settings pertain to the access permission of the owner of the file or directory, the middle three pertain to the group to which the owner belongs, and the last three pertain to everyone else.

CS4315A. Berrached::CMS::UHD39 Access rights on files. r (or -), indicates read permission, that is, the presence or absence of permission to read and copy the file  w (or -), indicates write permission; that is, the permission to change a file  x (or -), indicates execution permission; that is, the permission to execute a file, where appropriate example: -rwxrw-r--

CS4315A. Berrached::CMS::UHD40 Access rights on directories.  r: allows users to list files in the directory;  w: means that users may delete files from the directory or move files into it.  Never give write permission to others to your home directory or any of its subdirectories.  x: means the right to access files in the directory. This implies that you may read files in the directory if you have read permission on the individual files. example: drwxrw-r--

CS4315A. Berrached::CMS::UHD41 Changing file access permission chmod (changing protection mode) Consider each group of three to be a 3-bit number example: you want to set permission to rwx r chmod 740 filename

CS4315A. Berrached::CMS::UHD42 Process & job control A process is an executing program with a unique ID (PID). To display information about your processes with their PID and status: ps to display a list of all processes on the system with full listing ps -Af

CS4315A. Berrached::CMS::UHD43 Process & job control commands A process may be in the foreground, in the background, or be suspended. In general the shell does not return the UNIX prompt until the current process has finished executing. To run a program in the background, append a & at the end of the command prog1 & [1] 6259 system returns the job number and PID

CS4315A. Berrached::CMS::UHD44 Process & job control commands To suspend a running process CTRL Z example: % prog CTRL Z To background a running process CTRL Z bg To bring a process to forground fg PID

CS4315A. Berrached::CMS::UHD45 Process & job control commands to kill a background process kill PID to suspend a running background process stop PID

CS4315A. Berrached::CMS::UHD46 Process & job control commands Background process can not use the standard I/O. ==> Need to redirect I/O e.g: grep mysort *.c & output will be lost grep mysort *.c > file1 &

CS4315A. Berrached::CMS::UHD47 Process & job control commands A job is a group of one or more processes To list all the jobs that are in the background: jobs [1] + Running [2] - Running To bring a background job to the foreground fg %job-no e.g fg %2

CS4315A. Berrached::CMS::UHD48 Process & job control commands to kill a background job kill %job-no to suspend a running background job stop %job-no

CS4315A. Berrached::CMS::UHD49 Process & job control commands To run a process in the background, even after logging out: nohup prog1 &

CS4315A. Berrached::CMS::UHD50 Compiling C programs cc [options] file … by the default, the resulting executable is a.out cc prog.c cc -o prog prog.c names the resulting executable prog instead of a.out

CS4315A. Berrached::CMS::UHD51 Editing files Available editors: vi emacs pico Check references on web

CS4315A. Berrached::CMS::UHD52 Example: Writing a C program on Unix Write a program that counts the number of non white-space characters in a text file. Program takes as command argument the name of the input file and displays the output on the standard output.

CS4315A. Berrached::CMS::UHD53 // Character Count: Basic Algorithm #include #define BLANK ' ' #define NEWLINE '\n' int main(int argc, char *argv[]) {FILE *infile; char c; int char_count=0; // count the number of charecters in infile while ( (c = getc(infile)) != EOF) if ((c != BLANK) && (c != NEWLINE) ) ++char_count; printf("%d characters\n", char_count); return 0; }

CS4315A. Berrached::CMS::UHD54 Testing the # of command arguments if (argc !=2) { fprintf(stderr, " %s: expects 1 argument but was given %d\n", argv[0], argc-1); fprintf(stderr, "Usage: %s inputfile \n", argv[0]); exit(1); } int printf( char *format, arg1, arg2, ….) int fprintf( FILE * stream, char *format, arg1, arg2, ….)

CS4315A. Berrached::CMS::UHD55 Opening input file if ( (infile = fopen(argv[1], "r")) == NULL) { fprintf(stderr,"%s: cannot open %s \n", argv[0], argv[1]); exit(1); } File *fopen(char *filename, char *mode);

CS4315A. Berrached::CMS::UHD56 file modes "r" : open text file for reading " w" :for writing "a" :for appending "r+" : reading and writing "w+":for reading and writing (discard existing file) "a+":open text file for appending

CS4315A. Berrached::CMS::UHD57 Count and return # of chars // count the number of charecters in infile while ( (c = getc(infile)) != EOF) if ((c != BLANK) && (c != NEWLINE) ) ++char_count; printf(" %d characters\n ", char_count); return 0; }