Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Similar documents
Introduction to Linux

Introduction to Linux

Introduction to Linux

EE516: Embedded Software Project 1. Setting Up Environment for Projects

Introduction of Linux

Perl and R Scripting for Biologists

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

Introduction to Supercomputing

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou

CSE 391 Lecture 1. introduction to Linux/Unix environment

Linux Systems Administration Getting Started with Linux

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

INF322 Operating Systems

Operating Systems. Copyleft 2005, Binnur Kurt

CENG 334 Computer Networks. Laboratory I Linux Tutorial

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories

Operating Systems 3. Operating Systems. Content. What is an Operating System? What is an Operating System? Resource Abstraction and Sharing

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29

CSE 391 Lecture 1. introduction to Linux/Unix environment

Unix Filesystem. January 26 th, 2004 Class Meeting 2

CENG393 Computer Networks Labwork 1

CSE 390a Lecture 1. introduction to Linux/Unix environment

Linux Shell Script. J. K. Mandal

GNU/Linux Course Lesson 1. Puria Nafisi

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs

Parallel Programming Pre-Assignment. Setting up the Software Environment

Introduction to Linux (Part I) BUPT/QMUL 2018/03/14

5/8/2012. Creating and Changing Directories Chapter 7

Unix File System. Class Meeting 2. * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech

CISC 220 fall 2011, set 1: Linux basics

Intro to Linux & Command Line

Introduction to Linux. Fundamentals of Computer Science

Introduction: What is Unix?

CS246 Spring14 Programming Paradigm Notes on Linux

CSE Linux VM. For Microsoft Windows. Based on opensuse Leap 42.2

Unix System Architecture, File System, and Shell Commands

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Introduction of Linux. Huang Cheng-Chao Dept. of Comput. Sci. & Tech. East China Normal University

Linux Essentials Objectives Topics:

Chapter-3. Introduction to Unix: Fundamental Commands

Lec 1 add-on: Linux Intro

CMSC 104 Lecture 2 by S Lupoli adapted by C Grasso

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80

Introduction. Let s start with the first set of slides

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers

Session 1: Accessing MUGrid and Command Line Basics

CSCI 2132 Software Development. Lecture 3: Unix Shells and Other Basic Concepts

Linux for Beginners. Windows users should download putty or bitvise:

Introduction to Unix: Fundamental Commands

Beyond this course. Machine code. Readings: CP:AMA 2.1, 15.4

Linux & Shell Programming 2014

Computer Systems and Architecture

CS 300. Data Structures

Introduction to Linux Basics

INTRODUCTION TO LINUX

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Overview of Unix / Linux operating systems

Introduction to Linux

Linux/Cygwin Practice Computer Architecture

Files

commandname flags arguments

Practical Session 0 Introduction to Linux

Systems Programming and Computer Architecture ( ) Exercise Session 01 Data Lab

Unix Handouts. Shantanu N Kulkarni

Introduction to the UNIX command line

Introduction to Cygwin Operating Environment

Linux at the Command Line Don Johnson of BU IS&T

Getting started with Hugs on Linux

A Brief Introduction to Unix

History. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME

Mills HPC Tutorial Series. Linux Basics I

Computer Systems and Architecture

Introduction to UNIX command-line

Pipes and FIFOs. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Virtual Machine. Linux flavor : Debian. Everything (except slides) preinstalled for you.

UNIX COMMANDS AND SHELLS. UNIX Programming 2015 Fall by Euiseong Seo

Introduction to Linux

Computer Architecture Lab 1 (Starting with Linux)

CHE3935. Lecture 1. Introduction to Linux

Exercise 1: Basic Tools

Chap2: Operating-System Structures

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester

Welcome to Linux. Lecture 1.1

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi

Lecture 1. A. Sahu and S. V. Rao. Indian Institute of Technology Guwahati

The Unix Shell & Shell Scripts

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Unix Introduction to UNIX

EKT332 COMPUTER NETWORK

Introduction to Linux

Working With Unix. Scott A. Handley* September 15, *Adapted from UNIX introduction material created by Dr. Julian Catchen

Modern C++ for Computer Vision and Image Processing. Igor Bogoslavskyi and Cyrill Stachniss

CS 300 Data Structures

Embedded Linux Systems. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island

Introduction to the Linux Command Line

Transcription:

Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

What is Linux? A Unix-like operating system of a computer What is an OS? A resource manager of a computer A layer of software interposed between application programs and the hardware What is Unix? A time-sharing, multi-task, multi-user OS (Perhaps) the most important OS in computer history 2

Linux Open-source development began in 1991 First released by Linus Torvalds Linux kernel The core of Linux system Thousands of contributors Supervised by Linus and other maintainers Distribution A collection of software based around Linux kernel Red Hat, Fedora, Debian, Ubuntu, Android, 3

Layered View of a Computer System Application Programs Text editor Web browser Game User Interfaces Kernel Operating system (Kernel) Hardware CPU MEM Disk NIC 4

User Interfaces The space where we interact with machines Command-line interface (CLI) Command interpreter Difficult to learn Called as shell Graphical user interface (GUI) KDE, Gnome, Unity, Xfce, Touch user interface Smartphones, tablets 5

Shell (1) A shell allows three types of commands An executable file that contains object code produced by a compilation of source code An internal shell command (built-in command) An executable file that contains a sequence of shell command lines (a shell script) There are two families of shells One based on Bourne shell (sh) We will use Bourne again shell (bash) for the course The other based on C shell (csh) 6

Shell (2) Executing programs on a shell $ command [options] [arguments] [$ ls] and [$ ls al] show different results All commands, options, arguments are case-sensitive Shells execute commands by means of processes A process is an instance of a program in execution 7

File System Overview (1) A file A collection of related information defined by its creator Unstructured sequence of bytes A file system Consist of two distinct parts: A collection of files A directory structure It provides the mechanism for on-line storage and access to file contents 8

File System Overview (2) Features of Unix file system A hierarchical structure It allows dynamic growth of files The ability to create and delete files The protection of the file data Unix treats the peripheral devices as files Everything is a file Documents, directories, hard-drives, network sockets, keyboards, printers are stream of bytes exposed through the file system namespace 9

File System Overview (3) Hierarchical, tree-like structure Root Non-leaf nodes Directories Leaf nodes Directories Regular files or special device files 10

File System Overview (4) *http://www.linuxplanet.com/linuxplanet/tutorials/6666/1 11

File System Overview (5) Root directory ["/"] The top-most directory in a hierarchy Home directory ["~"] A special directory for a user It contain the user s files; including texts, musics, videos, or configuration files (Current) Working directory Each process has associated with it a directory The directory where a user currently located 12

File System Overview (6) /bin Contains certain fundamental utilities /dev Essential devices /etc Host-specific system-wide configuration files /tmp A place for temporary files /var A place for files that may change often 13

Path The general form of the name of a file or a directory Delimiting characters ["/"] Represent each directory in path expressed in string Absolute path (full path) A path points a location regardless of present working directory $ cat /home/wooyeong/textfile $ cat ~/textfile Relative path A path relative to the working directory of the user $ cat textfile [if cwd is "/home/wooyeong"] 14

File Permission Every files have a set of permissions Ownership User/owner The person who owns/created the file. Group Unix allows for the creation of groups Others Everyone else in the world that has access to that computer Permission for Access Read (4) Write (2) execute (1) 15

Intentionally blank

Basic commands (1) ls List files $ ls $ ls -al /etc pwd Print working directory cd Change working directory $ cd.. $ cd /proc $ cd ~ 17

Basic commands (2) echo Display a line of text $ echo "Hello?" printf Print a formatted line of text $ printf "%s\n" Hello? cat Displaying files $ cat /etc/issue more / less head / tail 18

Basic commands (3) mkdir / rmdir Make / remove a directory $ mkdir swex1 mv Move or rename files $ mv swex1/ swex2/ cp Copy files rm Remove files 19

Basic commands (4) man Displaying a manual of a program or a function $ man man $ man less grep Searching files for a specified expression $ grep [expression] [files] $ grep root /etc/passwd 20

Basic commands (5) chmod Change the permissions on a file or directory u user + to add a permission r(4) read g group - to remove a permission w(2) write o other = to assign a permission explicitly x(1) execute (for files), access (for directories) $ chmod u=rw file1 $ chmod u+x,g+w,o-r file2 $ ls l swex2/ $ chmod 750 swex2/ $ ls l swex2/ 21

Development tools vi[m] A text editor for programmers $ vi [file_name] Create (if not exist) or open a file 'file_name http://csl.skku.edu/swe2007f14/resources $ vi hello.c gcc GNU compiler collection $ gcc o hello hello.c $./hello 22

Vim Modes Normal (command) mode 'i' key ESC key ':' key Insert mode Ex mode Edit the current file :w save[write] the current file :q quit Vim :q! quit Vim without saving :wq save the file and quit 23

hello.c #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } 24

Exercise Lab exercise #1: Make "swex2" directory on your home directory Create hello.c on the directory Compile it Run the program Remove "swex2" directory 25

Setting Up a Ubuntu VM

Steps 1. Install VirtualBox on your computer 2. Create a virtual machine (VM) 3. Install Ubuntu on the VM 4. Fun 27

Installing VirtualBox (1) Go to VirtualBox website https://www.virtualbox.org/wiki/downloads Download installation binary 28

Installing VirtualBox (2) 29

Installing VirtualBox (3) 30

Creating a VM (1) 31

Creating a VM (2) 32

Creating a VM (3) 33

Installing Ubuntu on the VM (1) Go to http://www.ubuntu.com/download/desktop or http://ftp.daum.net/ubuntu-releases/ Download a desktop image 34

Installing Ubuntu on the VM (2) 35

Installing Ubuntu on the VM (3) 36

Installing Ubuntu on the VM (4) 37

Installing Ubuntu on the VM (5) 38

Installing Ubuntu on the VM (6) 39

Installing Ubuntu on the VM (7) Press Ctrl + Alt + T to launch a terminal (shell) Type the following commands: $ sudo apt-get update $ sudo apt-get install build-essential 40