Introduction to Linux

Similar documents
Introduction to Linux

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

Introduction to Linux

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

Introduction of Linux

Perl and R Scripting for Biologists

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

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

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

Operating Systems. Copyleft 2005, Binnur Kurt

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

Unix System Architecture, File System, and Shell Commands

Unix Filesystem. January 26 th, 2004 Class Meeting 2

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

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

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

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

INF322 Operating Systems

GNU/Linux Course Lesson 1. Puria Nafisi

Linux Systems Administration Getting Started with Linux

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

CENG393 Computer Networks Labwork 1

Chapter-3. Introduction to Unix: Fundamental Commands

CENG 334 Computer Networks. Laboratory I Linux Tutorial

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

Linux Essentials Objectives Topics:

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

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

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

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

Introduction to Supercomputing

Introduction to Unix: Fundamental Commands

CSE 391 Lecture 1. introduction to Linux/Unix environment

Introduction to Linux. Fundamentals of Computer Science

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

CISC 220 fall 2011, set 1: Linux basics

CSE 391 Lecture 1. introduction to Linux/Unix environment

Linux Shell Script. J. K. Mandal

Lec 1 add-on: Linux Intro

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

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

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Computer Systems and Architecture

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

Intro to Linux & Command Line

INTRODUCTION TO LINUX

Introduction: What is Unix?

The Unix Shell & Shell Scripts

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

Session 1: Accessing MUGrid and Command Line Basics

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

CS246 Spring14 Programming Paradigm Notes on Linux

Overview of Unix / Linux operating systems

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

CS 300. Data Structures

A Brief Introduction to Unix

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

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

Introduction to Linux Basics

Linux & Shell Programming 2014

commandname flags arguments

Welcome to Linux. Lecture 1.1

Computer Systems and Architecture

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...

Chap2: Operating-System Structures

Introduction to Cygwin Operating Environment

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

Introduction to remote command line Linux. Research Computing Team University of Birmingham

Introduction to Linux

Lecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world.

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

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

Files

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

Computer Architecture Lab 1 (Starting with Linux)

h/w m/c Kernel shell Application s/w user

Introduction to the UNIX command line

Introduction to Linux

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples

Unix/Linux Operating System. Introduction to Computational Statistics STAT 598G, Fall 2011

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala

ScazLab. Linux Scripting. Core Skills That Every Roboticist Must Have. Alex Litoiu Thursday, November 14, 13

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

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

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

Introduction to UNIX command-line

Parallel Programming Pre-Assignment. Setting up the Software Environment

Unix Handouts. Shantanu N Kulkarni

Introduction To Linux. Rob Thomas - ACRC

1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words

Operating Systems, Unix Files and Commands SEEM

CS197U: A Hands on Introduction to Unix

CS Fundamentals of Programming II Fall Very Basic UNIX

Operating Systems and Using Linux. Topics What is an Operating System? Linux Overview Frequently Used Linux Commands

CS370 Operating Systems

LING 408/508: Computational Techniques for Linguists. Lecture 5

Transcription:

Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@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

What is an OS? OS is a resource manager Sharing Protection Fairness Performance OS provides the program execution environment Hides the messy details which must be performed. Presents users with a virtual machine, easier to use. 3

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, 4

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

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 6

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) 7

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 8

File & File System (1) A Unix file is a sequence of bytes Collection of related information defined by its creator Unstructured sequence of bytes 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 9

File & File System (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 in Unix Documents, directories, hard-drives, network sockets, keyboards, printers are stream of bytes exposed through the file system namespace 10

File & File System (3) All I/O devices are represented as files: /dev/sdb1 (hard disk partition) /dev/tty2 (terminal) Even the kernel is represented as a file: /dev/kmem (kernel memory image) /proc (kernel data structures) 11

File System Structure (1) Hierarchical, tree-like structure Root Non-leaf nodes Directories Leaf nodes Directories Regular files or special device files 12

File System Structure (2) *http://www.linuxplanet.com/linuxplanet/tutorials/6666/1 13

File System Structure (3) 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 14

File System Structure (4) /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 15

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"] 16

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) 17

Basic commands (1) man Display the manual page Display a manual of a program or a function $ man qsort $ man man (manual for manual page) 18

Basic commands (2) ls List files $ ls $ ls -al /etc $ ll ps List process $ ps $ ps -ef $ man ps 19

Basic commands (3) pwd Print working directory cd Change working directory $ cd.. $ cd /proc $ cd ~ 20

Basic commands (4) 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 21

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

Basic commands (6) date Print or set the system date and time grep Searching files for a specified expression $ grep [expression] [files] $ grep root /etc/passwd 23

Basic commands (7) 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), a all access (for directories) $ chmod u=rw file1 $ chmod u+x,g+w,o-r file2 $ touch a $ ls l a $ chmod 750 a $ ls l a 24

Basic commands (8) diff [file1] [file2] Reports line-by-line differences between file1 and file2 25

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/sse2030f16/resources $ vi hello.c gcc GNU compiler collection $ gcc o hello hello.c $./hello 26

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. Have fun! 28

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

Installing VirtualBox (2) 30

Installing VirtualBox (3) 31

Creating a VM (1) 32

Creating a VM (2) 33

Creating a VM (3) 34

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 35

Installing Ubuntu on the VM (2) 36

Installing Ubuntu on the VM (3) 37

Installing Ubuntu on the VM (4) 38

Installing Ubuntu on the VM (5) 39

Installing Ubuntu on the VM (6) 40

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 41