ITNPBD7 Cluster Computing Spring Using Condor

Size: px
Start display at page:

Download "ITNPBD7 Cluster Computing Spring Using Condor"

Transcription

1 The aim of this practical is to work through the Condor examples demonstrated in the lectures and adapt them to alternative tasks. Before we start, you will need to map a network drive to \\wsv.cs.stir.ac.uk\datasets and then copy the directory condor that is in this network drive to the top level directory on your H drive (it will be assumed that you have called this directory condor in the following sheet). In order to submit Condor jobs, we will need to be logged in to the Condor submission host called pound. Make a connection to pound using the Putty terminal client. This is the same application you have used on the lab PCs to connect to the Hadoop cluster but this time you should create a different connection for the machine pound.cs.stir.ac.uk using port 541. When you log in to pound you will start in a home directory (/home/<username>) on this machine that is mapped to the same location as your Windows file store. In the examples that follow, the username dec will be used to demonstrate examples but you should substitute your own username in its place. We can start by confirming our initial log in directory. To check which directory we are currently in on Unix or Linux, use the pwd command in the Putty terminal window. For the user dec, we should expect to get back the result: /home/dec You should now also be able to check that all the relevant example files were copied to your main CS file store correctly by typing ls condor. You should see the following output if they are in the correct place: seqcount tspga wordcount hello ipcheck The above correspond to the 5 sub-directories that contain the Condor examples we will be using in this practical. Computing Science & Mathematics 1

2 Hello World in Java We will begin by looking at submitting the basic Hello World Condor jobs for Java, Python and C. Each of these examples are in a separate sub directory of the hello directory. We will try the Java example first and then look at the differences between this submission job and the Python and C jobs. Move to the Java hello example by typing: cd /home/<username>/condor/hello/hello.j Confirm that you are in the right directory by typing pwd and check that all the relevant files are in your current directory using the ls command. For the ls command you should see the following listing: Hello.jar sub-hello.txt You can view the contents of text files using the command more <filename>. In this case we can look at the contents of the submission file sub-hello.txt using the command more sub-hello.txt which should produce the output: universe executable arguments jar_files log error output Queue 1 = java = Hello.jar = Hello = Hello.jar = hello.log = hello.err = hello-out.txt This is similar to the example seen in the lecture. The points to note from this example are, in entry order: it uses the Java universe the executable to run is Hello.jar the initial class that will be run from the executable archive is called Hello (denoted by the arguments field). In this example there are no further arguments to be passed to the Hello class (our args array in main will be empty). the Java files we need are contained in the Java archive Hello.jar (it some cases we may need to specify more than one jar file). Submission log data for all the queued jobs will be saved in hello.log Error log data for all the queued jobs will be saved in hello.err Any console output produced from our job via System.out.println will be saved to hello-out.txt. We will queue a single job. Before we submit this job, we will take a quick look at the status of the Condor pool to check that there are spare nodes free. To do this, type condor_status and review the output at the end (if you want to see it a page at a time, use condor_status more which Computing Science & Mathematics 2

3 will pipe the output of the condor_status command through to the more command and allow you to use the Spacebar to see a page of output at a time). Although the numbers might vary a little, the status output should produce something similar to the following (excluding the Preempting and Backfill columns): Total Owner Claimed Unclaimed Matched X86_64/LINUX X86_64/WINDOWS Total We can see from this output that there are 400 unclaimed nodes in the cluster of which 56 are Linux nodes and 344 are Windows nodes. Since our Java job does not specify a particular OS and is able to run on either node type, we can run jobs on all 400 nodes. Given that we will only need 1 node for our single queued job, this is not of importance. In reality it is quite possible that you will have much larger jobs and that only 40 or so nodes may be free (the Linux nodes tend to be the most contested since they can reliably run longer jobs without interruption). To submit our hello world job, we use the command: condor_submit <submit file>. In this case try typing condor_submit sub-hello.txt This should produce output similar to the following: Submitting job(s). 1 job(s) submitted to cluster You can check on the status of your job queue by typing condor_q <username> (e.g. condor_q dec) although you would need to be quick in the above example since the job is likely to get be queued and run very quickly. You can also check all Condor jobs that are waiting to be queued by omitting the <username> option. In this case you will see all the jobs that all users have currently submitted to the queue. If you check the queue and see output similar to the following: -- Submitter: pound0.cs.stir.ac.uk : < :47347> : pound0.cs.stir.ac.uk ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD 0 jobs; 0 idle, 0 running, 0 held This indicates that your job has completed. If you now type ls l you should see a more detailed listing and should observe that there are 3 new files in your directory with modification dates matching today. These are the 3 output files we specified in our submission files. You can quickly view the contents of them using the more command. If all has gone to plan, the file hello-out.txt will contain the words Hello World, the file hello.log will contain details about the job submission, execution and termination phases and hello.err should be empty. Computing Science & Mathematics 3

4 Hello World in C & Python We will now look at submitting a Condor job for code that has been compiled for a particular OS and hardware. In this case we will use a simple C program that was compiled on pound which is a Linux node similar to the other Condor Linux nodes. To ensure compatibility, it is worth trying to compile code on a submission node since if it then builds and runs on one node, it should run on the remaining nodes of that type. If you are still in the same directory as you were in for the previous example, you can move to the C example directory by typing: cd../hello.c This changes directory to the one above you (the..) and then down into a directory called helloc. If you are in a different location and wish to move to the right directory, you can also type: cd /home/<username>/condor/hello/hello.c This gives the cd command the full and complete path to where you want to go starting from the top level of the file store (the / ). If you now type ls you should get a listing of the hello.c directory as follows: hello.c hello.out sub-helloc.txt The source code for this example is in the file hello.c (which can be viewed by typing more hello.c). The compiled version of this source code is the file hello.out and the condor submission file is sub-helloc.txt. View the contents of the submission file by typing more sub-helloc.txt and confirm that you see the following: universe = Vanilla executable = hello.out output = out.txt error = out.err log = out.log arguments = stuff requirements = OpSys == "LINUX" queue 1 In contrast to the initial Java example, the Universe entry has been changed to Vanilla and we are supplying a compiled executable called hello.out. The other entries are similar to before (the arguments entry is ignored by this program but can be used to supply command line arguments where needed). Submit this job by typing condor_submit sub-helloc.txt and then try to see the job in the queue by typing condor_q <username> (e.g. condor_q dec). When the job has completed, use the more command to confirm the expected output in out.txt and the log and error information in out.log and out.err respectively. Computing Science & Mathematics 4

5 If you change directory to the Python example (cd../hello.py), you should be able to repeat the above submission process for the Python example using the submission file sub-hellopy.txt. After confirming that the supplied Python script in hello.py works as expected, you could also try editing the Python script and getting it to do something different. Unless you are familiar with a Unix/Linux editor such as vi, you will find it easiest to edit hello.py from Windows using TextPad (do not use Notepad since it does not handle Unix new line characters properly). IP Checker: Using the Process ID as a command line argument The next example uses the IP checker code that was demonstrated in lectures. This can be a useful debug tool that enables you to confirm that code has run on a particular node. To change to the directory containing this example, type: cd /home/<username>/condor/ipcheck Using the ls command, you should be able to confirm that this directory contains two files the Java archive NodeIP.jar and the Condor submission file sub-nodeip.txt. This example demonstrates using the process ID as a command line argument that is passed in to NodeIP program. If you examine the contents of the submission file using the command more sub-nodeip.txt, you should observe the line: arguments = NodeIP $(Process) The $(Process) entry will be replaced with a job number such that if we had used Queue 3 to request 3 jobs, the arguments passed in would be 0,1 and 2. In order to see the output of each individual job, we have also used the $(Process) macro to set the output file name for each job via the line: output = chkout$(process).txt For the example above with 3 jobs queued, this would result in three output files being generated called chkout0.txt, chkout1.txt and chkout2.txt. Note that these files will contain whatever was sent to standard output by your program (in Java this would be lines where you used the command System.out.print or System.out.println). To confirm this mechanism, submit the job file sub-nodeip.txt, check the queue and when all jobs have completed, list the contents of your working directory via the ls command. You should observe that you now have 10 output files labelled chkout0.txt to chkout9.txt. Examine the contents of some of these files using the more command and confirm that the Task number matches the job number. Computing Science & Mathematics 5

6 Passing input files to Condor jobs The next example demonstrates passing an input file to a Condor job using the word count example shown in lectures. To change to the example directory, type: cd /home/<username>/condor/wordcount List the contents of this directory and confirm that there are 5 files present. This job requires us to split a source text file into parts, send each of the parts to a separate Condor job and then merge the resultant output when the jobs have completed. The 5 files are as follows: 1. wp.txt Our document to analyse (War and Peace) 2. split.sh A script to run the Java class Splitter which will split wp.txt into 5 parts. 3. sub-count.txt The Condor submission file that create 5 jobs, 1 for each of the above parts. 4. wordcount.jar The Java archive containing the Java classes we need. The source code for the classes contained in this archive was shown in the lectures. 5. merge.sh A script that merges the partial counts into a single sorted list of counts. Using the more command, view the contents of the files split.sh, sub-count.txt and merge.sh and check that you understand what they are doing. For the Condor submission file sub-count.txt, you should observe that we instruct each job to count a process numbered input file (wp-0.txt, wp-1.txt etc) via the command: Arguments = Counter wp-$(process).txt 1 and that we ensure that the relevant file is copied over to the Condor job via the commands: transfer_input_files should_transfer_files = wp-$(process).txt = YES To try this example out, we first need to split up the document wp.txt using the script split.sh. Run the splitter scrip by typing the following:./split.sh Now type ls and confirm that there are 5 new files numbered wp-0.txt to wp-4.txt. These just contain wp.txt split into 5 equal sized sections. Run the Condor submission job subcount.txt and check the Condor queue to confirm when the job has completed. Once complete, list the contents of the current directory and confirm that 5 word count files have been deposited back in your working directory. The files should be labelled c-wp- 0.txt to c-wp-4.txt. Each of the files were created directly by an instance of the Counter program running on Condor. They were not created via standard output as in previous examples and there is therefore no mention on them in the Condor submission file. The Computing Science & Mathematics 6

7 Condor client has noticed that new files were created compared to those that it copied across and due to the command: when_to_transfer_output = ON_EXIT it has copied these output files back to the submission directory. Examine the content of a couple of the word count files (e.g. c-wp-2.txt) using the more command and check that it contains an unordered list of word counts. We now need to merge each of the c-wp-0.txt to c-wp-4.txt files into one word count file. This can be achieved using the script merge.sh which contains 2 commands. The first one runs the Java class Merge that is in the Java archive wordcount.jar. This merges all files with the prefix c-wp and saves the output to a single file called mergedcounts.txt (omitting all word counts with less than 50 entries). The second command sorts mergedcounts.txt using the Unix sort command to sort mergedcounts.txt using the second column (the -k 2 part) based on a numeric reversed sort (the -nr part). The output of sort is redirected to the file sortedmerge.txt (the > sortedmerge.txt part). To run this script, type./merge.sh and then use the ls command to confirm that 2 new files have appeared called mergedcounts.txt and sortedmerge.txt. Use the more command to see the unsorted and sorted versions of the word distribution counts. Collecting DNA sequence counts We are now going to look at a similar Condor job that applies the same principles as above to searching for given lengths of DNA sequences. Use the cd command to change directory to: /home/<username>/condor/seqcount If you list the contents of this directory via the ls command, you should observe 6 files are present. The files have the following roles: 1. seq-dna.txt The DNA sequence that we are going to analyse (this is a subset of a much larger sequence) 2. split.sh A script to split seq-dna.txt into 5 parts. This uses exactly the same code as the previous example but a different file to split. 3. sub-sequence3.txt and sub-sequence9.txt Condor submission files to count sequences of length 3 and 9 respectively. 4. seqcount.jar A Java archive containing the Splitter, Sequences and Merge classes. 5. merge.sh A script to merge the partial sequence counts. Again this uses the same code as the previous example but with a different set of files. Using the more command, examine the contents of all of the above files except for the seqcount.jar file and check that you understand the role and structure of each file. Computing Science & Mathematics 7

8 Our first task is to split the DNA sequence up. This can be achieved by running split.sh as follows:./split.sh This will produce 5 partial sequence files numbered seq-dna-0.txt to seq-dna-4.txt. Confirm that these files have been produced by listing the contents of the directory. Now submit the Condor submission file sub-sequence9.txt and check the queue to confirm when the jobs have finished. This should produce 5 files containing sequence counts for the given partial sequence that was analysed. If you list the directory contents, you should see these files listed as c-9-seq-dna-0.txt to c-9-seq-dna-4.txt. One of the command line arguments that is passed to the Condor job is the length of sequence to search for. In this case the jobs were instructed to look for sequences of length 9 and this value has been incorporated into the output file name. The Condor submission file sub-sequence3.txt is almost identical to the one we just submitted but requests a search for sequences of length 3. Since the output of this later job would have files labelled c-3-seq-dna-0.txt to c-3-seq-dna-4.txt, we avoid mixing up the output files for different types of job. You will often need to consider how you will differentiate your output data when you have a large number of similar jobs with different parameter settings so the above example should be considered as one possible mechanism. The last step in this example is to merge the individual count files into one merged and sorted file. This follows exactly the same steps as the previous example and can be achieved by running the script merge.sh as follows:./merge.sh Using the ls command, you should observe that two files have been produced seqcounts9.txt and sortedseq9.txt. These are the unsorted and sorted merged files as before. Use more to examine sortedseq9.txt and observe the most commonly occurring DNA sequences in our sample which have a length of 9 bases. Computing Science & Mathematics 8

9 Analysing the performance of a GA The last task we will look at is using Condor to examine the performance of a stochastic process. In this case we wish to look at the effect of mutation rate on the performance of a GA trying to solve the Travelling Salesman Problem (TSP). In order to study this properly we need to run the same job many times in order to even out the effects of randomness. The example we will look at is in the directory: /home/<username>/condor/tspga Change to this directory and list the contents of it. You should see 7 files that have the following roles: locations.txt a file containing the name and coordinates of the locations to visit. Each Condor process will use this file as problem for it to solve. You could easily replace it with a different set of location coordinates that must be solved. locations.png a map of the locations TSPGA.jar A Java archive containing the GA code to be run sub-tspga.txt The Condor submission file makeresults.sh A script that concatenates the result sets into 3 different files depending upon the mutation rate that was used. It then calls an R script to build a plot of the results. header.txt A file to supply column headers for the concatenated files. boxplotdistance.r The R script that creates a plot of the results In this case we are going to run 3 sets of jobs with a different mutation value for each set. If you look at the contents of the Condor submission file (sub-tspga.txt) you should be able to see the arguments that are set up to run the GA with the different values. The relevant lines are: arguments = Solver GA 0.01 output = sol-01-$(process).txt Queue 20 arguments = Solver GA 0.05 output = sol-05-$(process).txt Queue 20 arguments = Solver GA 0.10 output = sol-10-$(process).txt Queue 20 Unlike the previous examples, this submission file alters the arguments and output settings before each set of jobs is queued. This enables the one Condor submission to process a range of different parameter values in one go. In this case it varies the Computing Science & Mathematics 9

10 mutation rate from 0.01 to 0.05 and then Submit the sub-tspga.txt job to Condor and wait for it to complete. You should note that Condor will report back with the total of the number of jobs that were submitted which should be 60 in this case. Once the jobs have finished and the queue is empty, you should find that your directory has filled up with 60 different files consisting of 3 groups of 20 files. Each group contains a set of runs for a given mutation rate (sol-01-*.txt, sol-05-*.txt and sol-10-*.txt). Use the more command to check the contents of some of these files. You should notice that each file just contains one line stating the number of generations that were run and the score that was achieved. The next step is to use the makeresults.sh script to concatenate these output files into the relevant file for the given mutation rate. It will also put a header at the start of each results file so that we can refer to a particular column of data in R. To run this script, type:./makeresults.sh You should notice that 3 results text files are produced and also a picture in the file results.pdf. If you look at your directory in the Windows file explorer you should be able to view the results.pdf file that you have just created. You can see that it would be very easy to create new problem files and new mutation parameters to test with little extra effort. We could also increase the runs from 20 per mutation rate to 500 with minimal changes. The work often comes in the design stage of parallelising a problem but this can be eased through experience and adaption of similar examples such as the ones you have used in this practical. cat & R For reference, the contents of makeresults.sh is as follows: cat header.txt sol-01* > results-01.txt cat header.txt sol-05* > results-05.txt cat header.txt sol-10* > results-10.txt R CMD BATCH boxplotdistance.r The cat command will concatenate all files that are listed and uses the wildcard character * to match a group of files that have a common pattern. In this case, each group of results are identifiable by having the file name prefixes sol-01, sol-05 and sol- 10. The contents of each of these sets of files will be put into the files results-01.txt, results-05.txt and results-10.txt respectively with the contents of header.txt preceding them. This is quite a useful procedure to use when trying to organise a set of results data. Computing Science & Mathematics 10

11 The final step is to run the R script boxplotdistance.r. R is a statistical analysis package that uses it s own scripting language to instruct it to perform a particular task. The R script contains the following instructions: sink("output.txt") res01<-read.table("results-01.txt",header=true) res05<-read.table("results-05.txt",header=true) res10<-read.table("results-10.txt",header=true) pdf("results.pdf") boxplot(res01$distance,res05$distance,res10$distance,names=c( "0.01","0.05","0.10"),xlab="Mutation Rate",ylab="Distance") sink() The first line of this file instructs R to send all output to the file output.txt so that you can check the script ran as intended. The next 3 lines extract the data in the results files and put them into internal matrices called res01, res05 and res10. The line pdf("results.pdf ) instructs R to send graphical output to the file results.pdf. The line that starts with boxplot creates a box plot using the Distance column in each of the 3 matrices that were built earlier, giving each of them a specific label and also labelling the x and y axis. The last line closes the redirection of the output. Adapting the DNA Sequence Analysis Process The source code used to build the DNA sequence distribution count is available in the condor/seqcode directory that you copied over from the network share. Examine this code and then adapt it to a new sequence analysis task. For example, you could search for all occurrences of patterns that start with the sequence ATC and are 9 characters long. You should be able to generate a new JAR file and substitute it for the one used in the seqcount example. If you restrict your new code to only modifying the countsequences method in Sequences.java, the rest of the scripts and submission file should work as before. You can also test your code directly in Eclipse using the sample.txt file which contains just 20 lines of the sequence. To do this, you can create a run profile with the command line arguments: sample.txt 9 This should produce an output file called c-9-sample.txt containing a count of the sequences that matched your pattern. Computing Science & Mathematics 11

12 Appendix: Condor Commands condor_status condor_submit <submit file> condor_q <username> condor_rm <username> condor_rm <cluster> Check the status of the Condor pool Lists the contents of the directory given by <path> Check the Condor queue for the given user name Show the contents of the named <file> (use the Return key for the next line, Spacebar for the next page and q to quit). Remove all Condor jobs belonging to <username> Remove all jobs with the given cluster id Useful Unix Commands cd <path> Change directory to the given <path> ls Lists the contents of the current directory ls <path> Lists the contents of the directory given by <path> man <command> Give the manual page for the given <command> mkdir <directory> Makes a new directory with the supplied name more <file> Show the contents of the named <file> (use the Return key for the next line, Spacebar for the next page and q to quit). pwd Prints the path to the current working directory rm <file> Remove the given file (note that there is no undo for this action) sort -k 2 -nr <file> Sort second column using numeric sort and reverse the sort order > <file> Redirects standard output from any Unix command to the given <file> You can use the Tab key to try to autocomplete a file name. For example if you type the first few characters of the file name and press Tab, the best match to the prefix you have typed will be autocompleted for you. Pressing Tab twice will show the available matches. The majority of Unix and Linux commands come with many extra options that allow you to request more detail or apply the command in a particular way. The options are usually indicated by a minus symbol followed by one or more letters. For example the ls command can provide more detailed output via the l option (e.g. ls -l). To find out what a command does and what the other possible options are, use the man command (short for manual) followed by the name of the command that you want more information on (e.g. man ls). Note that manual entries are also available for the Condor commands if you wish to find out more of its capabilities. Use the Return key and Spacebar to go through the pages that are produced and the q key to stop reading the output. Computing Science & Mathematics 12

Day 9: Introduction to CHTC

Day 9: Introduction to CHTC Day 9: Introduction to CHTC Suggested reading: Condor 7.7 Manual: http://www.cs.wisc.edu/condor/manual/v7.7/ Chapter 1: Overview Chapter 2: Users Manual (at most, 2.1 2.7) 1 Turn In Homework 2 Homework

More information

Presented by: Jon Wedell BioMagResBank

Presented by: Jon Wedell BioMagResBank HTCondor Tutorial Presented by: Jon Wedell BioMagResBank wedell@bmrb.wisc.edu Background During this tutorial we will walk through submitting several jobs to the HTCondor workload management system. We

More information

Tutorial 4: Condor. John Watt, National e-science Centre

Tutorial 4: Condor. John Watt, National e-science Centre Tutorial 4: Condor John Watt, National e-science Centre Tutorials Timetable Week Day/Time Topic Staff 3 Fri 11am Introduction to Globus J.W. 4 Fri 11am Globus Development J.W. 5 Fri 11am Globus Development

More information

Introduction to Linux

Introduction to Linux Introduction to Linux The command-line interface A command-line interface (CLI) is a type of interface, that is, a way to interact with a computer. Window systems, punched cards or a bunch of dials, buttons

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

A Guide to Running Map Reduce Jobs in Java University of Stirling, Computing Science

A Guide to Running Map Reduce Jobs in Java University of Stirling, Computing Science A Guide to Running Map Reduce Jobs in Java University of Stirling, Computing Science Introduction The Hadoop cluster in Computing Science at Stirling allows users with a valid user account to submit and

More information

Chapter 4. Unix Tutorial. Unix Shell

Chapter 4. Unix Tutorial. Unix Shell Chapter 4 Unix Tutorial Users and applications interact with hardware through an operating system (OS). Unix is a very basic operating system in that it has just the essentials. Many operating systems,

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG 1 Notice Reading Assignment Chapter 1: Introduction to Java Programming Homework 1 It is due this coming Sunday

More information

CMSC 104 Lecture 2 by S Lupoli adapted by C Grasso

CMSC 104 Lecture 2 by S Lupoli adapted by C Grasso CMSC 104 Lecture 2 by S Lupoli adapted by C Grasso A layer of software that runs between the hardware and the user. Controls how the CPU, memory and I/O devices work together to execute programs Keeps

More information

Lab Working with Linux Command Line

Lab Working with Linux Command Line Introduction In this lab, you will use the Linux command line to manage files and folders and perform some basic administrative tasks. Recommended Equipment A computer with a Linux OS, either installed

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

Introduction to HTCondor

Introduction to HTCondor Introduction to HTCondor Kenyi Hurtado June 17, 2016 1 Covered in this presentation What is HTCondor? How to run a job (and multiple ones) Monitoring your queue 2 What is HTCondor? A specialized workload

More information

! " # " $ $ % & '(()

!  #  $ $ % & '(() !"# " $ $ % &'(() First These slides are available from: http://www.cs.wisc.edu/~roy/italy-condor/ 2 This Morning s Condor Topics * +&, & - *.&- *. & * && - * + $ 3 Part One Matchmaking: Finding Machines

More information

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

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou EECS 2031 - Software Tools Lab 2 Tutorial: Introduction to UNIX/Linux Tilemachos Pechlivanoglou (tipech@eecs.yorku.ca) Sep 22 & 25, 2017 Material marked with will be in your exams Sep 22 & 25, 2017 Introduction

More information

Session 1: Accessing MUGrid and Command Line Basics

Session 1: Accessing MUGrid and Command Line Basics Session 1: Accessing MUGrid and Command Line Basics Craig A. Struble, Ph.D. July 14, 2010 1 Introduction The Marquette University Grid (MUGrid) is a collection of dedicated and opportunistic resources

More information

HTCondor Essentials. Index

HTCondor Essentials. Index HTCondor Essentials 31.10.2017 Index Login How to submit a job in the HTCondor pool Why the -name option? Submitting a job Checking status of submitted jobs Getting id and other info about a job

More information

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

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical

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

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

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80 CSE 303 Lecture 2 Introduction to bash shell read Linux Pocket Guide pp. 37-46, 58-59, 60, 65-70, 71-72, 77-80 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 Unix file system structure

More information

Scripting Languages Course 1. Diana Trandabăț

Scripting Languages Course 1. Diana Trandabăț Scripting Languages Course 1 Diana Trandabăț Master in Computational Linguistics - 1 st year 2017-2018 Today s lecture Introduction to scripting languages What is a script? What is a scripting language

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

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

Image Sharpening. Practical Introduction to HPC Exercise. Instructions for Cirrus Tier-2 System

Image Sharpening. Practical Introduction to HPC Exercise. Instructions for Cirrus Tier-2 System Image Sharpening Practical Introduction to HPC Exercise Instructions for Cirrus Tier-2 System 2 1. Aims The aim of this exercise is to get you used to logging into an HPC resource, using the command line

More information

Linux File System and Basic Commands

Linux File System and Basic Commands Linux File System and Basic Commands 0.1 Files, directories, and pwd The GNU/Linux operating system is much different from your typical Microsoft Windows PC, and probably looks different from Apple OS

More information

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater)

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater) CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater) 28 January 2013 Jason Yosinski Original slides available under Creative Commons Attribution-ShareAlike 3.0

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

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

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 Summer 2010 Department of Computer Science and Engineering York University Toronto June 29, 2010 1 / 36 Table of contents 1 2 3 4 2 / 36 Our goal Our goal is to see how we can use Unix as a tool for developing

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

CENG 334 Computer Networks. Laboratory I Linux Tutorial

CENG 334 Computer Networks. Laboratory I Linux Tutorial CENG 334 Computer Networks Laboratory I Linux Tutorial Contents 1. Logging In and Starting Session 2. Using Commands 1. Basic Commands 2. Working With Files and Directories 3. Permission Bits 3. Introduction

More information

Hadoop Lab 3 Creating your first Map-Reduce Process

Hadoop Lab 3 Creating your first Map-Reduce Process Programming for Big Data Hadoop Lab 3 Creating your first Map-Reduce Process Lab work Take the map-reduce code from these notes and get it running on your Hadoop VM Driver Code Mapper Code Reducer Code

More information

HTCONDOR USER TUTORIAL. Greg Thain Center for High Throughput Computing University of Wisconsin Madison

HTCONDOR USER TUTORIAL. Greg Thain Center for High Throughput Computing University of Wisconsin Madison HTCONDOR USER TUTORIAL Greg Thain Center for High Throughput Computing University of Wisconsin Madison gthain@cs.wisc.edu 2015 Internet2 HTCondor User Tutorial CONTENTS Overview Basic job submission How

More information

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java)

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java) Goals - to learn how to compile and execute a Java program - to modify a program to enhance it Overview This activity will introduce you to the Java programming language. You will type in the Java program

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

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

! " #$%! &%& ' ( $ $ ) $*+ $

!  #$%! &%& ' ( $ $ ) $*+ $ ! " #$%! &%& ' ( $ $ ) $*+ $ + 2 &,-)%./01 ) 2 $ & $ $ ) 340 %(%% 3 &,-)%./01 ) 2 $& $ $ ) 34 0 %(%% $ $ %% $ ) 5 67 89 5 & % % %$ %%)( % % ( %$ ) ( '$ :!"#$%%&%'&( )!)&(!&( *+,& )- &*./ &*( ' 0&/ 1&2

More information

Unix Essentials. BaRC Hot Topics Bioinformatics and Research Computing Whitehead Institute October 12 th

Unix Essentials. BaRC Hot Topics Bioinformatics and Research Computing Whitehead Institute October 12 th Unix Essentials BaRC Hot Topics Bioinformatics and Research Computing Whitehead Institute October 12 th 2016 http://barc.wi.mit.edu/hot_topics/ 1 Outline Unix overview Logging in to tak Directory structure

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

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

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

Using HTCondor on the Biochemistry Computational Cluster v Jean-Yves Sgro

Using HTCondor on the Biochemistry Computational Cluster v Jean-Yves Sgro HTCondor@Biochem Using HTCondor on the Biochemistry Computational Cluster v1.2.0 Jean-Yves Sgro 2016 Jean-Yves Sgro Biochemistry Computational Research Facility Note: The HTCondor software was known as

More information

Compile and Run WordCount via Command Line

Compile and Run WordCount via Command Line Aims This exercise aims to get you to: Compile, run, and debug MapReduce tasks via Command Line Compile, run, and debug MapReduce tasks via Eclipse One Tip on Hadoop File System Shell Following are the

More information

Hadoop streaming is an alternative way to program Hadoop than the traditional approach of writing and compiling Java code.

Hadoop streaming is an alternative way to program Hadoop than the traditional approach of writing and compiling Java code. title: "Data Analytics with HPC: Hadoop Walkthrough" In this walkthrough you will learn to execute simple Hadoop Map/Reduce jobs on a Hadoop cluster. We will use Hadoop to count the occurrences of words

More information

Laboratory 1 Semester 1 11/12

Laboratory 1 Semester 1 11/12 CS2106 National University of Singapore School of Computing Laboratory 1 Semester 1 11/12 MATRICULATION NUMBER: In this lab exercise, you will get familiarize with some basic UNIX commands, editing and

More information

This lab exercise is to be submitted at the end of the lab session! passwd [That is the command to change your current password to a new one]

This lab exercise is to be submitted at the end of the lab session! passwd [That is the command to change your current password to a new one] Data and Computer Security (CMPD414) Lab II Topics: secure login, moving into HOME-directory, navigation on Unix, basic commands for vi, Message Digest This lab exercise is to be submitted at the end of

More information

OO Fortran Exercises

OO Fortran Exercises OO Fortran Exercises Adrian Jackson February 27, 2018 Contents 1 Introduction 1 2 Getting going on ARCHER 2 2.1 Log into ARCHER frontend nodes and run commands............. 2 3 Introduction to Fortran

More information

DATA 301 Introduction to Data Analytics Command Line. Dr. Ramon Lawrence University of British Columbia Okanagan

DATA 301 Introduction to Data Analytics Command Line. Dr. Ramon Lawrence University of British Columbia Okanagan DATA 301 Introduction to Data Analytics Command Line Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Why learn the Command Line? The command line is the text interface

More information

Why learn the Command Line? The command line is the text interface to the computer. DATA 301 Introduction to Data Analytics Command Line

Why learn the Command Line? The command line is the text interface to the computer. DATA 301 Introduction to Data Analytics Command Line DATA 301 Introduction to Data Analytics Command Line Why learn the Command Line? The command line is the text interface to the computer. DATA 301: Data Analytics (2) Understanding the command line allows

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

Lecture 4. Log into Linux Reminder: Homework 1 due today, 4:30pm Homework 2 out, due next Tuesday Project 1 out, due next Thursday Questions?

Lecture 4. Log into Linux Reminder: Homework 1 due today, 4:30pm Homework 2 out, due next Tuesday Project 1 out, due next Thursday Questions? Lecture 4 Log into Linux Reminder: Homework 1 due today, 4:30pm Homework 2 out, due next Tuesday Project 1 out, due next Thursday Questions? Tuesday, September 7 CS 375 UNIX System Programming - Lecture

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 Linux/Unix basic commands Basic command structure:

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

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

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

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

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

Getting started with Hugs on Linux

Getting started with Hugs on Linux Getting started with Hugs on Linux CS190 Functional Programming Techniques Dr Hans Georg Schaathun University of Surrey Autumn 2008 Week 1 Dr Hans Georg Schaathun Getting started with Hugs on Linux Autumn

More information

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

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 More Linux Commands 1 wc The Linux command for acquiring size statistics on a file is wc. This command provides the line count, word count and number of bytes in a file. Open up a terminal, make sure you

More information

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

Beyond this course. Machine code. Readings: CP:AMA 2.1, 15.4 Beyond this course Readings: CP:AMA 2.1, 15.4 CS 136 Spring 2018 13: Beyond 1 Machine code In Section 04 we briefly discussed compiling: converting source code into machine code so it can be run or executed.

More information

Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p.

Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p. Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p. 2 Conventions Used in This Book p. 2 Introduction to UNIX p. 5 An Overview

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

Unix as a Platform Exercises + Solutions. Course Code: OS 01 UNXPLAT

Unix as a Platform Exercises + Solutions. Course Code: OS 01 UNXPLAT Unix as a Platform Exercises + Solutions Course Code: OS 01 UNXPLAT Working with Unix Most if not all of these will require some investigation in the man pages. That's the idea, to get them used to looking

More information

Unix Tutorial Haverford Astronomy 2014/2015

Unix Tutorial Haverford Astronomy 2014/2015 Unix Tutorial Haverford Astronomy 2014/2015 Overview of Haverford astronomy computing resources This tutorial is intended for use on computers running the Linux operating system, including those in the

More information

Getting Started with OSG Connect ~ an Interactive Tutorial ~

Getting Started with OSG Connect ~ an Interactive Tutorial ~ Getting Started with OSG Connect ~ an Interactive Tutorial ~ Emelie Harstad , Mats Rynge , Lincoln Bryant , Suchandra Thapa ,

More information

An Introduction to Using HTCondor Karen Miller

An Introduction to Using HTCondor Karen Miller An Introduction to Using HTCondor 2015 Karen Miller The Team - 2014 Established in 1985, to do research and development of distributed high-throughput computing 2 HT Stands for High Throughput Throughput:

More information

Linux Introduction Martin Dahlö

Linux Introduction Martin Dahlö Linux Introduction 160418 Martin Dahlö martin.dahlo@scilifelab.uu.se Linux Introduction You will not learn this now. Google it or look at lecture slides when you need it. Practice makes perfect :) UPPMAX

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

I/O and Shell Scripting

I/O and Shell Scripting I/O and Shell Scripting File Descriptors Redirecting Standard Error Shell Scripts Making a Shell Script Executable Specifying Which Shell Will Run a Script Comments in Shell Scripts File Descriptors Resources

More information

5/8/2012. Exploring Utilities Chapter 5

5/8/2012. Exploring Utilities Chapter 5 Exploring Utilities Chapter 5 Examining the contents of files. Working with the cut and paste feature. Formatting output with the column utility. Searching for lines containing a target string with grep.

More information

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

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester Linux Essentials Programming and Data Structures Lab M Tech CS First Year, First Semester Adapted from PDS Lab 2014 and 2015 Login, Logout, Password $ ssh mtc16xx@192.168.---.--- $ ssh X mtc16xx@192.168.---.---

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

A Brief Introduction to the Linux Shell for Data Science

A Brief Introduction to the Linux Shell for Data Science A Brief Introduction to the Linux Shell for Data Science Aris Anagnostopoulos 1 Introduction Here we will see a brief introduction of the Linux command line or shell as it is called. Linux is a Unix-like

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

HPC Resources at Lehigh. Steve Anthony March 22, 2012

HPC Resources at Lehigh. Steve Anthony March 22, 2012 HPC Resources at Lehigh Steve Anthony March 22, 2012 HPC at Lehigh: Resources What's Available? Service Level Basic Service Level E-1 Service Level E-2 Leaf and Condor Pool Altair Trits, Cuda0, Inferno,

More information

CSCI 2132 Software Development. Lecture 7: Wildcards and Regular Expressions

CSCI 2132 Software Development. Lecture 7: Wildcards and Regular Expressions CSCI 2132 Software Development Lecture 7: Wildcards and Regular Expressions Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 20-Sep-2017 (7) CSCI 2132 1 Previous Lecture Pipes

More information

Linux Shell Script. J. K. Mandal

Linux Shell Script. J. K. Mandal Linux Shell Script J. K. Mandal Professor, Department of Computer Science & Engineering, Faculty of Engineering, Technology & Management University of Kalyani Kalyani, Nadia, West Bengal E-mail: jkmandal@klyuniv.ac.in,

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

CS 1550 Project 3: File Systems Directories Due: Sunday, July 22, 2012, 11:59pm Completed Due: Sunday, July 29, 2012, 11:59pm

CS 1550 Project 3: File Systems Directories Due: Sunday, July 22, 2012, 11:59pm Completed Due: Sunday, July 29, 2012, 11:59pm CS 1550 Project 3: File Systems Directories Due: Sunday, July 22, 2012, 11:59pm Completed Due: Sunday, July 29, 2012, 11:59pm Description FUSE (http://fuse.sourceforge.net/) is a Linux kernel extension

More information

Problem Set 1: Unix Commands 1

Problem Set 1: Unix Commands 1 Problem Set 1: Unix Commands 1 WARNING: IF YOU DO NOT FIND THIS PROBLEM SET TRIVIAL, I WOULD NOT RECOMMEND YOU TAKE THIS OFFERING OF 300 AS YOU DO NOT POSSESS THE REQUISITE BACKGROUND TO PASS THE COURSE.

More information

Guided Tour (Version 3.3) By Steven Castellucci as Modified by Brandon Haworth

Guided Tour (Version 3.3) By Steven Castellucci as Modified by Brandon Haworth Guided Tour (Version 3.3) By Steven Castellucci as Modified by Brandon Haworth This document was inspired by the Guided Tour written by Professor H. Roumani. His version of the tour can be accessed at

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Getting started with Hugs on Linux

Getting started with Hugs on Linux Getting started with Hugs on Linux COM1022 Functional Programming Techniques Dr Hans Georg Schaathun University of Surrey Autumn 2009 Week 7 Dr Hans Georg Schaathun Getting started with Hugs on Linux Autumn

More information

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

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used:

When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used: Linux Tutorial How to read the examples When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used: $ application file.txt

More information

Introduction. File System. Note. Achtung!

Introduction. File System. Note. Achtung! 3 Unix Shell 1: Introduction Lab Objective: Explore the basics of the Unix Shell. Understand how to navigate and manipulate file directories. Introduce the Vim text editor for easy writing and editing

More information

CPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation

CPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation CPSC 150 Laboratory Manual A Practical Approach to Java, jedit & WebCAT Department of Physics, Computer Science & Engineering Christopher Newport University Lab 1 Introduction to Program Creation Welcome

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

CS356: Discussion #1 Development Environment. Marco Paolieri

CS356: Discussion #1 Development Environment. Marco Paolieri CS356: Discussion #1 Development Environment Marco Paolieri (paolieri@usc.edu) Contact Information Marco Paolieri PhD at the University of Florence, Italy (2015) Postdoc at USC since 2016 Email: paolieri@usc.edu

More information

Unix Basics. Benjamin S. Skrainka University College London. July 17, 2010

Unix Basics. Benjamin S. Skrainka University College London. July 17, 2010 Unix Basics Benjamin S. Skrainka University College London July 17, 2010 Overview We cover basic Unix survival skills: Why you need some Unix in your life How to get some Unix in your life Basic commands

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

Unix/Linux Primer. Taras V. Pogorelov and Mike Hallock School of Chemical Sciences, University of Illinois

Unix/Linux Primer. Taras V. Pogorelov and Mike Hallock School of Chemical Sciences, University of Illinois Unix/Linux Primer Taras V. Pogorelov and Mike Hallock School of Chemical Sciences, University of Illinois August 25, 2017 This primer is designed to introduce basic UNIX/Linux concepts and commands. No

More information

Lec 1 add-on: Linux Intro

Lec 1 add-on: Linux Intro Lec 1 add-on: Linux Intro Readings: - Unix Power Tools, Powers et al., O Reilly - Linux in a Nutshell, Siever et al., O Reilly Summary: - Linux File System - Users and Groups - Shell - Text Editors - Misc

More information

HIGH-THROUGHPUT COMPUTING AND YOUR RESEARCH

HIGH-THROUGHPUT COMPUTING AND YOUR RESEARCH HIGH-THROUGHPUT COMPUTING AND YOUR RESEARCH Christina Koch, Research Computing Facilitator Center for High Throughput Computing STAT679, October 29, 2018 1 About Me I work for the Center for High Throughput

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

CSE 390a Lecture 2. Exploring Shell Commands, Streams, Redirection, and Processes

CSE 390a Lecture 2. Exploring Shell Commands, Streams, Redirection, and Processes CSE 390a Lecture 2 Exploring Shell Commands, Streams, Redirection, and Processes slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/390a/ 1 2 Lecture

More information

Linux environment. Graphical interface X-window + window manager. Text interface terminal + shell

Linux environment. Graphical interface X-window + window manager. Text interface terminal + shell Linux environment Graphical interface X-window + window manager Text interface terminal + shell ctrl-z put running command to background (come back via command fg) Terminal basics Two basic shells - slightly

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

NOTE: From the engineering network, users may login directly to the desired computer server using the SSH connection.

NOTE: From the engineering network, users may login directly to the desired computer server using the SSH connection. Overview of MSU Compute Servers The DECS Linux-based compute servers are well suited for programs that are too slow to run on typical desktop computers but do not require the power of supercomputers. The

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

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

Introduction to Linux for BlueBEAR. January

Introduction to Linux for BlueBEAR. January Introduction to Linux for BlueBEAR January 2019 http://intranet.birmingham.ac.uk/bear Overview Understanding of the BlueBEAR workflow Logging in to BlueBEAR Introduction to basic Linux commands Basic file

More information