Advanced Bash Scripting
|
|
- Anastasia Gibbs
- 6 years ago
- Views:
Transcription
1 for HPC SysAdmins Piero Calucci Scuola Internazionale Superiore di Studi Avanzati Trieste 2 Democritos Modeling Center for Research in Atomistic Simulation INFM November 2008 Advanced School in High Performance and Grid Computing
2 Master Foo once said to a visiting programmer: «There is more Unix-nature in one line of shell script than there is in ten thousand lines of C.» (... ) «Master programmer, consider this pipeline. Implemented in pure C, would it not span ten thousand lines?» (... ) «And how many hours would you require to implement and debug that C program?» asked Nubi. «Many,» admitted the visiting programmer. «But only a fool would spend the time to do that when so many more worthy tasks await him.» «And who better understands the Unix-nature?» Master Foo asked. «Is it he who writes the ten thousand lines, or he who, perceiving the emptiness of the task, gains merit by not coding?» Upon hearing this, the programmer was enlightened. from Master Foo and the Ten Thousand Lines
3 Outline 1 File System Users: 2 Find Users on a Node 3 Check for Dead and Restart When Needed
4 Example 1: File System Users Beyond Background: you need to know who is doing what with some file system object (file, directory, whole file system... ) the command can tell the PIDs of involved process(es) you want more: process owner complete command line
5 Beyond Interactive solution Who is using the /tmp file system? -m /tmp /tmp: Then we need to know what each PID is: ps -p 531 PID TTY TIME CMD 531? 00:00:00 screen So it is a screen process, it has no attached tty, and has used no time.
6 Beyond Interactive solution /2... or even better ps -p 531 -f UID PID PPID C STIME TTY TIME CMD john Oct19? 00:00:00 SCREEN (complete commandline is available adding the -l switch, but output is too long to fit on a slide) We would then need to repeat for each of the PIDs listed in the output of.
7 Beyond Step by Step Shell Function /2 1 first explode the output into tokens: -m /tmp tr -s \n /tmp: c... tr simply converts each occurrence of a given character into a different one: here we convert spaces in newlines; the -s option collapses repeated characters. There can be a few letters attached to PIDs: here c means «current directory».
8 Beyond Step by Step Shell Function /3 2 then take only PIDs out of the list: -m /tmp tr -s \n \ egrep -o [0-9] egrep selects only digits ([0-9]), optionally repeated (+), then outputs only the matching string (-o).
9 Beyond Step by Step Shell Function /4 3 finally pass the resulting list to ps with any appropriate option: -m /tmp tr -s \n \ egrep -o [0-9]+ xargs ps -f -p UID PID PPID C STIME TTY STAT TIME CMD john Oct19? Ss 0:00 SCREEN eve Sep29? Ss 0:00 /usr/bin/lamd xargs takes its STDIN and appends it to a given command line (here ps -f -p).
10 Beyond Step by Step Shell Function /5 As a last step we wrap everything in a shell function: function 2 () { $* \ tr -s " " "\n" \ egrep -o [0-9]+ \ xargs ps -fl -p } where $* is used so that any command line parameter given to our little function is passed to the inner command.
11 Example 2: Background: HPC cluster with the Maui job scheduler we need to know the user list for a given node nodes are not job-exclusive there can be jobs from different users sharing a node available commands: checknode reports information on a given node, including the list of job assigned to the node checkjob reports information on a given job, including the list of assigned nodes and the job owner
12 Interactive Solution Step by Step /1 ] checknode a206 checking node a206 State: Running (general information on node status omitted) Reservations: Job (x1) -1:18:00:36 -> 2:05:58:24 (3:23:59:00) Job (x1) -22:07:38 -> 3:01:51:22 (3:23:59:00) JobList: , Jobs and are running on node a206.
13 Interactive Solution Step by Step /2 ] checkjob checking job State: Running Creds: user:joe group:phys class:smp2 qos:slow WallTime: 1:18:39:39 of 4:00:00:00 SubmitTime: Tue Oct 21 15:43:36 (more information omitted) Job owner is user joe; job has run for 1 day, 18 hours and 39 minutes out of 4 days requested. Now we would need to repeat for job If we wanted to know current users of a dozen more nodes, the whole process is not exactly exciting...
14 Step by Step Shell Function /1 We are going to define a shell function node_user that is going to accept a single argument (a node name) and output the list of users on a node, along with their remaining time. 1 Let s start by extracting the list of running jobs on the node: checknode a206 grep JobList JobList: ,115848
15 Step by Step Shell Function /2 2 then explode the list to single components: checknode a206 grep JobList egrep -o [0-9] The regular expression [0-9]+ means «any digit, repeated one or more times»; the -o option tells egrep to output only the matching strings (not whole lines).
16 Step by Step Shell Function /3 3 then pass each of the list elements to the checkjob command: checknode a206 grep JobList egrep -o [0-9]+ xargs -i checkjob {} (very long output, not shown) xargs takes its standard input and uses it to build a new command line the -i option tells xargs to iterate over input elements and build a command line for each one {} is a placeholder in the command line where xargs will put each list element
17 Step by Step Shell Function /4 4 finally filter the insanely long output to get only user and WallTime lines: checknode a206 grep JobList egrep -o [0-9]+ xargs -i checkjob {} egrep -o user:[ˆ ]+ WallTime:.+ Another regular expression where is logical «OR» [ˆ ] means «everything that is not a space»
18 Step by Step Shell Function /5 The final magic: function node_user () { [ $# -ne 1 ] && { echo "Usage: $FUNCNAME nodename" 1>&2; return 1 }; checknode $1 grep JobList \ egrep -o [0-9]+ xargs -i checkjob {} \ egrep -o user:[^ ]+ WallTime:.+ }
19 Background: Example 3: you have some slightly unstable service that sometimes crashes and needs to be restarted; or maybe it is sometimes killed due to resource exaustion you don t want to deploy a full-featured monitoring system and/or need a quick-and-dirty solution you want a basic level of configurability, e.g. you want to be able to shut down a service and not have it restarted monitored services are important enough that you want them restarted without human intervention, but not so critical you need them to be restarted «now»
20 Interactive Solution Step by Step At some point node m001 starts looking funny... 1 go to node m001: ssh m001 2 check for service availability: service ntpd status ntpd is stopped 3 you known for sure that ntpd should be there, so you restart it: service ntpd restart ntpd: Synchronizing with time server: [OK] Starting ntpd: [OK]
21 Step by Step Shell Script /1 Version 0 script could be #!/bin/bash service ntpd status \ service ntpd restart The first part of the pipeline reports the service status both on STDOUT and in the exit code we are only interested in the exit code actually.
22 Step by Step Shell Script /2 A more advanced version of our script would check if ntpd is supposed to be there before deciding it is thime to (re)start it. This can be done with chkconfig: chkconfig --list ntpd ntpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off But what runlevel are we currently in? runlevel N 3 So this will tell us what we really need to know: RL=$( runlevel cut -d -f2 ) chkconfig --list ntpd grep -q ${RL}:on echo $? 0
23 Step by Step Shell Script /3 We can make a shell function with our little «check if service should be there» piece of script: function is_active() { [ "x$1" = "x" ] && return 1 local SERVICE=$1 local RL=$( runlevel cut -d -f2 ) chkconfig --list $SERVICE \ grep -q "${RL}:on" return $? }
24 Step by Step Shell Script /4 The new script will then be: #!/bin/bash (here goes the definition of is_active) is_active ntpd && \ { service ntpd status >/dev/null \ service ntpd restart ; }
25 Step by Step Shell Script /5 As a final step the script needs to be executed periodically. On RedHat-based distros, making the script executable and moving it to the /etc/cron.hourly directory is enough to have it executed once per hour. If your system doesn t support RedHat-style cron directories, or you want some different time interval you will need to work with the slightly old-fashioned crontab.
26
Unix Processes. What is a Process?
Unix Processes Process -- program in execution shell spawns a process for each command and terminates it when the command completes Many processes all multiplexed to a single processor (or a small number
More informationQueue systems. and how to use Torque/Maui. Piero Calucci. Scuola Internazionale Superiore di Studi Avanzati Trieste
Queue systems and how to use Torque/Maui Piero Calucci Scuola Internazionale Superiore di Studi Avanzati Trieste March 9th 2007 Advanced School in High Performance Computing Tools for e-science Outline
More informationand how to use TORQUE & Maui Piero Calucci
Queue and how to use & Maui Scuola Internazionale Superiore di Studi Avanzati Trieste November 2008 Advanced School in High Performance and Grid Computing Outline 1 We Are Trying to Solve 2 Using the Manager
More information22-Sep CSCI 2132 Software Development Lecture 8: Shells, Processes, and Job Control. Faculty of Computer Science, Dalhousie University
Lecture 8 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 8: Shells, Processes, and Job Control 22-Sep-2017 Location: Goldberg CS 127 Time: 14:35 15:25 Instructor:
More informationEssentials 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 informationTable 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 informationAssignment 2. Summary. Some Important bash Instructions. CSci132 Practical UNIX and Programming Assignment 2, Fall Prof.
Assignment 2 Summary The purpose of this assignment is to give you some practice in bash scripting. When you write a bash script, you are really writing a program in the bash programming language. In class
More informationIntroduction 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 informationIntroduction 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 informationSperimentazioni I LINUX commands tutorial - Part II
Sperimentazioni I LINUX commands tutorial - Part II A. Garfagnini, M. Mazzocco Università degli studi di Padova 24 Ottobre 2012 Streams and I/O Redirection Pipelines Create, monitor and kill processes
More informationCS 307: UNIX PROGRAMMING ENVIRONMENT FIND COMMAND
CS 307: UNIX PROGRAMMING ENVIRONMENT FIND COMMAND Prof. Michael J. Reale Fall 2014 Finding Files in a Directory Tree Suppose you want to find a file with a certain filename (or with a filename matching
More informationSetting up Queue Systems
Setting up Queue Systems with TORQUE & Maui Piero Calucci Scuola Internazionale Superiore di Studi Avanzati Trieste March 14th 2007 Advanced School in High Performance Computing Tools for e-science Outline
More informationI/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 informationShell Scripting. With Applications to HPC. Edmund Sumbar Copyright 2007 University of Alberta. All rights reserved
AICT High Performance Computing Workshop With Applications to HPC Edmund Sumbar research.support@ualberta.ca Copyright 2007 University of Alberta. All rights reserved High performance computing environment
More informationbash, 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 informationReview 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 informationProcess Management forks, bombs, zombies, and daemons! Lecture 5, Hands-On Unix System Administration DeCal
Process Management forks, bombs, zombies, and daemons! Lecture 5, Hands-On Unix System Administration DeCal 2012-10-01 what is a process? an abstraction! you can think of it as a program in the midst of
More informationENGR 3950U / CSCI 3020U Midterm Exam SOLUTIONS, Fall 2012 SOLUTIONS
SOLUTIONS ENGR 3950U / CSCI 3020U (Operating Systems) Midterm Exam October 23, 2012, Duration: 80 Minutes (10 pages, 12 questions, 100 Marks) Instructor: Dr. Kamran Sartipi Question 1 (Computer Systgem)
More informationThe Unix Shell & Shell Scripts
The Unix Shell & Shell Scripts You should do steps 1 to 7 before going to the lab. Use the Linux system you installed in the previous lab. In the lab do step 8, the TA may give you additional exercises
More informationADVANCED LINUX SYSTEM ADMINISTRATION
Lab Assignment 1 Corresponding to Topic 2, The Command Line L1 Main goals To get used to the command line. To gain basic skills with the system shell. To understand some of the basic tools of system administration.
More informationParallel File Systems for HPC
Introduction to Scuola Internazionale Superiore di Studi Avanzati Trieste November 2008 Advanced School in High Performance and Grid Computing Outline 1 The Need for 2 The File System 3 Cluster & A typical
More informationReview 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 informationCS Unix Tools & Scripting
Cornell University, Spring 2014 1 February 24, 2014 1 Slides evolved from previous versions by Hussam Abu-Libdeh and David Slater A note on awk for (item in array) The order in which items are returned
More informationLinux System Administration
System Processes Objective At the conclusion of this module, the student will be able to: Describe and define a process Identify a process ID, the parent process and the child process Learn the PID for
More informationBamuengine.com. Chapter 7. The Process
Chapter 7. The Process Introduction A process is an OS abstraction that enables us to look at files and programs as their time image. This chapter discusses processes, the mechanism of creating a process,
More informationwith TORQUE & Maui Piero Calucci
Setting up with & Scuola Internazionale Superiore di Studi Avanzati Trieste November 2008 Advanced School in High Performance and Grid Computing Outline 1 2 3 Source Code is available from www.clusterresources.com
More informationConfiguring and Running CD Tools
Presented to: Advanced IDC Training Course Configuring and Running CD Tools Preparatory Commission for the Comprehensive Nuclear-Test-Ban Treaty Organization Provisional Technical Secretariat Vienna International
More informationsottotitolo A.A. 2016/17 Federico Reghenzani, Alessandro Barenghi
Titolo presentazione Piattaforme Software per la Rete sottotitolo BASH Scripting Milano, XX mese 20XX A.A. 2016/17, Alessandro Barenghi Outline 1) Introduction to BASH 2) Helper commands 3) Control Flow
More informationCOMP 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 informationLinux shell programming for Raspberry Pi Users - 2
Linux shell programming for Raspberry Pi Users - 2 Sarwan Singh Assistant Director(S) NIELIT Chandigarh 1 SarwanSingh.com Education is the kindling of a flame, not the filling of a vessel. - Socrates SHELL
More informationCOMS 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 informationPipelines, Forks, and Shell
Scribe Notes for CS61: 11/14/13 By David Becerra and Arvind Narayanan Pipelines, Forks, and Shell Anecdote on Pipelines: Anecdote 1: In 1964, Bell Labs manager Doug Mcllroy sent a memo stating that programs
More informationProcesses. What s s a process? process? A dynamically executing instance of a program. David Morgan
Processes David Morgan What s s a process? process? A dynamically executing instance of a program 1 Constituents of a process its code data various attributes OS needs to manage it OS keeps track of all
More informationLinux 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 informationPrograms. Program: Set of commands stored in a file Stored on disk Starting a program creates a process static Process: Program loaded in RAM dynamic
Programs Program: Set of commands stored in a file Stored on disk Starting a program creates a process static Process: Program loaded in RAM dynamic Types of Processes 1. User process: Process started
More information07 - Processes and Jobs
07 - Processes and Jobs CS 2043: Unix Tools and Scripting, Spring 2016 [1] Stephen McDowell February 10th, 2016 Cornell University Table of contents 1. Processes Overview 2. Modifying Processes 3. Jobs
More informationChapter-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 informationCSE 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 informationAutomating Linux App Startup
Automating Linux App Startup David Boyes Sine Nomine Associates Agenda Runlevels, init, and symlinks, oh, my! Sequence of events during startup A sample application startup script Caveats on insserv, yast
More informationBasic Linux Security. Roman Bohuk University of Virginia
Basic Linux Security Roman Bohuk University of Virginia What is Linux? An open source operating system Project started by Linus Torvalds kernel Kernel: core program that controls everything else (controls
More informationelinks, mail processes nice ps, pstree, top job control, jobs, fg, bg signals, kill, killall crontab, anacron, at
Processes 1 elinks, mail processes nice ps, pstree, top job control, jobs, fg, bg signals, kill, killall crontab, anacron, at 2 elinks is a text-based (character mode) web browser we will use it to enable
More informationLecture 5: Jobs and Processes
Lecture 5: and CS2042 - UNIX Tools October 8, 2008 and Lecture Outline 1 2 Manipulating and Intro to Definition: A process is an instance of a running program. More specific than a program because it s
More informationReview 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 informationSystems Programming/ C and UNIX
Systems Programming/ C and UNIX Alice E. Fischer Lecture 6: Processes October 9, 2017 Alice E. FischerLecture 6: Processes Lecture 5: Processes... 1/26 October 9, 2017 1 / 26 Outline 1 Processes 2 Process
More informationAssignment 3, Due October 4
Assignment 3, Due October 4 1 Summary This assignment gives you practice with writing shell scripts. Shell scripting is also known as bash programming. Your shell is bash, and when you write a shell script
More informationLecture 5. Essential skills for bioinformatics: Unix/Linux
Lecture 5 Essential skills for bioinformatics: Unix/Linux UNIX DATA TOOLS Text processing with awk We have illustrated two ways awk can come in handy: Filtering data using rules that can combine regular
More informationbash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2017
bash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2017 Positional Arguments It is quite common to allow the user of a script to specify what the script is to operate on (e.g. a
More informationQUESTION 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 informationIntroduction to UNIX. Introduction EECS l UNIX is an operating system (OS). l Our goals:
Introduction to UNIX EECS 2031 13 November 2017 Introduction l UNIX is an operating system (OS). l Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically shell
More informationA shell can be used in one of two ways:
Shell Scripting 1 A shell can be used in one of two ways: A command interpreter, used interactively A programming language, to write shell scripts (your own custom commands) 2 If we have a set of commands
More informationShells and Shell Programming
Shells and Shell Programming 1 Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed
More informationScripting. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers
Scripting Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers Adapted from Practical Unix and Programming Hunter College Copyright 2006 2009 Stewart Weiss What a shell
More informationThe Unix Shell. Job Control
The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. shell shell $
More informationIntroduction to Linux
Introduction to Linux Mukesh Pund Principal Scientist, NISCAIR, New Delhi, India History In 1969, a team of developers developed a new operating system called Unix which was written using C Linus Torvalds,
More informationBooting up and Shutting down A primer for troubleshooting
Booting up and Shutting down A primer for troubleshooting In this section, we touch upon the startup and shutdown process on Linux. It is beyond the scope of this course to cover this topic in depth and
More informationUseful 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 informationCSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Shell Scripting. Winter 2019
CSCI 2132: Software Development Shell Scripting Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Reading Glass and Ables, Chapter 8: bash Your Shell vs Your File Manager File manager
More informationBackgrounding and Task Distribution In Batch Jobs
Backgrounding and Task Distribution In Batch Jobs James A. Lupo, Ph.D. Assist Dir Computational Enablement Louisiana State University jalupo@cct.lsu.edu 1/76 Overview Description of the Problem Environment
More informationMore Scripting Techniques Scripting Process Example Script
More Scripting Techniques Scripting Process Example Script 1 arguments to scripts positional parameters input using read exit status test program, also known as [ if statements error messages 2 case statement
More informationMetbox Training Outline LDM Training Metbox overview Break Metbox hands on training
Metbox Training Outline 1300-1430 LDM Training 1430-1500 Metbox overview 1500-1515 Break 1515-1700 Metbox hands on training Metbox Terms Metbox Hardware and software LDM Data management system GEneral
More informationBash Shell Programming Helps
Bash Shell Programming Helps We use the Bash shell to orchestrate the chip building process Bash shell calls the other tools, does vector checking The shell script is a series of commands that the Bash
More informationThe Unix Shell. Job Control
The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. shell shell $
More informationShells. A shell is a command line interpreter that is the interface between the user and the OS. The shell:
Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed performs the actions Example:
More informationModule 8 Pipes, Redirection and REGEX
Module 8 Pipes, Redirection and REGEX Exam Objective 3.2 Searching and Extracting Data from Files Objective Summary Piping and redirection Partial POSIX Command Line and Redirection Command Line Pipes
More informationPART I : MCS-041. (b) Use head and tail in a pipeline to display lines 25 through 75 of a file? $Head 25 file name $Tail 75 File name
Course Code : MCS-045 Course Title : UNIX an DBMS Lab Assignment Number : MAC(4)/045/Assign/06 PART I : MCS-041 Ques 1 : Write the Unix commands for the following: (a) Use the more command, and a pipeline
More information9 Notes on selecting processes in proc.mem and proc.num items
208/07/04 3:26 /5 9 Notes on selecting processes in proc.mem and proc.num items 9 Notes on selecting processes in proc.mem and proc.num items Processes modifying their commandline Some programs use modifying
More informationBASH and command line utilities Variables Conditional Commands Loop Commands BASH scripts
BASH and command line utilities Variables Conditional Commands Loop Commands BASH scripts SCOMRED, October 2018 Instituto Superior de Engenharia do Porto (ISEP) Departamento de Engenharia Informática(DEI)
More informationExploring UNIX: Session 3
Exploring UNIX: Session 3 UNIX file system permissions UNIX is a multi user operating system. This means several users can be logged in simultaneously. For obvious reasons UNIX makes sure users cannot
More informationSupercharged VM Startup: A System V-Style INIT Process for VM and Guests
Supercharged VM Startup: A System V-Style INIT Process for VM and Guests David Boyes Sine Nomine Associates WAVV Colorado Springs 2005 2005 Sine Nomine Associates Presentation Download This presentation
More informationA Big Step. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers
A Big Step Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers Copyright 2006 2009 Stewart Weiss What a shell really does Here is the scoop on shells. A shell is a program
More informationSystem Programming. Introduction to Unix
Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 3 Introduction
More informationConsider the following program.
Consider the following program. #include int do_sth (char *s); main(){ char arr [] = "We are the World"; printf ("%d\n", do_sth(arr)); } int do_sth(char *s) { char *p = s; while ( *s++!= \0 )
More informationBasic Linux (Bash) Commands
Basic Linux (Bash) Commands Hint: Run commands in the emacs shell (emacs -nw, then M-x shell) instead of the terminal. It eases searching for and revising commands and navigating and copying-and-pasting
More informationcontainerization: more than the new virtualization
containerization: more than the new virtualization Jérôme Petazzoni (@jpetazzo) Grumpy French DevOps - Go away or I will replace you with a very small shell script Runs everything in containers - Docker-in-Docker
More informationCSCI 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 informationShell Control Structures
Shell Control Structures CSE 2031 Fall 2010 27 November 2010 1 Control Structures if else for while case (which) until 2 1 if Statement and test Command Syntax: if condition command(s) elif condition_2
More informationThe UNIX Shells. Computer Center, CS, NCTU. How shell works. Unix shells. Fetch command Analyze Execute
Shells The UNIX Shells How shell works Fetch command Analyze Execute Unix shells Shell Originator System Name Prompt Bourne Shell S. R. Bourne /bin/sh $ Csh Bill Joy /bin/csh % Tcsh Ken Greer /bin/tcsh
More informationIntroduction: 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 informationMonitoring a HPC Cluster with Nagios
Cluster with Scuola Internazionale Superiore di Studi Avanzati Trieste 2009-04-01 1 2009-04-03 1 Try again... Fail better. Outline 1 2 3 Installation for Monitoring @SISSA Cluster with What is? «R is a
More informationEECS 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 informationIntroduction 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 informationChapter 9: Process management. Chapter 9 Process management
Chapter 9: Process management Chapter 9 Process management Last revised: 19/7/2004 Chapter 9 Outline In this chapter we will learn about: Processes and process concepts Examining processes Adjusting process
More informationRemoving files and directories, finding files and directories, controlling programs
Removing files and directories, finding files and directories, controlling programs Laboratory of Genomics & Bioinformatics in Parasitology Department of Parasitology, ICB, USP Removing files Files can
More informationPlease wait to turn the page until everyone is told to begin.
Name: Write your name in the space provided above. Without looking at the test contents, write your initials on the top right corner of every sheet of paper. The last page is a reference. Please wait to
More informationImplementation of a simple shell, xssh
Implementation of a simple shell, xssh What is a shell? A process that does command line interpretation Reads a command from standard input (stdin) Executes command corresponding to input line In the simple
More informationPrinciples of Bioinformatics. BIO540/STA569/CSI660 Fall 2010
Principles of Bioinformatics BIO540/STA569/CSI660 Fall 2010 Lecture Five Practical Computing Skills Emphasis This time it s concrete, not abstract. Fall 2010 BIO540/STA569/CSI660 3 Administrivia Monday
More informationShell Programming. Introduction to Linux. Peter Ruprecht Research CU Boulder
Introduction to Linux Shell Programming Peter Ruprecht peter.ruprecht@colorado.edu www.rc.colorado.edu Downloadable Materials Slides and examples available at https://github.com/researchcomputing/ Final_Tutorials/
More informationFirst of all, these notes will cover only a small subset of the available commands and utilities, and will cover most of those in a shallow fashion.
Warnings 1 First of all, these notes will cover only a small subset of the available commands and utilities, and will cover most of those in a shallow fashion. Read the relevant material in Sobell! If
More informationSimplest version of DayOfYear
Reminder from last week: Simplest version of DayOfYear class DayOfYear { public: void output(); int month; int day; }; Like a struct with an added method All parts public Clients access month, day directly
More informationLinux Tutorial #6. -rw-r csce_user csce_user 20 Jan 4 09:15 list1.txt -rw-r csce_user csce_user 26 Jan 4 09:16 list2.
File system access rights Linux Tutorial #6 Linux provides file system security using a three- level system of access rights. These special codes control who can read/write/execute every file and directory
More informationLinux 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 informationLecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world.
Lecture 3 Unix Question? Denmark is famous for? a. LEGO. b. The world s best restaurant. c. Being in the top three happiest countries in the world. d. Having the highest taxes in Europe (57%). e. All of
More informationPROCESSES. At least they re not ISO-9001 processes
PROCESSES At least they re not ISO-9001 processes STRUCTURE In Linux, a Process wraps up everything that is needed to know about a running piece of software The meta information not only includes the machine
More informationWhile Statement Examples. While Statement (35.15) Until Statement (35.15) Until Statement Example
While Statement (35.15) General form. The commands in the loop are performed while the condition is true. while condition one-or-more-commands While Statement Examples # process commands until a stop is
More informationMills HPC Tutorial Series. Linux Basics II
Mills HPC Tutorial Series Linux Basics II Objectives Bash Shell Script Basics Script Project This project is based on using the Gnuplot program which reads a command file, a data file and writes an image
More informationUnit 2 System startup and shutdown
Unit 2 System startup and shutdown Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 5.2 Unit objectives After completing this unit, you should be
More informationWhole genome assembly comparison of duplication originally described in Bailey et al
WGAC Whole genome assembly comparison of duplication originally described in Bailey et al. 2001. Inputs species name path to FASTA sequence(s) to be processed either a directory of chromosomal FASTA files
More informationServices, logging, accounting Todd Kelley CST8177 Todd Kelley 1
Services, logging, accounting Todd Kelley kelleyt@algonquincollege.com CST8177 Todd Kelley 1 services syslog logger command line utility psacct lastcomm ac, last, lastlog 2 chkconfig vs service (review)
More informationS E C T I O N O V E R V I E W
INPUT, OUTPUT REDIRECTION, PIPING AND PROCESS CONTROL S E C T I O N O V E R V I E W In this section, we will learn about: input redirection; output redirection; piping; process control; 5.1 INPUT AND OUTPUT
More informationA Brief Introduction to Unix
A Brief Introduction to Unix Sean Barag Drexel University March 30, 2011 Sean Barag (Drexel University) CS 265 - A Brief Introduction to Unix March 30, 2011 1 / 17 Outline 1 Directories
More information