Temple University Computer Science Programming Under the Linux Operating System January 2017

Size: px
Start display at page:

Download "Temple University Computer Science Programming Under the Linux Operating System January 2017"

Transcription

1 Temple University Computer Science Programming Under the Linux Operating System January 2017 Here are the Linux commands you need to know to get started with Lab 1, and all subsequent labs as well. These commands should work on any Linux system. Note that whenever you see a in my examples below, it means you should press the SPACE bar. The represents a mandatory space. This document details the following steps in logging in, writing a program, compiling it and running it, as well as submitting it for grading. 1. Login to the Astro Linux system. 2. Create a new directory using mkdir. 3. Change into that directory using cd. 4. Confirm you're in the right directory using pwd. 5. Create or Edit the C source code using nano or vi. 6. Save your source code, confirm it's saved, and continue editing. 7. Compile your source code with the cc command. 8. Run your compiled program with the./a.out command. 9. Save a copy of your source code for backup using sendmail or scp. 10. Script the run of your program to capture input and output using script in you submission for grading to labwork@temple.edu. You should take your time doing this process, making sure to follow the steps carefully. In time, given repetition and some effort, you will memorize these steps and it will be easier than it looks. Page 1 of 11

2 -- STEP 1 -- Login to the Linux system using the SSH client on your machine. For our C programming class, we are using the machine with a name of astro.temple.edu The lab instructor will confirm this and can assist you with the steps involved for the particular classroom you're working in for the semester. Once you connect to the Linux machine, the default prompt under Linux will look like the following: [astro] ~ % That is the Linux prompt. Linux commands can be typed whenever you see the Linux prompt. The ~ in the linux prompt means you are in your home directory. If you are in a differnt directory, the ~ will be replaced with the name of the directory you are in. For example, if you re in the lab1 directory to work on the first lab, the Linux prompt will appear as follows: [astro] ~/lab1 % The arrow keys and mouse generally do not function as you expect when you're working at the Linux prompt. The arrow keys should work in the nano editor, but the mouse probably won't. Page 2 of 11

3 If you're not in the lab classroom and want to work remotely, then one of the following methods can be used to access the computing resource for this class: Apple Macintosh or Linux Desktop If you're working from a Mac or a Linux machine, you already have an ssh client installed. To use it, open up a new terminal (Apple) or xterm (Linux). Once at the prompt on the desktop, you can use the commadn ssh tuc49583@astro.temple.edu replacing the tuc49583 in the above command with your Temple AccessNet id. Windows 7 and 8 Under Windows, most people use either Putty or Secure Shell Client to connect to our Linux server. If you don't already have one of these, Temple's Computer Services department makes Secure Shell Client available from their web site for free. The URL is After you go to this site, login, and scroll down the list of software looking for a Software Title of 'ssh'. Download and install it the software. Once installed, you will see it on your app screen as follows: You can then click it to run it on your desktop. When prompted, enter in the Host Name and User Name as shown below. Page 3 of 11

4 Windows 7 and 8 (continued) You may get a prompt about saving the host identification key. Click on the Yes button. Generally, this only has to be done once. Then enter your AccessNet password and you should be connected to the server and see the Linux prompt. Page 4 of 11

5 -- STEP 2 -- For each lab assignment, create a separate directory. This helps us stay organized and keep our source code for different projects separate. The first Linux command we will learn is the one for creating a new directory. Directories are like folders, holding the files and other directories you need to accomplish a particular task. Each lab assignment for this class should go into it's own directory. The Linux command to create a directory is mkdir, and to create a directory for this lab assignment you can type mkdir lab1 -- STEP 3 Change your current directory to be the newly created directory by using the Linux command cd command, like this cd lab1 -- STEP 4 -- You can then confirm what directory you are in with the Linux command pwd which should display something like the following back to you: /usr/home/b/576/ tuc49583/lab1 -- STEP 5 -- Identify what editor you will be using to enter your source code. There are at least three editors you can use: nano vi emacs Beginners should use nano. You re free to use whatever you want, however, as long as the lab instructor approves it. Assuming you are using nano, you would now type the following at the Linux prompt to being creating your source code file: nano lab1.c You are now in nano screen editing mode and can use the arrow keys to move the cursor and type in your C source code. Your screen should look like the following: Page 5 of 11

6 In this example, the line at the top of the screen says you're editing in GNU nano 2.2.6, and the file you are editing is called lab1.c, and on the third line from the bottom, you're reminded that you are creating a new file, rather than editing an existing file. The bottom two rows of the example screen are the editor control functions, and they all begin with the caret character, which is ^ The caret is the character you get by holding SHIFT and pressing the 6 key on the top row of the keyboard. But that s not how you access the nano controls. To use the nano control functions, hold down the CONTROL key on the keyboard and type the letter you see after the caret. For example, to exit nano, which is the tag on the last row of the screen on the far left, you would hold down the CONTROL key and type the letter X. If you do that, the nano program ends and returns you to the Linux prompt. To go back into the editor, simply type nano lab1.c again and the screen above should reappear. Just as a test, to make sure we can enter and exit the editor with confidence, type a few lines from the first lab assignment. Your screen should look like the following: Page 6 of 11

7 Before you spend a lot of time typing, let's save this C source code file and make sure we can see it in Linux. To save the file, press the CONTROL key and then press X. When you do that, you will see a prompt at the bottom of the screen, as shown below: Type the letter 'y' (no control key) to answer yes to this nano prompt and save the file. Nano will then prompt you with the following: Page 7 of 11

8 File Name to Write: lab1.c at which point you can just press the return key. This will end the nano editing session, and you will be returned to Linux and see the Linux prompt. Let's confirm the file has been saved in the computer! If you now type the Linux command ls at the linux prompt, you should see something like this: [astro] ~/lab1 % ls lab1.c [astro] ~/lab1 % The command 'ls' lists the files in the current directory. You can see that you created a file called lab1.c. You can see more detailed information about the file by using the l flag on ls (that s the letter L, not the number one). [astro] ~/lab1 % ls -l -rw tuc49583 temple 780 Aug 5 23:58 lab1.c [astro] ~/lab1 % Here, we see the details, including the date and time the file was last updated (August 5th of the current year at 11:58 PM) and the number of bytes in the file (780 bytes). The operating system actually keeps additional information about the file that isn t shown here, but thats more of an advanced topic, so we won t discuss it further at this time. You can also see the contents of the file from the Linux prompt, without going into the editor, by typing [astro] ~/lab1 % more lab1.c #include <stdio.h> #include <stdlib.h> /* * Location: Temple University CIS 1057 * Programmer: Ray Lauff... [astro] ~/lab1 % Page 8 of 11

9 -- STEP 6 -- You can now return to the nano text editor and enter in the rest of your C source code, one line at a time. You might want to occasionally save it out to disk, just in the event there is a server or network interruption and your ssh session becomes disconnected. This is called 'saving your work'. When you are done typing in all your C source code, save your file as we learned above. -- STEP 7 -- Now it's time to have the computer inspect your C source code and see if it understands it all. This is called invoking the compiler. Compile and run the program at the Linux prompt using the command cc lab1.c If the compiler displays messages about things it doesn't like in your C source code, you need to go back in to the editor and correct them (back to step 5). If you do not get any messages displayed about your C source code, then you can use the ls command now and you should see two files in the directory, lab1.c and a.out. Later in futer labs, we might use other compiler invocations. Some common ones are cc -lm lab4.c cc -std=c99 lab5.c cc -std=c99 -g lab5.c cc -std=c99 function1.c function2.c function3.c lab6.c -- STEP 8 -- To run your program, and to have the computer actually follow the instructions in your C code, enter./a.out at the Linux prompt. This isn't technically a Linux command, but the name of the file the compiler created by reading your C program in the previous step. Linux will accept a file name at the command line as a program to run, and as long as it's been compiled correctly, the computer will execute it. When you enter the file name above (a.out), your program should begin running. If it runs correctly, great! Then you can continue to the next step. If it doesn't do what you wanted it to do, you need to go back to step 5 and edit the C source code. Page 9 of 11

10 -- STEP 9 -- Once the program works correctly, be sure to make a COPY of your work on a flash drive or it or sftp copy it to another computer. The Linux command to a copy of the file to tuc49583@temple.edu is cat lab1.c mail -s lab 1 source code tuc49583@temple.edu Please do not use this address as your 'backup' address. Use your own address instead. You should only send programs that are complete and ready to be graded to the address labwork@temple.edu. This is how you will receive a grade for your lab. It is the pipe character, between the c in lab1.c and the m in mail in the command above. Usually located below the backspace or delete key on the keyboard, you have to shift to type it.! You can also copy your file to other computer accounts using the scp command. The Linux command to copy the file to your computer science account is scp lab1.c tuc49583@cis-linux2.cis.temple.edu: In this case, replace the tuc49583 with your AccessNet account name. You may also print out a hardcopy of your program on the printer. Check with the lab instructor to get the correct command to print -- it is dependant on the lab room you're in. Page 10 of 11

11 -- STEP Now that the program is working correctly, we want to save a copy of exaclty what happens when you run it so it can be graded. We want to save the output in a file named lab1_output.txt. To do this under Linux, use the Linux 'script' command like this. script lab1_output.txt If you type this command correctly, you will get a message like the following: Script started, output file is lab1_output.txt Then, run your program again by typing./a.out and when your program is done, end the script by typing exit at which point you should see the message Script done, output file is lab1_output.txt This means the file has been successfully created. For submitting labs, you will want to start the script, run your program, answer the prompts, see the output, and then run the program again, answer the prompts, etc. You need to run the program three times using different input values and then end the script. Then all three runs will be recorded in one script file. -- STEP To mail both your C program and your script output file to be graded, use the command cat lab1.c lab1_output.txt mail -s "Lab assignment 1" labwork@temple.edu All done! Page 11 of 11

LAB #5 Intro to Linux and Python on ENGR

LAB #5 Intro to Linux and Python on ENGR LAB #5 Intro to Linux and Python on ENGR 1. Pre-Lab: In this lab, we are going to download some useful tools needed throughout your CS career. First, you need to download a secure shell (ssh) client for

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

Intermediate Programming, Spring Misha Kazhdan

Intermediate Programming, Spring Misha Kazhdan 600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad

More information

CSCI 161: Introduction to Programming I Lab 1a: Programming Environment: Linux and Eclipse

CSCI 161: Introduction to Programming I Lab 1a: Programming Environment: Linux and Eclipse CSCI 161: Introduction to Programming I Lab 1a: Programming Environment: Linux and Eclipse Goals - to become acquainted with the Linux/Gnome environment Overview For this lab, you will login to a workstation

More information

Once you have installed MobaXterm, open MobaXterm. Go to Sessions -> New Session, and click on the SSH icon.

Once you have installed MobaXterm, open MobaXterm. Go to Sessions -> New Session, and click on the SSH icon. Lab 1 In order to get credit for the lab, you need to be checked off by the end of lab. For nonzero labs, you can earn a maximum of 3 points for lab work completed outside of lab time, but you must finish

More information

CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C

CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C Welcome! Welcome to your CpSc 111 lab! For each lab this semester, you will be provided a document like this to guide you. This material, as

More information

CS CS Tutorial 2 2 Winter 2018

CS CS Tutorial 2 2 Winter 2018 CS CS 230 - Tutorial 2 2 Winter 2018 Sections 1. Unix Basics and connecting to CS environment 2. MIPS Introduction & CS230 Interface 3. Connecting Remotely If you haven t set up a CS environment password,

More information

CSC111 Computer Science II

CSC111 Computer Science II CSC111 Computer Science II Lab 1 Getting to know Linux Introduction The purpose of this lab is to introduce you to the command line interface in Linux. Getting started In our labs If you are in one of

More information

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment Parallel Programming Pre-Assignment Setting up the Software Environment Authors: B. Wilkinson and C. Ferner. Modification date: Aug 21, 2014 (Minor correction Aug 27, 2014.) Software The purpose of this

More information

CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.)

CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.) 1 Introduction 1 CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.) This laboratory is intended to give you some brief experience using the editing/compiling/file

More information

Introduction to Linux Spring 2014, Section 02, Lecture 3 Jason Tang

Introduction to Linux Spring 2014, Section 02, Lecture 3 Jason Tang Introduction to Linux Spring 2014, Section 02, Lecture 3 Jason Tang Topics What is an Operating System Overview of Linux Linux commands Shell Submit system What is an Operating System? Special type of

More information

C++ Programming on Linux

C++ Programming on Linux C++ Programming on Linux What is Linux? CS 2308 Spring 2017 Jill Seaman Slides 14-end are for your information only, you will not be tested over that material. 1 l an operating system l Unix-like l Open

More information

Helpful Tips for Labs. CS140, Spring 2015

Helpful Tips for Labs. CS140, Spring 2015 Helpful Tips for Labs CS140, Spring 2015 Linux/Unix Commands Creating, Entering, Changing Directories to Create a Directory (a Folder) on the command line type mkdir folder_name to Enter that Folder cd

More information

15-122: Principles of Imperative Computation

15-122: Principles of Imperative Computation 15-122: Principles of Imperative Computation Lab 0 Navigating your account in Linux Tom Cortina, Rob Simmons Unlike typical graphical interfaces for operating systems, here you are entering commands directly

More information

Editing, Compiling, Executing and Submitting Programs

Editing, Compiling, Executing and Submitting Programs Editing, Compiling, Executing and Submitting Programs Quick Start Compile step once always mkdir labs javac Realtor.java cd labs mkdir 0 Execute step java Realtor cd 0 Submit step emacs Realtor.java &

More information

Lab 1: Accessing the Linux Operating System Spring 2009

Lab 1: Accessing the Linux Operating System Spring 2009 CIS 90 Linux Lab Exercise Lab 1: Accessing the Linux Operating System Spring 2009 Lab 1: Accessing the Linux Operating System This lab takes a look at UNIX through an online experience on an Ubuntu Linux

More information

User Guide Version 2.0

User Guide Version 2.0 User Guide Version 2.0 Page 2 of 8 Summary Contents 1 INTRODUCTION... 3 2 SECURESHELL (SSH)... 4 2.1 ENABLING SSH... 4 2.2 DISABLING SSH... 4 2.2.1 Change Password... 4 2.2.2 Secure Shell Connection Information...

More information

Author A.Kishore/Sachin WinSCP

Author A.Kishore/Sachin   WinSCP WinSCP WinSCP is a freeware windows client for the SCP (secure copy protocol), a way to transfer files across the network using the ssh (secure shell) encrypted protocol. It replaces other FTP programs

More information

You can use the WinSCP program to load or copy (FTP) files from your computer onto the Codd server.

You can use the WinSCP program to load or copy (FTP) files from your computer onto the Codd server. CODD SERVER ACCESS INSTRUCTIONS OVERVIEW Codd (codd.franklin.edu) is a server that is used for many Computer Science (COMP) courses. To access the Franklin University Linux Server called Codd, an SSH connection

More information

EKT332 COMPUTER NETWORK

EKT332 COMPUTER NETWORK EKT332 COMPUTER NETWORK LAB 1 INTRODUCTION TO GNU/LINUX OS Lab #1 : Introduction to GNU/Linux OS Objectives 1. Introduction to Linux File System (Red Hat Distribution). 2. Introduction to various packages

More information

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry Intro to Linux and C CSCI 2400/ ECE 3217: Computer Architecture Instructors: David Ferry 1 Overview Linux C Hello program in C Compiling 2 History of Linux Way back in the day: Bell Labs Unix Widely available

More information

213/513/613 Linux/Git Bootcamp. Cyrus, Eugene, Minji, Niko

213/513/613 Linux/Git Bootcamp. Cyrus, Eugene, Minji, Niko 213/513/613 Linux/Git Bootcamp Cyrus, Eugene, Minji, Niko Outline 1. SSH, bash, and navigating Linux 2. Using VIM 3. Setting up VS Code 4. Git SSH 1. On macos/linux: $ ssh ANDREW-ID@shark.ics.cs.cmu.edu

More information

Short Read Sequencing Analysis Workshop

Short Read Sequencing Analysis Workshop Short Read Sequencing Analysis Workshop Day 2 Learning the Linux Compute Environment In-class Slides Matt Hynes-Grace Manager of IT Operations, BioFrontiers Institute Review of Day 2 Videos Video 1 Introduction

More information

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011 Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:

More information

Table Of Contents. 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands

Table Of Contents. 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands Table Of Contents 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands Getting onto the Zoo Type ssh @node.zoo.cs.yale.edu, and enter your netid pass when prompted.

More information

CS Fundamentals of Programming II Fall Very Basic UNIX

CS Fundamentals of Programming II Fall Very Basic UNIX CS 215 - Fundamentals of Programming II Fall 2012 - Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the CS (Project) Lab (KC-265)

More information

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment Parallel Programming Pre-Assignment Setting up the Software Environment Author: B. Wilkinson Modification date: January 3, 2016 Software The purpose of this pre-assignment is to set up the software environment

More information

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2017 Lab 01 Hello World CMSC 201 Spring 2017 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 5th by 8:59:59 PM Value: 10 points At UMBC, our General Lab (GL) system is designed to grant students the

More information

UoW HPC Quick Start. Information Technology Services University of Wollongong. ( Last updated on October 10, 2011)

UoW HPC Quick Start. Information Technology Services University of Wollongong. ( Last updated on October 10, 2011) UoW HPC Quick Start Information Technology Services University of Wollongong ( Last updated on October 10, 2011) 1 Contents 1 Logging into the HPC Cluster 3 1.1 From within the UoW campus.......................

More information

Getting Started With UNIX Lab Exercises

Getting Started With UNIX Lab Exercises Getting Started With UNIX Lab Exercises This is the lab exercise handout for the Getting Started with UNIX tutorial. The exercises provide hands-on experience with the topics discussed in the tutorial.

More information

CS 261 Recitation 1 Compiling C on UNIX

CS 261 Recitation 1 Compiling C on UNIX Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Compiling C on UNIX Winter 2017 Outline Secure Shell Basic UNIX commands Editing text The GNU Compiler

More information

Programming and Data Structure Laboratory (CS13002)

Programming and Data Structure Laboratory (CS13002) Programming and Data Structure Laboratory (CS13002) Dr. Sudeshna Sarkar Dr. Indranil Sengupta Dept. of Computer Science & Engg., IIT Kharagpur 1 Some Rules to be Followed Attendance is mandatory. Regular

More information

Using the Zoo Workstations

Using the Zoo Workstations Using the Zoo Workstations Version 1.86: January 16, 2014 If you ve used Linux before, you can probably skip many of these instructions, but skim just in case. Please direct corrections and suggestions

More information

CMSC 201 Spring 2018 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World CMSC 201 Spring 2018 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 4th by 8:59:59 PM Value: 10 points At UMBC, the GL system is designed to grant students the privileges

More information

Linux/Cygwin Practice Computer Architecture

Linux/Cygwin Practice Computer Architecture Linux/Cygwin Practice 2010 Computer Architecture Linux Login Use ssh client applications to connect (Port : 22) SSH Clients zterm ( http://www.brainz.co.kr/products/products4_2.php ) Putty ( http://kldp.net/frs/download.php/3411/hangulputty-0.58.h2.exe

More information

CS 246 Winter Tutorial 1

CS 246 Winter Tutorial 1 CS 246 Winter 2015 - Tutorial 1 January 11, 2016 1 Summary General Administration Stuff CS Undergraduate Environment Useful Software Basic Commands.profile Text Editors 2 General Administration Stuff Course

More information

Lab 3a Using the vi editor

Lab 3a Using the vi editor Lab 3a Using the vi editor Objectives: Become familiar with the vi Editor Review the three vi Modes Review keystrokes to move between vi modes Create a new file with vi Editor Invoke vi with show mode

More information

WinSCP. Author A.Kishore/Sachin

WinSCP. Author A.Kishore/Sachin WinSCP WinSCP is a freeware windows client for the SCP (secure copy protocol), a way to transfer files across the network using the ssh (secure shell) encrypted protocol. It replaces other FTP programs

More information

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Contents 1 An Introduction to C++, Unix, SSH and Komodo Edit 1.1 Introduction 1.2 The C++ Language 1.2.1 A Brief Introduction 1.2.1.1 Recommended

More information

Getting Started with UNIX

Getting Started with UNIX Getting Started with UNIX What is UNIX? Boston University Information Services & Technology Course Number: 4000 Course Instructor: Kenny Burns Operating System Interface between a user and the computer

More information

New User Tutorial. OSU High Performance Computing Center

New User Tutorial. OSU High Performance Computing Center New User Tutorial OSU High Performance Computing Center TABLE OF CONTENTS Logging In... 3-5 Windows... 3-4 Linux... 4 Mac... 4-5 Changing Password... 5 Using Linux Commands... 6 File Systems... 7 File

More information

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group.

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group. CMPS 12L Introduction to Programming Lab Assignment 2 We have three goals in this assignment: to learn about file permissions in Unix, to get a basic introduction to the Andrew File System and it s directory

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. The doc is

More information

Compiling C/C++ programs

Compiling C/C++ programs Name: Student ID: Lab Instructor: Borja Sotomayor Do not write in this area 1 2 3 TOTAL Maximum possible points: 20 + 2 NOTE: The lab session will take place in the Linux machines of the Maclab. This lab

More information

CISC 220 fall 2011, set 1: Linux basics

CISC 220 fall 2011, set 1: Linux basics CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week

More information

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs Linux Tutorial #1 Introduction The Linux operating system is now over 20 years old, and is widely used in industry and universities because it is fast, flexible and free. Because Linux is open source,

More information

Introduction to Algorithms and Programming I Lab. Exercises #1 Solution

Introduction to Algorithms and Programming I Lab. Exercises #1 Solution 60-140 Introduction to Algorithms and Programming I Lab. Exercises #1 Solution Objectives are to: 1. Learn basic Unix commands for preparing a source C program file, compiling a C program and executing

More information

You should see something like this, called the prompt :

You should see something like this, called the prompt : CSE 1030 Lab 1 Basic Use of the Command Line PLEASE NOTE this lab will not be graded and does not count towards your final grade. However, all of these techniques are considered testable in a labtest.

More information

Practical Session 0 Introduction to Linux

Practical Session 0 Introduction to Linux School of Computer Science and Software Engineering Clayton Campus, Monash University CSE2303 and CSE2304 Semester I, 2001 Practical Session 0 Introduction to Linux Novell accounts. Every Monash student

More information

Introduction. SSH Secure Shell Client 1

Introduction. SSH Secure Shell Client 1 SSH Secure Shell Client 1 Introduction An SSH Secure Shell Client is a piece of software that allows a user to do a number of functions. Some of these functions are: file transferring, setting permissions,

More information

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are:

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are: INTRODUCTION Your first daily assignment is to modify the program test.py to make it more friendly. But first, you need to learn how to edit programs quickly and efficiently. That means using the keyboard

More information

Introduction to the Linux Command Line

Introduction to the Linux Command Line Introduction to the Linux Command Line May, 2015 How to Connect (securely) ssh sftp scp Basic Unix or Linux Commands Files & directories Environment variables Not necessarily in this order.? Getting Connected

More information

STA 303 / 1002 Using SAS on CQUEST

STA 303 / 1002 Using SAS on CQUEST STA 303 / 1002 Using SAS on CQUEST A review of the nuts and bolts A.L. Gibbs January 2012 Some Basics of CQUEST If you don t already have a CQUEST account, go to www.cquest.utoronto.ca and request one.

More information

Introduction to Linux Environment. Yun-Wen Chen

Introduction to Linux Environment. Yun-Wen Chen Introduction to Linux Environment Yun-Wen Chen 1 The Text (Command) Mode in Linux Environment 2 The Main Operating Systems We May Meet 1. Windows 2. Mac 3. Linux (Unix) 3 Windows Command Mode and DOS Type

More information

Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12)

Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Objective: Learn some basic aspects of the UNIX operating system and how to use it. What is UNIX? UNIX is the operating system used by most computers

More information

CS1110 Lab 1 (Jan 27-28, 2015)

CS1110 Lab 1 (Jan 27-28, 2015) CS1110 Lab 1 (Jan 27-28, 2015) First Name: Last Name: NetID: Completing this lab assignment is very important and you must have a CS 1110 course consultant tell CMS that you did the work. (Correctness

More information

Introduction to Linux Workshop 2. The George Washington University SEAS Computing Facility

Introduction to Linux Workshop 2. The George Washington University SEAS Computing Facility Introduction to Linux Workshop 2 The George Washington University SEAS Computing Facility Course Goals SSH and communicating with other machines Public/Private key generation,.ssh directory, and the config

More information

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit A portion of this lab is to be done during the scheduled lab time. The take-home programming assignment is to be turned in before the next lab;

More information

Linux hep.wisc.edu

Linux hep.wisc.edu Linux Environment @ hep.wisc.edu 1 Your Account : Login Name and usage You are given a unique login name (e.g. john) A temporary password is given to you Use this to login name and password to enter the

More information

1 Getting Started with Linux.

1 Getting Started with Linux. PHYS-4007/5007: omputational Physics Tutorial #1 Using Linux for the First Time 1 Getting Started with Linux. The information of logging in on the Linux side of the computers in Brown Hall 264 can be found

More information

Lab 1: Introduction to C, ASCII ART & the Linux Command Line

Lab 1: Introduction to C, ASCII ART & the Linux Command Line .i.-' `-. i..' `/ \' _`.,-../ o o \.' ` ( / _\ /_ \ ) \\\ (_.'.'"`.`._) /// \\`._(..: :..)_.'// \`. \.:-:. /.'/ `-i-->..

More information

Introduction to Unix - Lab Exercise 0

Introduction to Unix - Lab Exercise 0 Introduction to Unix - Lab Exercise 0 Along with this document you should also receive a printout entitled First Year Survival Guide which is a (very) basic introduction to Unix and your life in the CSE

More information

CSC UNIX System, Spring 2015

CSC UNIX System, Spring 2015 CSC 352 - UNIX System, Spring 2015 Study guide for the CSC352 midterm exam (20% of grade). Dr. Dale E. Parson, http://faculty.kutztown.edu/parson We will have a midterm on March 19 on material we have

More information

Helsinki 19 Jan Practical course in genome bioinformatics DAY 0

Helsinki 19 Jan Practical course in genome bioinformatics DAY 0 Helsinki 19 Jan 2017 529028 Practical course in genome bioinformatics DAY 0 This document can be downloaded at: http://ekhidna.biocenter.helsinki.fi/downloads/teaching/spring2017/exercises_day0.pdf The

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

BIF713. Operating Systems & Project Management. Instructor: Murray Saul Webpage: murraysaul.wordpress.

BIF713. Operating Systems & Project Management. Instructor: Murray Saul   Webpage: murraysaul.wordpress. BIF713 Operating Systems & Project Management Instructor: Murray Saul E-mail: murray.saul@senecacollege.ca Webpage: murraysaul.wordpress.com Today's Topics Types of computer servers at Seneca College Introduction

More information

CSE 391 Editing and Moving Files

CSE 391 Editing and Moving Files CSE 391 Editing and Moving Files Tips for moving files around to/from attu slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson http://www.cs.washington.edu/391 1 Remote Connections:

More information

An Introductory Tutorial on UNIX

An Introductory Tutorial on UNIX An Introductory Tutorial on UNIX Kevin Keay February 6 2009 Introduction The purpose of this document is to guide you through the sequence of: 1. Describing a quick method of connecting to a remote UNIX

More information

Setting up my Dev Environment ECS 030

Setting up my Dev Environment ECS 030 Setting up my Dev Environment ECS 030 1 Command for SSHing into a CSIF Machine If you already have a terminal and already have a working ssh program (That is, you type ssh into the terminal and it doesn

More information

The Unix Shell & Shell Scripts

The Unix Shell & Shell Scripts The Unix Shell & Shell Scripts You should do steps 1 to 7 before going to the lab. Use the Linux system you installed in the previous lab. In the lab do step 8, the TA may give you additional exercises

More information

The Command Shell. Fundamentals of Computer Science

The Command Shell. Fundamentals of Computer Science The Command Shell Fundamentals of Computer Science Outline Starting the Command Shell Locally Remote Host Directory Structure Moving around the directories Displaying File Contents Compiling and Running

More information

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

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version... Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing

More information

Introduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie

Introduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie Introduction in Unix Linus Torvalds Ken Thompson & Dennis Ritchie My name: John Donners John.Donners@surfsara.nl Consultant at SURFsara And Cedric Nugteren Cedric.Nugteren@surfsara.nl Consultant at SURFsara

More information

Problem Set 1 Due: 11:59pm Wednesday, February 7

Problem Set 1 Due: 11:59pm Wednesday, February 7 CS251 Programming Languages Handout # 13 Prof. Lyn Turbak January 31, 2007 Wellesley College Reading: Problem Set 1 Due: 11:59pm Wednesday, February 7 Handouts #1 #12 (only Chapters 1 5 of Handout #9 =

More information

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016 Linux Boot Camp Jack, Matthew, Nishad, Stanley 6 Sep 2016 1 Connecting SSH Windows users: MobaXterm, PuTTY, SSH Tectia Mac & Linux users: Terminal (Just type ssh) andrewid@shark.ics.cs.cmu.edu 2 Let s

More information

COP4530 Data Structures, Algorithms and Generic Programming Recitation 3 Date: January 20 & 22, 2009

COP4530 Data Structures, Algorithms and Generic Programming Recitation 3 Date: January 20 & 22, 2009 COP4530 Data Structures, Algorithms and Generic Programming Recitation 3 Date: January 20 & 22, 2009 Lab objectives: 1) Quiz 2) Set up SSH to run external programs. 3) Learn how to use the DDD debuger.

More information

Using WestGrid from the desktop Oct on Access Grid

Using WestGrid from the desktop Oct on Access Grid Using WestGrid from the desktop Oct 11 2007 on Access Grid Introduction Simon Sharpe, UCIT Client Services The best way to contact WestGrid support is to email support@westgrid.ca This seminar gives you

More information

CS Operating Systems, Fall 2018 Project #0 Description

CS Operating Systems, Fall 2018 Project #0 Description CS314-002 Operating Systems, Fall 2018 Project #0 Description Due: 11:00 A.M., September 5, 2018 I. Project Narrative: The primary objectives in this project are: (1) confirm your account (user name and

More information

CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10

CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10 CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10 PURPOSE: The purpose of this lab is to acquaint you with the C++ programming environment on storm. PROCEDURES: You will use Unix/Linux environment

More information

Part I. Introduction to Linux

Part I. Introduction to Linux Part I Introduction to Linux 7 Chapter 1 Linux operating system Goal-of-the-Day Familiarisation with basic Linux commands and creation of data plots. 1.1 What is Linux? All astronomical data processing

More information

AMS 200: Working on Linux/Unix Machines

AMS 200: Working on Linux/Unix Machines AMS 200, Oct 20, 2014 AMS 200: Working on Linux/Unix Machines Profs. Nic Brummell (brummell@soe.ucsc.edu) & Dongwook Lee (dlee79@ucsc.edu) Department of Applied Mathematics and Statistics University of

More information

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

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions Lanka Education and Research Network Linux Architecture, Linux File System, Linux Basic Commands 28 th November 2016 Dilum Samarasinhe () Overview History of Linux Linux Architecture Linux File System

More information

CSC 112 Lab 1: Introduction to Unix and C++ Fall 2009

CSC 112 Lab 1: Introduction to Unix and C++ Fall 2009 CSC 112 Lab 1: Introduction to Unix and C++ Fall 2009 Due: Friday, September 4 th, 9:00am Introduction The operating system of a computer is the coordinator of all of the computer s activities, including

More information

WELCOME TO PROGRAMMING

WELCOME TO PROGRAMMING WELCOME TO PROGRAMMING Course Navigation and information on Canvas Dan McElroy This video is offered under a Creative Commons Attribution Non-Commercial Share license. Content in this video can be considered

More information

sftp - secure file transfer program - how to transfer files to and from nrs-labs

sftp - secure file transfer program - how to transfer files to and from nrs-labs last modified: 2017-01-20 p. 1 CS 111 - useful details: ssh, sftp, and ~st10/111submit You write Racket BSL code in the Definitions window in DrRacket, and save that Definitions window's contents to a

More information

Mills HPC Tutorial Series. Linux Basics I

Mills HPC Tutorial Series. Linux Basics I Mills HPC Tutorial Series Linux Basics I Objectives Command Line Window Anatomy Command Structure Command Examples Help Files and Directories Permissions Wildcards and Home (~) Redirection and Pipe Create

More information

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the EECS labs that dual boot

More information

Unix. Examples: OS X and Ubuntu

Unix. Examples: OS X and Ubuntu The Command Line A terminal is at the end of an electric wire, a shell is the home of a turtle, tty is a strange abbreviation, and a console is a kind of cabinet. - Some person on SO Learning Resources

More information

Lab 2 Building on Linux

Lab 2 Building on Linux Lab 2 Building on Linux Assignment Details Assigned: January 28 th, 2013. Due: January 30 th, 2013 at midnight. Background This assignment should introduce the basic development tools on Linux. This assumes

More information

Part I. UNIX Workshop Series: Quick-Start

Part I. UNIX Workshop Series: Quick-Start Part I UNIX Workshop Series: Quick-Start Objectives Overview Connecting with ssh Command Window Anatomy Command Structure Command Examples Getting Help Files and Directories Wildcards, Redirection and

More information

Adafruit's Raspberry Pi Lesson 6. Using SSH

Adafruit's Raspberry Pi Lesson 6. Using SSH Adafruit's Raspberry Pi Lesson 6. Using SSH Created by Simon Monk Last updated on 2017-08-16 01:12:07 AM UTC Guide Contents Guide Contents Overview Enabling SSH Using a blank boot file Using Raspi-Config

More information

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

CSCI 2132 Software Development. Lecture 3: Unix Shells and Other Basic Concepts CSCI 2132 Software Development Lecture 3: Unix Shells and Other Basic Concepts Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 10-Sep-2018 (3) CSCI 2132 1 Introduction to UNIX

More information

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab Basic Terminal Intro to Linux ssh short for s ecure sh ell usage: ssh [host]@[computer].[otheripstuff] for lab computers: ssh [CSID]@[comp].cs.utexas.edu can get a list of active computers from the UTCS

More information

CS 460 Linux Tutorial

CS 460 Linux Tutorial CS 460 Linux Tutorial http://ryanstutorials.net/linuxtutorial/cheatsheet.php # Change directory to your home directory. # Remember, ~ means your home directory cd ~ # Check to see your current working

More information

Unix basics exercise MBV-INFX410

Unix basics exercise MBV-INFX410 Unix basics exercise MBV-INFX410 In order to start this exercise, you need to be logged in on a UNIX computer with a terminal window open on your computer. It is best if you are logged in on freebee.abel.uio.no.

More information

Introduction. Overview of 201 Lab and Linux Tutorials. Stef Nychka. September 10, Department of Computing Science University of Alberta

Introduction. Overview of 201 Lab and Linux Tutorials. Stef Nychka. September 10, Department of Computing Science University of Alberta 1 / 12 Introduction Overview of 201 Lab and Linux Tutorials Stef Nychka Department of Computing Science University of Alberta September 10, 2007 2 / 12 Can you Log In? Should be same login and password

More information

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing Quick Start Guide by Burak Himmetoglu Supercomputing Consultant Enterprise Technology Services & Center for Scientific Computing E-mail: bhimmetoglu@ucsb.edu Contents User access, logging in Linux/Unix

More information

CS251 Programming Languages Handout # 3 Wellesley College 30 January Linux, X, and Emacs

CS251 Programming Languages Handout # 3 Wellesley College 30 January Linux, X, and Emacs CS251 Programming Languages Handout # 3 Wellesley College 30 January 2006 1 Welcome to the Zoo Linux, X, and Emacs We will be using the CS department s Linux workstations for all programming in CS251.

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

CHE3935. Lecture 1. Introduction to Linux

CHE3935. Lecture 1. Introduction to Linux CHE3935 Lecture 1 Introduction to Linux 1 Logging In PuTTY is a free telnet/ssh client that can be run without installing it within Windows. It will only give you a terminal interface, but used with a

More information