Orientation. CS133 Reflections. Knowledge you may need. Experience of computers METAPHORS. Know UNIX like knowing London

Size: px
Start display at page:

Download "Orientation. CS133 Reflections. Knowledge you may need. Experience of computers METAPHORS. Know UNIX like knowing London"

Transcription

1 Orientation CS133 Reflections experience and logic scruffy and neat cf. PowerPoint background and slide content computer + peripherals and program Meurig Beynon symbols have to mean something what shell commands mean is hard to say metaphor is very significant, so are models Experience of computers Knowledge you may need enable things, play music, download from web somewhere familiar, expressive, put you in control, embody reason get in the way of things, impose on our-selves frustrating to use, create artificial constraints alienating, beyond total understanding names of machines type of shell that they run why set in csh isn t the same as set in bash how to get into computer utilities and especially how to get out of them knowledge that you get from experience Know UNIX like knowing London METAPHORS What s down that street? How do I get to X? However well you know London, answer may be I DON T KNOW consult the A to Z ask somebody explore consult the manual ask somebody play with the system Like London is a metaphor we use many other metaphors 1

2 Metaphor for a UNIX operating system About metaphors Metaphor for a computer Not all metaphors give much insight, but you need to devise metaphors to understand e.g. one process PIPES its output to another must be cautious about abusing metaphor: these computers are engaging in intelligent discussion about their emotional states Metaphor for a file system MODELS M serves as a model for R if there are counterparts in M for what you find in R by way of things you can observe and change there is a reliable correspondence between what you can observe through experimenting with R and what happens when you make similar observations and experiments in M Metaphor for a UNIX operating system (HELPFUL, BUT RATHER LIMITED) Metaphor for a computer (QUITE GOOD IN 1964) Metaphor for a file system (A STRONG METAPHOR) A model of the file system File system as planetary system Check out the xcruiser application at website: xcruiser.sourceforge.net/demo.html How well do directories and files correspond to galaxies, stars and planets.? Can interpret commands: ls, rm, rmdir, cd, mv, chmod, and concepts such as current (.) and parent (..) directory Do you find this explanatory? or ex-planetary? 2

3 A scruffy model of the vi editor About the vi model Background colour for the highlighted character encodes the current mode NORMAL / VISUAL ( vi ) MODE INSERT MODE Limited functionality enough to illustrate modes Complexity of the interface reflecting history of vi Model is incomplete : yet to be done dealing with write, quit, delete and insert lines adding button for replace in normal mode handling input other than lower case characters LINE EDITING ( ex ) MODE Contrast with manual entry and vimtutor More about the vi model To find out more about the model of the vi editor, check out the Empirical Modelling archive: The model is available as vimodesbeynon2006 Appreciating different viewpoints e.g. different perspectives on the ECDL the ECDL is of little personal interest to you as a professional IT person, you need to know about issues like the ECDL as a student of computer science, how do you think word-processors, spreadsheets and databases relate to computing as a whole? Open Office Tools OpenOffice.org is a free office suite application available for many different operating systems including Microsoft Windows, Linux, Solaris and Mac OS X. It is intended to be a compatible alternative to Microsoft Office. It supports the OpenDocument standard for data interchange. Wikipedia 3

4 Open document format The Open Document Format for Office Applications [OpenDocument or ODF] is an open format for saving and exchanging office documents such as memos, reports, books, spreadsheets, databases, charts, and presentations. This standard was developed by the OASIS industry consortium and based upon the XML format originally created by OpenOffice.org. Motivations for Open Source Need to be critical about the status of commercially successful products. For instance: Is PowerPoint really a good presentation tool?! Do I/we really think in terms of little groups of words that fit onto a slide, have a certain colour and layout, and are naturally suited to being presented under a banner saying what this is slide is about? No! I don t, but here goes Proprietary formats don t assist understanding... Here s the same html as processed by MS word and presented using PowerPoint Consider html files. Here s some simple html: <html> <!-- BEGIN EDITABLE: Page title --> <h1>cs133 Term 1 Example Sheet 1</h1> <!-- END EDITABLE: Page title --> <!-- BEGIN EDITABLE: Document body --> <ol> <li> <p>the file <code>/usr/../bin/././../././bin</code> has a shorter name. What is it? </p>. <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns=" <head> <meta http-equiv=content-type content="text/html; charset=us-ascii"> <meta name=progid content=word.document> <meta name=generator content="microsoft Word 11"> <meta name=originator content="microsoft Word 11"> <link rel=file-list href="ex1msword_files/filelist.xml"> <title>cs133 Term 1 Example Sheet 1</title> <!--[if gte mso 9]><xml> <o:documentproperties> <o:author>wmb</o:author> <o:lastauthor>wmb</o:lastauthor> <o:revision>2</o:revision> <o:totaltime>0</o:totaltime> <o:created> t07:30:00z</o:created> <o:lastsaved> t07:30:00z</o:lastsaved> <o:pages>1</o:pages> <o:words>342</o:words> <o:characters>1951</o:characters> <o:company>university of Warwick</o:Company> <o:lines>16</o:lines> <o:paragraphs>4</o:paragraphs> <o:characterswithspaces>2289</o:characterswithspaces> <o:version> </o:version> </o:documentproperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:worddocument> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:saveifxmlinvalid> <w:ignoremixedcontent>false</w:ignoremixedcontent> <w:alwaysshowplaceholdertext>false</w:alwaysshowplaceholdertext> <w:browserlevel>microsoftinternetexplorer4</w:browserlevel> </w:worddocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles DefLockedState="false" LatentStyleCount="156"> </w:latentstyles> </xml><![endif]--> <style> <!-- /* Style Definitions */ p.msonormal, li.msonormal, div.msonormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"times New Roman"; mso-fareast-font-family:"times New Roman";} h1 {mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; mso-outline-level:1; font-size:24.0pt; font-family:"times New Roman"; font-weight:bold;} p {font-size:12.0pt; font-family:"times New Roman"; mso-fareast-font-family:"times New Roman";} code {font-family:"courier New"; mso-ascii-font-family:"courier New"; mso-fareast-font-family:"times New Roman"; mso-hansi-font-family:"courier New"; mso-bidi-font-family:"courier New";} and so it goes on Political issues pre {margin-top:0cm; margin-bottom:0cm; margin-bottom:.0001pt; font-size:10.0pt; font-family:"courier New"; mso-fareast-font-family:"times New Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.section1 {page:section1;} /* List Definitions l0 {mso-list-id: ; mso-list-template-ids: ;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.msonormaltable {mso-style-name:"table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--> </head> <body lang=en-gb link=blue vlink=blue style='tab-interval:36.0pt'> <div class=section1> <h1>cs133 Term 1 Example Sheet 1<o:p></o:p></h1> <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1; tab-stops:list 36.0pt'><![if!supportLists]><span style='mso-list:ignore'>1.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><!-- END EDITABLE: Page title --><!-- BEGIN EDITABLE: Document body -->The file <code><span style='font-size:10.0pt'>/usr/../bin/././../././bin</span></code> has a shorter name. What is it? </p> Google spreadsheet supports the ODS file format This should ideally mean (for instance) that a Google spreadsheet can be roundtripped : saved in ODS format, read by OpenOffice, saved again in ODS format re-read by Google spreadsheet without any information loss 4

5 Steve Zaske s blog... I tested Google s ODS support by roundtripping a simple spreadsheet through Google Spreadsheet. And what did Google Spreadsheet do? It: 1. Deleted my charts 2. Removed the conditional formatting 3. Deleted file versions information & data I added 4. Deleted my document properties 5. Removed the new styles I added and the one formula I added into my spreadsheet broke because Google Spreadsheet supports the Round() function differently than OpenOffice. [12 th Sept 2006] Who is Steve Zaske? from the About page accompanying his blog: I work at Microsoft working on the next version of Microsoft Office, but everything here is my own personal opinion. Comment from Andrew Yeomans OpenDocument format *is* a standard. Some implementations have deficiencies. But that s not a reason to criticise the *format* standard. I might just as unfairly criticise the new Microsoft Office XML format because of its poor support in Office 2003, Google Writely/Spreadsheet and OpenOffice.org. Who is Andrew Yeomans? Andrew Yeomans is Vice President of Global IT Security at Dresdner Kleinwort Wasserstein investment bank. Prior to that, Andrew was IBM s European technical specialist in firewalls and Internet security. He is co-author of Java Network Security, the first book to cover secure multi-tier Java applications. He has worked with UNIX and Open Source software since 1985, and managed and ran IBM s Scientific and Technical Computing group s UNIX network. Speaker Bio associated with Presentation Is Open Source now Microsoft's biggest enemy? Or a hotbed of unconstitutional fundamentalists out to destroy life as we know IT? It's a fact that Open Source / Free Software and Linux had more mainstream news headlines in the first half of 2004 than in all of 2003, with promises ranging from significantly lowering your IT costs through to binding you into expensive legislation Morals Look critically at all the advice you get Don t believe everything you find on the web Question the things we tell you Try to check the credentials of all informants Read several views and look for coherence Make up your own mind about things Everybody s different - find what suits you 5

6 SSH WITH PUTTY 1 1. ENTER joshua.dcs.warwick.ac.uk HERE 2. SPECIFY PORT HERE e.g SPECIFY SECURE SHELL HERE e.g NAME YOUR SESSION HERE e.g. joshua 5. PRESS Save SESSION NAME APPEARS HERE SSH WITH PUTTY 2 joshua.dcs.warwick.ac.uk APPEARS HERE CHECK PORT HERE e.g. 22 SESSION NAME APPEARS HERE e.g. joshua 3. PRESS Open 2. PRESS Load 1. SELECT SESSION NAME HERE Computer as a data processor family of concurrently acting processes process has input and output streams cf. cable carrying electricity from plug to laptop redirection of IO like using another plug / using the same cable for something else processes spawned dependent / independent me riding my bike to the shops me sending my wife to the shops Ownership and Control processes are owned by different agents can t stop it raining can go driving the car processes are controlled by different agents my wife sending me to shop my wife sending the man next door to shop and so access variables differently who sees what s in the shop today? 6

7 Sequential and concurrent processes combine sequentially to make jobs having meal = shopping, cooking, eating processes combine concurrently to make jobs having takeaway meal ordering laying the table :: cooking the meal collecting the meal :: preparing extra rice eating the meal Human and machine viewpoints Why the process metaphor? want lightweight programming, things that work close to the machine lots of little processes should be flexible BUT difficult to define them precisely because the computer + peripherals are physically so rich difficult to relate to our big abstract intentions tension between neat and scruffy programming Other machine models The Turing Machine model (1936) Machine models of a computer always have means to store data objects in Java, files and variables in UNIX means to manipulate data methods in Java, processes in UNIX ways to program data manipulation JAVA programs, UNIX shell scripts store is represented by an unbounded tape processor is represented by a read/write head program is represented by a set of rules Suzanne Skinner (1996) Java applet simulator at: A Turing computation in progress recognising a palindromic string A Turing computation in the halt state rejecting a non-palindromic string 7

8 The Church-Turing thesis There is no computational model that is in principle more powerful than the Turing machine all algorithmic data processing is equivalent to Turing computation by this criterion, the UNIX shell is a full programming language Why use UNIX programming? UNIX programming for system maintenance greater day-to-day efficiency in file management and processing, and in program development usefulness of casual programming bash$ cat >myalarm bash$ sleep 120 bash$ echo Time to wake up bash$ type control-d bash$ myalarm& Note on slide 4.3 A script is a sequence of statements which can take arguments The primary ingredient in a script is the command A command takes the form of an operator followed by a list of arguments: operator sequence of arguments Note on slide #!/usr/bin/perl -n BEGIN{$num_ahead=0; $num_left=0; $num_right=0; $num_behind=0;} $num_ahead++ if/^i'm going forward/; $num_left++ if/^i'm going left/; $num_right++ if/^i'm going right/; $num_behind++ if/^i'm going backwards/; print"summary of moves: Forward=$num_ahead Left=$num_left Right=$num_right Backwards=$num_behind\n"; Comments on slides 4.6 and 4.10 Note the importance of the fact that all variables have values of type string slide 6 Exercise (slide 10): type commands such as bash$ echo hello > hello bash$ echo hello > hello bash$ echo hello > hello etc. and note how they all have the same result Further note on slide 4.10 Because all variables have values of type string the way in which the shell interprets strings is very loose, flexible and dependent on the context e.g. - where a command is expected it tries to interpret the given string as being of the form: operator sequence of arguments - where a filename is expected (e.g. after a > symbol in a string) it tries to locate a file 8

9 Comments on slide 4.11 Construct a script with the contents: case $X in hello) echo "Hello there!" ;; *) echo "pardon?" ;; esac and consider the issues arising from the fact that the variable $X is local the way in which $X is defined / initialised Comments on slide 4.18 To obtain the same result with backquotes: bash$ X = `date; date` bash$ echo $X Note the many different styles of quotation mark: cf. singlequote ( ) and doublequote ( ) on slide 10. Comments on slide 4.19 Examples using test include : bash$ test e filename # success if file exists bash$ echo $? # tests exit status exit status is 0 if test succeeds, else 1 bash$ X=hello; Y=abc bash$ test $X = $Y && echo X and Y are equal note the space around = in this conditional and the interpretation of the && list command Useful additional commands Two commands that are useful in managing and reviewing an interactive session: history retrieves the list of previous commands history > savedsessionhistory fc l gives access to recent commands for edit (with vi) and re-execution Interpretations of strings Young lady to elderly gentleman in theatre: are you 25? (meaning seat number) Reply: I wish I was (meaning age) Girl exiting bar, passing boy entering: I m FURIOUS I m Clive pleased to meet you Frail old man passing cemetery with KEEP OUT notice: What do you think I m trying to do? Types of knowledge Being able to program the shell needs different kinds of knowledge, analogous to knowing: that you need to know a plumber a plumber how a plumber does what she does how to do what a plumber does yourself Good to be able to identify your problem this way 9

10 E.g. ops on files Joy of Unix p74 file head tail diff cmp uniq cut paste fold sort + relevant options of these & more familiar ops e.g. bash$ ls t1 head n 1 UNIX philosophy Supply lots of small utilities, use in combination List the most recently accessed file: bash$ ls t1 head n 1 ls t most recently accessed first ls -1 one filename per line head n 1 select first item from file UNIX philosophy in action Supply lots of small utilities, use in combination Find out how deeply nested a directory is: bash$ echo $PWD tr / wc -w echo $PWD print name of current directory tr / substitute spaces for slashes wc -w count number of strings in list Miscellaneous points Useful things to remember when using Linux: command line completion (pressing the Tab key) is a way of reading the systems expectations there is a history of commands entered that can be useful for documenting a session the online manual pages are easier to search and access via links the Joy, Luck, Jarvis book is online via webpage Revising lecture material Lecture notes are often long and linear in form Need to be able to revise them quickly Good to index and condense them into notes Make a point of noting what you do and don t know Understanding is the art of making connections 10

11 Notes on Lecture 7 (1) Main theme of the lecture notes: Utilities that can be used as filters grep, tr and sed (see slide 20) Slides 1-20 deal with grep and tr Slides deal with sed Slide note on other editors and books Notes are entitled Regular Expressions, which is the main new underlying concept Notes on Lecture 7 (2) Regular expressions [2, 5, 6-17] - two kinds of regular expression [2, 5] - basic r.e [BRE] and extended r.e [ERE] - syntax for BREs and EREs ( shell REs) [7,16] - compared [16]: each has features other doesn t - BREs backreferences - EREs alternation - BREs use \(, \{ etc where EREs use (, { etc Notes on Lecture 7 (3) The grep filter: Get regular expression patterns? - introductory slides [3,4] - uses r.e. s of both basic and extended kinds [6] - grep (BREs), egrep (EREs), fgrep (literal) [6] - egrep = grep E and fgrep = grep F [6] - illustrative examples of grep on BREs [8-15] The tr filter: translator - definition, examples, delete (-d) option [18,19] Notes on Lecture 7 (4) Summary of RE syntax and semantics ^, $ start, end of line. single character [abc], [^abc] one of, not one of [a-c] range \( \), () subexpression (BRE, ERE) * repetition \{ \}, {} interval expressions (BRE, ERE) Notes on Lecture 7 (5) Notes on Lecture 7 (6) Distinctive BRE, ERE syntax & semantics available in BRE only \n backreference [11] (NB \n isn t newline, but \1, \2 etc) available in ERE only alternation [17] The stream editor (sed) [20-39] sed and e, -f options [20] form of sed scripts [21] - address function [argument] how sed works [22] comments [23], addresses [24], functions [25] illustrating simple functions on test data [26-32] advanced features: files [33], Hold Space [34-5] substitution with illustrative examples [36-38] 11

12 Notes on Lecture 7 (7) How sed works [22] need a simple model of this: input stream pattern space output stream stream here means stream of lines by default, input is passed to output line-by-line unchanged sed acts on the lines it recognises as they pass can copy them into the output (to duplicate) can delete them, can transform them Notes on Lecture 7 (8) sed input stream pattern space output stream sed acts on the lines it recognises as they pass uses an address to check against each line [21] can copy them into the output (to duplicate) can delete them, can transform them performs a simple function on each line [21] Notes on Lecture 7 (9) Summary of simple sed functions [25] d delete (not on [25]!) illustrated [27,28] p print from pattern space to output [29] q halt the stream editing process [30] = introduce line numbers [31] s substitute for BREs in lines [36-38] Illustration of the use of Hold Space not too easy What is the -f option? Check out d example [28] Varieties of programming Shell programming vs Java programming? part of a bigger picture of so-called programming paradigms - procedural explicit model of state, assignment of values - declarative implicit model of state, declaration of values Procedural paradigms Turing machine - explicit state is tape - assignment by writing symbols to the tape Java programming - explicit state is object attributes - assignment by methods of the object Shell scripting - explicit state in environmental variables / files - assignment to variables and action of utilities 12

13 Uses for different models Turing machine - a theoretical model for algorithms - basis of theories of solvability and feasibility Java programming - practical software development - especially oriented towards web programming Shell scripting - basis for LINUX systems programming - applied in HumDrum musical analysis tools Object-oriented programming programming as modelling Simula (Birtwistle et al, 1967): programs can be written by modelling the world in objects object = set of attributes with integrity and identity together with characteristic operations (methods) OO thesis: We conceptualise the world this way OOP based on OO modelling Promising for certain kinds of systems Problematic aspects: OO modelling doesn t always seem to smoothly blend with OO programming OO modelling has been subverted for modularisation and distribution in software development (quoting Graham Birtwistle) Event-driven programming Program by specifying stimulus-response patterns: when event x occurs carry out action y triggers for actions e.g. when the value of variable x changes, update its on-screen value when the switch is closed, put the light on when the temperature reaches boiling point, sound the alarm favoured by agent-based / rule-based systems Problems of procedural models Challenges in procedural programming managing and interpreting state intermediate states are not meaningful complex interactions between rules explicit specification of all action possible remedies: use of assertions and constraints automatic management of dependencies Declarative paradigms functional programming e.g. SML, Miranda - every program is conceived as a function - maps input (possibly a stream) to output - uses a rich and powerful function evaluator logic programming e.g. Prolog - every program is conceived as a predicate - maps specified values to unknown values - uses a rich and powerful inference engine 13

14 Functional programming (FP) Interpreting the primes program A functional program to compute prime numbers: factors n = [r r<-[1..n div 2]; n mod r = 0] isprime q = (# factors q) = 1 functional based on specifying functions The functions in this context are factors() and isprime() factors n = [r r<-[1..n div 2]; n mod r = 0] isprime q = (# factors q) = 1 factors(n) = the set of numbers between 1 and n/2 that leave remainder zero when divided into n hence factors(6) is [1,2,3], factors(7) is [1] isprime(q) = true if factors(q) is a list of length 1, otherwise false FPs as specifications factors n = [r r<-[1..n div 2]; n mod r = 0] isprime q = (# factors q) = 1 func factors { ## derived from the functional program para n; auto i, result; result=[]; for (i=1; i<=n/2; i++) if (n == (n/i)*i) result = result // [i]; return result; } Logic programming primes(1) <=> true. primes(n) <=> N>1 M is N-1, prime(n), primes(m). % generate candidates prime(i) \ prime(j) <=> J mod I =:= 0 true. The constraint primes(n) generates candidates for prime numbers, prime(m), between 1 and N. The candidates react with each other such that each number absorbs multiples of itself. In the end, only prime numbers remain. [SICStus Prolog] Programming with dependency factors_n is factors(n); isprime_n is factors_n#==1; text_on_display is The number is // str(n) // (isprime_n)? : not // prime ; introduce a way to specify screen state by dependency and express this by definitions Empirical Modelling Empirical Modelling is a methodology for modelling with dependency based on observation-oriented principles where primary concepts are observables, dependencies, agents: Sample models in the Empirical Modelling archive: For the vi model, see vimodesbeynon

15 Extending vimodesbeynon2006 (1) Illustrating Empirical Modelling blending primality testing with the vi model Load the vimodesbeynon2006 model, then carry out the extensions that follow %eden func factors { para n; auto i, result; result=[]; for (i=1; i<=sqrt(n); i++) ## better than i<=n/2 if (n == (n/i)*i) result = result // [i]; return result; } Extending vimodesbeynon2006 (2) ## testing the function factors() writeln(factors(6)); writeln(factors(7)); ## using factors() in a script N=127; factors_n is factors(n); isprime_n is factors_n#==1;?isprime_n; Extending vimodesbeynon2006 (3) N is int(char(currchar)); ## set N to ASCII current char %scout string bgcoldocwin; window docwin = { type: TEXT frame: ([{0, 0}, {(maxlen + 1).c, 4.r}]) string: textediting bgcolor: bgcoldocwin fgcolor: "black" border: 1 }; %eden ## make background of vi window depend on N bgcoldocwin is (isprime_n)? "lightblue" : "white"; Extending vimodesbeynon2006 (4) line4 = "aaaaaaaaaaaaaaaaaaa"; line1 is line4; func stringtobin { para s; auto i, result; result = ""; for (i=1; i<=s#; i++) result = result // str(int(char(s[i])+4)%2); return result; } Extending vimodesbeynon2006 (5) ## change the first line into a number textediting is mark1 // newline1 // "\n" // mark2 // line2 // "\n" // mark3 // line3 // "\n" // mark4 // line4 // "\n"; ## make the first line of the vi text depend on line1 ## note that line1 is defined to be line4 ## stringtobin() maps chars to 0/1 (see slide 87) newline1 is stringtobin(line1); 15

16 Extending vimodesbeynon2006 (6) ## convert a binary string into an integer: func binstrtoint { para s; auto i, result; result = 0; for (i=1; i<=s#; i++) result = result * 2 + (s[i]-48); return result; } Extending vimodesbeynon2006 (7) ## determine whether the binary number in line 1 ## is a prime or not and display the result: factors_m is factors(m); isprime_m is factors_m#==1; M is binstrtoint(newline1); ansstr is (isprime_m)? "" : "n't" ; line2 is "The number " // str(m) // " is" // ansstr // " prime"; line3 is "It has " // str(line1#) // " binary digits"; Extending vimodesbeynon2006 (8) You can experiment with redefining various things and check out the effects as you extend the model. After the above extensions have been made, an obvious way to use the model is to apply vi to the string line4 - or assign to it, as in line4 = Meurig ; - and see what effect this has on the primality of the associated binary number in line1. The string of a s currently in line4 gives a potential Mersenne prime. 16

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

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

Sklep z klimatem. DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267">

Sklep z klimatem. DefSemiHidden=true DefQFormat=false DefPriority=99 LatentStyleCount=267> Herbata > Herbata Czarna > Model : - Producent : - DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> UnhideWhenUsed="false" QFormat="true" Name="Normal" /> UnhideWhenUsed="false"

More information

Manuel scolaire ISN.

Manuel scolaire ISN. Extrait du Icosaweb http://maths.ac-reunion.fr/lycee/isn/manuel-scolaire-isn Manuel scolaire ISN. - Lycée - ISN - Date de mise en ligne : mardi 28 août 2012 Description : Un manuel pour les élèves. Copyright

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

COMS 6100 Class Notes 3

COMS 6100 Class Notes 3 COMS 6100 Class Notes 3 Daniel Solus September 1, 2016 1 General Remarks The class was split into two main sections. We finished our introduction to Linux commands by reviewing Linux commands I and II

More information

On successful completion of the course, the students will be able to attain CO: Experiment linked. 2 to 4. 5 to 8. 9 to 12.

On successful completion of the course, the students will be able to attain CO: Experiment linked. 2 to 4. 5 to 8. 9 to 12. CIE- 25 Marks Government of Karnataka Department of Technical Education Bengaluru Course Title: Linux Lab Scheme (L:T:P) : 0:2:4 Total Contact Hours: 78 Type of Course: Tutorial, Practical s & Student

More information

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1 Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 These notes are available on

More information

Review of Fundamentals

Review of Fundamentals Review of Fundamentals 1 The shell vi General shell review 2 http://teaching.idallen.com/cst8207/14f/notes/120_shell_basics.html The shell is a program that is executed for us automatically when we log

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

Essentials for Scientific Computing: Bash Shell Scripting Day 3

Essentials for Scientific Computing: Bash Shell Scripting Day 3 Essentials for Scientific Computing: Bash Shell Scripting Day 3 Ershaad Ahamed TUE-CMS, JNCASR May 2012 1 Introduction In the previous sessions, you have been using basic commands in the shell. The bash

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

QUESTION BANK ON UNIX & SHELL PROGRAMMING-502 (CORE PAPER-2)

QUESTION BANK ON UNIX & SHELL PROGRAMMING-502 (CORE PAPER-2) BANK ON & SHELL PROGRAMMING-502 (CORE PAPER-2) TOPIC 1: VI-EDITOR MARKS YEAR 1. Explain set command of vi editor 2 2011oct 2. Explain the modes of vi editor. 7 2013mar/ 2013 oct 3. Explain vi editor 5

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

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

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

Introduction To. Barry Grant

Introduction To. Barry Grant Introduction To Barry Grant bjgrant@umich.edu http://thegrantlab.org Working with Unix How do we actually use Unix? Inspecting text files less - visualize a text file: use arrow keys page down/page up

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading 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

CSE 15L Winter Midterm :) Review

CSE 15L Winter Midterm :) Review CSE 15L Winter 2015 Midterm :) Review Makefiles Makefiles - The Overview Questions you should be able to answer What is the point of a Makefile Why don t we just compile it again? Why don t we just use

More information

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1 Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 The CST8207 course notes GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 Linux

More information

Fiche Technique : Chauffage piscine pompe à chaleur MECATHERM POOL 65 Monophase 9.5kw frais de ports inclus

Fiche Technique : Chauffage piscine pompe à chaleur MECATHERM POOL 65 Monophase 9.5kw frais de ports inclus SARL Chauffage Direct 345 CHEMIN DE LA BOULINARDE LES MOTTES 26760 Beaumont Les Valence 04 75 80 21 51 http://www.chauffage-direct.fr contact@chauffage-direct.fr Fiche Technique : Chauffage piscine pompe

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

LOG ON TO LINUX AND LOG OFF

LOG ON TO LINUX AND LOG OFF EXPNO:1A LOG ON TO LINUX AND LOG OFF AIM: To know how to logon to Linux and logoff. PROCEDURE: Logon: To logon to the Linux system, we have to enter the correct username and password details, when asked,

More information

STATS Data Analysis using Python. Lecture 15: Advanced Command Line

STATS Data Analysis using Python. Lecture 15: Advanced Command Line STATS 700-002 Data Analysis using Python Lecture 15: Advanced Command Line Why UNIX/Linux? As a data scientist, you will spend most of your time dealing with data Data sets never arrive ready to analyze

More information

Introduction to Scripting using bash

Introduction to Scripting using bash Introduction to Scripting using bash Scripting versus Programming (from COMP10120) You may be wondering what the difference is between a script and a program, or between the idea of scripting languages

More information

Software Compare and Contrast

Software Compare and Contrast Microsoft Software Compare and Contrast Word Easy to navigate. Compatible with all PC computers. Very versatile. There are lots of templates that can be used to create flyers, calendars, resumes, etc.

More information

Bash Programming. Student Workbook

Bash Programming. Student Workbook Student Workbook Bash Programming Published by ITCourseware, LLC, 7245 South Havana Street, Suite 100, Englewood, CO 80112 Contributing Authors: Julie Johnson, Rob Roselius Editor: Jeff Howell Special

More information

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

Unix as a Platform Exercises. Course Code: OS-01-UNXPLAT Unix as a Platform Exercises Course Code: OS-01-UNXPLAT Working with Unix 1. Use the on-line manual page to determine the option for cat, which causes nonprintable characters to be displayed. Run the command

More information

Linux shell scripting Getting started *

Linux shell scripting Getting started * Linux shell scripting Getting started * David Morgan *based on chapter by the same name in Classic Shell Scripting by Robbins and Beebe What s s a script? text file containing commands executed as a unit

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

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

Beyond Captioning: Tips and Tricks for Accessible Course Design

Beyond Captioning: Tips and Tricks for Accessible Course Design Minnesota elearning Summit 2017 Aug 2nd, 3:00 PM - 4:00 PM Beyond Captioning: Tips and Tricks for Accessible Course Design Jenessa L. Gerling Hennepin Technical College, JGerling@hennepintech.edu Karen

More information

CSC209H Lecture 1. Dan Zingaro. January 7, 2015

CSC209H Lecture 1. Dan Zingaro. January 7, 2015 CSC209H Lecture 1 Dan Zingaro January 7, 2015 Welcome! Welcome to CSC209 Comments or questions during class? Let me know! Topics: shell and Unix, pipes and filters, C programming, processes, system calls,

More information

Common File System Commands

Common File System Commands Common File System Commands ls! List names of all files in current directory ls filenames! List only the named files ls -t! List in time order, most recent first ls -l! Long listing, more information.

More information

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform November 8, 2016 1 Introduction The laboratory exercises in this course are to be conducted in an environment that might not be familiar to many of you. It is based on open source software. We use an open

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

9.2 Linux Essentials Exam Objectives

9.2 Linux Essentials Exam Objectives 9.2 Linux Essentials Exam Objectives This chapter will cover the topics for the following Linux Essentials exam objectives: Topic 3: The Power of the Command Line (weight: 10) 3.3: Turning Commands into

More information

Lab #2 Physics 91SI Spring 2013

Lab #2 Physics 91SI Spring 2013 Lab #2 Physics 91SI Spring 2013 Objective: Some more experience with advanced UNIX concepts, such as redirecting and piping. You will also explore the usefulness of Mercurial version control and how to

More information

S E C T I O N O V E R V I E W

S E C T I O N O V E R V I E W AN INTRODUCTION TO SHELLS S E C T I O N O V E R V I E W Continuing from last section, we are going to learn about the following concepts: understanding quotes and escapes; considering the importance of

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

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

CSE 374 Programming Concepts & Tools. Brandon Myers Winter 2015 Lecture 4 Shell Variables, More Shell Scripts (Thanks to Hal Perkins)

CSE 374 Programming Concepts & Tools. Brandon Myers Winter 2015 Lecture 4 Shell Variables, More Shell Scripts (Thanks to Hal Perkins) CSE 374 Programming Concepts & Tools Brandon Myers Winter 2015 Lecture 4 Shell Variables, More Shell Scripts (Thanks to Hal Perkins) test / if Recall from last lecture: test (not built-in) takes arguments

More information

Chapter-3. Introduction to Unix: Fundamental Commands

Chapter-3. Introduction to Unix: Fundamental Commands Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system

More information

How To Get Your Word Document. Ready For Your Editor

How To Get Your Word Document. Ready For Your Editor How To Get Your Word Document Ready For Your Editor When your document is ready to send to your editor you ll want to have it set out to look as professional as possible. This isn t just to make it look

More information

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS).

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS). Introduction Introduction to UNIX CSE 2031 Fall 2012 UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically shell programming.

More information

Introduction to UNIX. CSE 2031 Fall November 5, 2012

Introduction to UNIX. CSE 2031 Fall November 5, 2012 Introduction to UNIX CSE 2031 Fall 2012 November 5, 2012 Introduction UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically

More information

Useful Unix Commands Cheat Sheet

Useful Unix Commands Cheat Sheet Useful Unix Commands Cheat Sheet The Chinese University of Hong Kong SIGSC Training (Fall 2016) FILE AND DIRECTORY pwd Return path to current directory. ls List directories and files here. ls dir List

More information

COMP 4/6262: Programming UNIX

COMP 4/6262: Programming UNIX COMP 4/6262: Programming UNIX Lecture 12 shells, shell programming: passing arguments, if, debug March 13, 2006 Outline shells shell programming passing arguments (KW Ch.7) exit status if (KW Ch.8) test

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

Jesień w lesie, grzyby niesie

Jesień w lesie, grzyby niesie Jesień w lesie, grzyby niesie

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

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

Introduction to Unix: Fundamental Commands

Introduction to Unix: Fundamental Commands Introduction to Unix: Fundamental Commands Ricky Patterson UVA Library Based on slides from Turgut Yilmaz Istanbul Teknik University 1 What We Will Learn The fundamental commands of the Unix operating

More information

Files

Files http://www.cs.fsu.edu/~langley/cop3353-2013-1/reveal.js-2013-02-11/02.html?print-pdf 02/11/2013 10:55 AM Files A normal "flat" file is a collection of information. It's usually stored somewhere reasonably

More information

UNIX Essentials Featuring Solaris 10 Op System

UNIX Essentials Featuring Solaris 10 Op System A Active Window... 7:11 Application Development Tools... 7:7 Application Manager... 7:4 Architectures - Supported - UNIX... 1:13 Arithmetic Expansion... 9:10 B Background Processing... 3:14 Background

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come

More information

(Refer Slide Time: 01:40)

(Refer Slide Time: 01:40) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #25 Javascript Part I Today will be talking about a language

More information

bash, part 3 Chris GauthierDickey

bash, part 3 Chris GauthierDickey bash, part 3 Chris GauthierDickey More redirection As you know, by default we have 3 standard streams: input, output, error How do we redirect more than one stream? This requires an introduction to file

More information

Pattern Recognition Group (PR-CVC)

Pattern Recognition Group (PR-CVC) Pattern Recognition Group (PR-CVC) Comprised of researchers from the Computer Vision Center (CVC), Autonomous University of Barcelona (UAB), University of Barcelona (UB) and Open University of Catalunya

More information

Today. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it?

Today. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it? Today Unix as an OS case study Intro to Shell Scripting Make sure the computer is in Linux If not, restart, holding down ALT key Login! Posted slides contain material not explicitly covered in class 1

More information

CSC209 Review. Yeah! We made it!

CSC209 Review. Yeah! We made it! CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions

More information

Intro to Linux & Command Line

Intro to Linux & Command Line Intro to Linux & Command Line Based on slides from CSE 391 Edited by Andrew Hu slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/391/ 1 Lecture summary

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

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

CMPS 12A Introduction to Programming Lab Assignment 7

CMPS 12A Introduction to Programming Lab Assignment 7 CMPS 12A Introduction to Programming Lab Assignment 7 In this assignment you will write a bash script that interacts with the user and does some simple calculations, emulating the functionality of programming

More information

BGGN 213 Working with UNIX Barry Grant

BGGN 213 Working with UNIX Barry Grant BGGN 213 Working with UNIX Barry Grant http://thegrantlab.org/bggn213 Recap From Last Time: Motivation: Why we use UNIX for bioinformatics. Modularity, Programmability, Infrastructure, Reliability and

More information

Introduction to Linux

Introduction to Linux Introduction to Linux University of Bristol - Advance Computing Research Centre 1 / 47 Operating Systems Program running all the time Interfaces between other programs and hardware Provides abstractions

More information

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

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2 Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades 2017-2018 Q2 Facultat d Informàtica de Barcelona This first lab session is focused on getting experience in working

More information

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen Introduction to Unix The Windows User perspective Wes Frisby Kyle Horne Todd Johansen What is Unix? Portable, multi-tasking, and multi-user operating system Software development environment Hardware independent

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

Sales-mark.- Techn. services - R&D Staff

Sales-mark.- Techn. services - R&D Staff Sales-mark.- Techn. services - R&D Staff Job Content: Heeft u een wetenschappelijke opleiding en bent u opzoek naar een opportuniteit? Reageer dan via deze jobposting zodat we uw profiel gemakkelijk kunnen

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

Programming Fundamentals!

Programming Fundamentals! Programming Fundamentals! Programming concepts and understanding of the essentials of programming languages form the basis of computing.! Goals! To outline what aspects of a language (specifically R) you

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

Windshield. Language Reference Manual. Columbia University COMS W4115 Programming Languages and Translators Spring Prof. Stephen A.

Windshield. Language Reference Manual. Columbia University COMS W4115 Programming Languages and Translators Spring Prof. Stephen A. Windshield Language Reference Manual Columbia University COMS W4115 Programming Languages and Translators Spring 2007 Prof. Stephen A. Edwards Team members Wei-Yun Ma wm2174 wm2174@columbia.edu Tony Wang

More information

COMPUTER APPLICATIONS TECHNOLOGY

COMPUTER APPLICATIONS TECHNOLOGY COMPUTER APPLICATIONS TECHNOLOGY Practical Skillsets required per application per grade Taken from CAPS Computer Applications Technology Practical skillsets required per application per grade (according

More information

CS 25200: Systems Programming. Lecture 10: Shell Scripting in Bash

CS 25200: Systems Programming. Lecture 10: Shell Scripting in Bash CS 25200: Systems Programming Lecture 10: Shell Scripting in Bash Dr. Jef Turkstra 2018 Dr. Jeffrey A. Turkstra 1 Lecture 10 Getting started with Bash Data types Reading and writing Control loops Decision

More information

Recap From Last Time: Setup Checklist BGGN 213. Todays Menu. Introduction to UNIX.

Recap From Last Time: Setup Checklist   BGGN 213. Todays Menu. Introduction to UNIX. Recap From Last Time: BGGN 213 Introduction to UNIX Barry Grant http://thegrantlab.org/bggn213 Substitution matrices: Where our alignment match and mis-match scores typically come from Comparing methods:

More information

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

UNIX COMMANDS AND SHELLS. UNIX Programming 2015 Fall by Euiseong Seo UNIX COMMANDS AND SHELLS UNIX Programming 2015 Fall by Euiseong Seo What is a Shell? A system program that allows a user to execute Shell functions (internal commands) Other programs (external commands)

More information

The Shell. EOAS Software Carpentry Workshop. September 20th, 2016

The Shell. EOAS Software Carpentry Workshop. September 20th, 2016 The Shell EOAS Software Carpentry Workshop September 20th, 2016 Getting Started You need to download some files to follow this lesson. These files are found on the shell lesson website (see etherpad) 1.

More information

Komunikat z 6 listopada 2014

Komunikat z 6 listopada 2014 Komunikat z 6 listopada 2014 Lubuski Oddział Wojewódzki NFZ w Zielonej Górze informuje, że w dniu 04.11.2014 roku na stronie internetowej Centrali NFZ, pod adresem: www.nfz.gov.pl, zamieszczone zostały

More information

Input, output, and sequence

Input, output, and sequence Chapter 29 Input, output, and sequence For this chapter, switch languages in DrRacket to Advanced Student Language. In the real world, we don t usually give a computer all the information it needs, all

More information

UNIX files searching, and other interrogation techniques

UNIX files searching, and other interrogation techniques UNIX files searching, and other interrogation techniques Ways to examine the contents of files. How to find files when you don't know how their exact location. Ways of searching files for text patterns.

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

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

Linux at the Command Line Don Johnson of BU IS&T Linux at the Command Line Don Johnson of BU IS&T We ll start with a sign in sheet. We ll end with a class evaluation. We ll cover as much as we can in the time allowed; if we don t cover everything, you

More information

Computer Systems and Architecture

Computer Systems and Architecture Computer Systems and Architecture Stephen Pauwels Computer Systems Academic Year 2018-2019 Overview of the Semester UNIX Introductie Regular Expressions Scripting Data Representation Integers, Fixed point,

More information

Vi & Shell Scripting

Vi & Shell Scripting Vi & Shell Scripting Comp-206 : Introduction to Week 3 Joseph Vybihal Computer Science McGill University Announcements Sina Meraji's office hours Trottier 3rd floor open area Tuesday 1:30 2:30 PM Thursday

More information

Web Page Creation Part I. CS27101 Introduction to Web Interface Design Prof. Angela Guercio

Web Page Creation Part I. CS27101 Introduction to Web Interface Design Prof. Angela Guercio Web Page Creation Part I CS27101 Introduction to Web Interface Design Prof. Angela Guercio Objective In this lecture, you will learn: What HTML is and what XHTML is How to create an (X)HTML file The (X)HTML

More information

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

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018 EECS 470 Lab 5 Linux Shell Scripting Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 1 st February, 2018 (University of Michigan) Lab 5:

More information

Command Interpreters. command-line (e.g. Unix shell) On Unix/Linux, bash has become defacto standard shell.

Command Interpreters. command-line (e.g. Unix shell) On Unix/Linux, bash has become defacto standard shell. Command Interpreters A command interpreter is a program that executes other programs. Aim: allow users to execute the commands provided on a computer system. Command interpreters come in two flavours:

More information

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

Introduction to remote command line Linux. Research Computing Team University of Birmingham Introduction to remote command line Linux Research Computing Team University of Birmingham Linux/UNIX/BSD/OSX/what? v All different v UNIX is the oldest, mostly now commercial only in large environments

More information

Introduction to Linux (and the terminal)

Introduction to Linux (and the terminal) Introduction to Linux (and the terminal) 27/11/2018 Pierpaolo Maisano Delser mail: maisanop@tcd.ie ; pm604@cam.ac.uk Outline: What is Linux and the terminal? Why do we use the terminal? Pros and cons Basic

More information

BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description:

BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description: BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description: This course provides Bioinformatics students with the

More information

Operating System Interaction via bash

Operating System Interaction via bash Operating System Interaction via bash bash, or the Bourne-Again Shell, is a popular operating system shell that is used by many platforms bash uses the command line interaction style generally accepted

More information

Linux Command Line Interface. December 27, 2017

Linux Command Line Interface. December 27, 2017 Linux Command Line Interface December 27, 2017 Foreword It is supposed to be a refresher (?!) If you are familiar with UNIX/Linux/MacOS X CLI, this is going to be boring... I will not talk about editors

More information