CSE 390a Lecture 1 introduction to Linux/Unix environment

Slides:



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

Chapter One The Essence of UNIX.
NETW-240 Shells Last Update Copyright Kenneth M. Chipps Ph.D. 1.
1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Josh Goodwin
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
CSE 303 Lecture 2 Introduction to bash shell
Guide To UNIX Using Linux Third Edition
CMPE 151: Network Administration Spring Class Description Focus: system and network administration. Sequence of exercises. E.g., installing/configuring.
Basic Unix Dr Tim Cutts Team Leader Systems Support Group Infrastructure Management Team.
1 SEEM3460 Tutorial Unix Introduction. 2 Introduction What is Unix? An operation system (OS), similar to Windows, MacOS X Why learn Unix? Greatest Software.
Linux Shell. 2 Linux Command-Line Interface ■ Linux shells: A shell is a command interpreter that allows you to type commands from the keyboard to interact.
Using Macs and Unix Nancy Griffeth January 6, 2014 Funding for this workshop was provided by the program “Computational Modeling and Analysis of Complex.
Overview of Linux CS3530 Spring 2014 Dr. José M. Garrido Department of Computer Science.
Chapter 9 Part II Linux Command Line Access to Linux Authenticated login using a Linux account is required to access a Linux system. The Linux prompt will.
Computer Programming for Biologists Oct 30 th – Dec 11 th, 2014 Karsten Hokamp  Fill out.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
INTRODUCTION TO LINUX Jacob Chan. GNU/Linux Consists of Linux kernel, GNU utilities, and open source and commercial applications Works like Unix –Multi-user.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Lesson 2-Touring Essential Programs. Overview Development of UNIX and Linux. Commands to execute utilities. Communicating instructions to the shell. Navigating.
Welcome to CS323 Operating System lab 1 TA: Nouf Al-Harbi NoufNaief.net.
Chapter 1 : The Linux System Part 2 Lecture 2 11/14/
Unix/Linux for beginners:
1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson
1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson
Introduction to Programming Using C An Introduction to Operating Systems.
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 2a – A Unix Command Sampler (Courtesy of David Notkin, CSE 303)
The Kernel At a high level, the kernel in an operating system serves as the bridge between applications and the actual data processing of the hardware.
 Last lesson, the Windows Operating System was discussed along with the Windows command shell  Unix is a computer operating system, that similarly manages.
introduction to Linux/Unix environment
Learning Unix/Linux Based on slides from: Eric Bishop.
UNIX  Portable (common to many computer architectures), multitasking, multi-user operating system  Introduced by Bell labs in mid-1960’s  Thus, much.
Overview of Linux Fall 2016 Dr. Donghyun Kim
introduction to Linux/Unix environment
slides created by Marty Stepp, modified by Josh Goodwin
introduction to Linux/Unix environment
introduction to Linux/Unix environment
Andy Wang Object Oriented Programming in C++ COP 3330
introduction to Linux/Unix environment
Unix Shells.
Some Linux Commands.
introduction to Linux/Unix environment
The Command Prompt Commands are the way to “do things” in Unix
The Linux Operating System
9 Linux on the Desktop.
CSE 374 Programming Concepts & Tools
introduction to Linux/Unix environment
Lab 1 introduction, debrief
UNIX Basics Internet Technology.
Operating Systems and Using Linux
Lecture #3 Modern OS characteristics
CSE 390a Lecture 2 Exploring Shell Commands, Streams, and Redirection
Introduction to Linux Week 0 - Thursday.
CSE 390a Lecture 1 introduction to Linux/Unix environment
CSE 303 Lecture 1 introduction to Linux/Unix environment
Chapter Four UNIX File Processing.
introduction to Linux/Unix environment
introduction to Linux/Unix environment
introduction to Linux/Unix environment
Command line.
introduction to Linux/Unix environment
CSE 303 Concepts and Tools for Software Development
introduction to Linux/Unix environment
Module 6 Working with Files and Directories
introduction to Linux/Unix environment
introduction to Linux/Unix environment
Lab 2: Terminal Basics.
introduction to Linux/Unix environment
introduction to Linux/Unix environment
Presentation transcript:

CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Josh Goodwin http://www.cs.washington.edu/390a/

Lecture summary Course introduction and syllabus Unix and Linux operating system introduction to Bash shell

Course Introduction Me: CSE390a Josh Goodwin, dravir@cs Office hours: Thursdays 1:30-2:30 CSE216 CSE390a Replaces what used to be CSE303 Collection of tools and topics not specifically addressed in other courses that CSE majors should know *nix CLI, Shell scripting, compilation tools (makefiles), version control… Credit / No Credit course, determined by short weekly assignments and a final exam

Operating systems What is an OS? Why have one? What is a Kernel?

Operating systems operating system: Manages activities and resources of a computer. software that acts as an interface between hardware and user provides a layer of abstraction for application developers features provided by an operating system: ability to execute programs (and multi-tasking) memory management (and virtual memory) file systems, disk and network access an interface to communicate with hardware a user interface (often graphical) kernel: The lowest-level core of an operating system.

Unix brief history: key Unix ideas: Multics (1964) for mainframes K&R Linus Torvalds and Linux (1992) key Unix ideas: written in a high-level language (C) virtual memory hierarchical file system; "everything" is a file lots of small programs that work together to solve larger problems security, users, access, and groups human-readable documentation included

On to Linux Courtesy XKCD.com

Linux Linux: A kernel for a Unix-like operating system. commonly seen/used today in servers, mobile/embedded devices, ... GNU: A "free software" implement of many useful Unix-like tools. many GNU tools are distributed with the Linux kernel distribution: A pre-packaged set of Linux software. examples: Ubuntu, Fedora key features of Linux: open source software: source can be downloaded free to use constantly being improved/updated by the community

Features of Linux X-windows window managers desktop environments Gnome KDE How can I try out Linux? CSE basement labs attu shared server at home (Live CD, VirtualBox, etc.) The Linux help philosophy: "RTFM" (Read the F***ing Manual)

Exercises Install Linux and boot it up successfully. Load the course web site in Linux. Install a new game on Linux and play it. Get Linux to play an MP3.

Shell shell: An interactive program that uses user input to manage the execution of other programs. bash : the default shell program on most Linux/Unix systems Why should I learn to use a shell when GUIs exist?

Shell shell: An interactive program that uses user input to manage the execution of other programs. bash : the default shell program on most Linux/Unix systems Why should I learn to use a shell when GUIs exist? faster work remotely programmable customizable repeatable input, output, and errors directories: working/current directory, home directory

Shell commands command description exit logs out of the shell ls $ pwd /homes/iws/dravir $ cd CSE390 $ ls file1.txt file2.txt $ ls –l -rw-r--r-- 1 dravir vgrad_cs 0 2010-03-29 17:45 file1.txt -rw-r--r-- 1 dravir vgrad_cs 0 2010-03-29 17:45 file2.txt $ cd .. $ man ls $ exit command description exit logs out of the shell ls lists files in a directory pwd outputs the current working directory cd changes the working directory man brings up the manual for a command

Relative directories directory description . the directory you are in ("working directory") .. the parent of the working directory (../.. is grandparent, etc.) ~ your home directory (on many systems, this is /home/username ) ~username username's home directory ~/Desktop your desktop

Shell commands many accept arguments or parameters example: cp (copy) accepts a source and destination file path a program uses 3 streams of information: stdin, stdout, stderr (standard in, out, error) input: comes from user's keyboard output: goes to console errors can also be printed (by default, sent to console like output) parameters vs. input parameters: before Enter is pressed; sent in by shell input: after Enter is pressed; sent in by user

Directory commands some commands (cd, exit) are part of the shell ("builtins") others (ls, mkdir) are separate programs the shell runs command description ls list files in a directory pwd output the current working directory cd change the working directory mkdir create a new directory rmdir delete a directory (must be empty)

Command-line arguments most options are a - followed by a letter such as -c some are longer words preceded by two - signs, such as --count parameters can be combined: ls -l -a -r can be ls -lar many programs accept a --help or -help parameter to give more information about that command (in addition to man pages) or if you run the program with no arguments, it may print help info for many commands that accept a file name parameter, if you omit the parameter, it will read from standard input (your keyboard) note that this can conflict with the previous tip

Shell/system commands "man pages" are a very important way to learn new commands man ls man man command description man or info get help on a command clear clears out the output from the console exit exits and logs out of the shell command description date output the system date cal output a text calendar uname print information about the current system

File commands caution: the above commands do not prompt for confirmation easy to overwrite/delete a file; this setting can be overridden (how?) Exercise : Given several albums of .mp3 files all in one folder, move them into separate folders by artist. Exercise : Modify a .java file to make it seem as though you finished writing it on March 15 at 4:56am. command description cp copy a file mv move or rename a file rm delete a file touch create a new empty file, or update its last-modified time stamp