Presented by Bill Genske Gary Jackson

Size: px
Start display at page:

Download "Presented by Bill Genske Gary Jackson"

Transcription

1 Quintessential School Systems Session C Linux Presented by Bill Genske Gary Jackson Copyright Quintessential School Systems, 2009 All Rights Reserved 867 American Street --- Second Floor --- San Carlos, CA /

2

3 Linux (Hands On) March 3, 2008 Session C Presented by Bill Genske (QSS) and Gary Jackson (QSS) Hands On Experience This session will combine lecture with individual hands on exercises as we go. Look for the symbol to indicate a hands on exercise. Feel free to ask questions or for additional explanation. 1

4 Starting Linux Just hit the power switch Power on your workstation. Allow it to boot uninterrupted. Boot loader starts first, then starts the kernel. kernel then starts init. Init will executed the startup scripts (rc files) based on the configured runlevel. Startup message appear on tty1 console Virtual Consoles Seven virtual consoles (f1 thru f7) Press alt plus a function key (alt-fkey) to switch Can be signed on to any of them using different users doing different tasks simultaneously Six (f1 thru f7) are text-based. Devices are tty1 thru tty6 The tty1 device is also used for system messages One (f7) is the X Windows System (Graphical Desktop) Must also press ctl key with alt-fkey to switch away from graphical desktop, ctl-alt-fkey Graphical desktop will usually be either GNOME or KDE. What you see on the logon screen is configurable. 2

5 Remote Access Text-based Using telnet, rlogin, or secure shell (ssh) Putty is a very common windows-based program Graphical Using VNC, or other X Windows client such as Reflection X X windows, a windows manager, VNC service, and graphical desktop package must be installed, configured, and enabled File transfers to/from server ftp, if configured and enabled WinSCP is a very common windows-based file transfer program which uses ssh s sftp instead of ftp. Logging on Text-based Type user and press enter after logon as: Type password and press enter after Password: 3

6 System Users root System administrator Best Practice is to use this user only when needed to prevent making a mistake while learning Most commands do not prompt for confirmation There is no undo! root can do anything! QSS Users qssmgr QSS System Administrator Used to install software and configure the system qssopr QSS System operator Used for accounts payable and payroll processing qssdba QSS Database administrator 4

7 Log on Switch to tty1 from graphical desktop using ctlalt-f1. You should see the tail end of the startup messages. Logon to the root user. Password for these servers is Root4qss Return to the graphical desktop using alt-f7. Logon to the train user. Password for these servers is qss. Find the terminal icon and open a terminal window so you can type commands Commands Case-sensitive Some commands are built into the shell bash Bourne Again Shell Interactive use sh Bourne Shell Scripts Commands consist of a name and optional flags and arguments flags (aka options, switches) can usually be in any order and combined. flags are preceded with a dash arguments must sometimes follow particular flags or be in a specific order 5

8 Paths Commands are found based on path Omitted path uses $PATH variable echo $PATH Relative path uses./ (current directory) or../ (parent directory) Absolute path is a fully qualified name The pwd command, print working directory, shows your current directory pwd hello_world script You should be in /home/train directory which contains the hello_world script. The following command uses the $PATH to find the command. Why does it fail? hello_world The following command uses a relative path for the current directory./hello_world The following command uses an absolute path. /home/train/hello_world 6

9 Help for Commands type command shows how a command will be interpreted help shows syntax of a shell built-in command man shows you man page for command info shows you info document for command type and help exercises type type type pwd help type type -a -t pwd In the previous example -a and -t are flags and pwd is an argument which must be last. The following are equivalent type -t -a pwd type -at pwd type -ta pwd The following is not equivalent and will fail. type pwd -a -t 7

10 man segments Man pages usually include a number of segments. NAME - brief description of the command SYNOPSIS - syntax DESCRIPTION - more detailed description OPTIONS - explains the flags and arguments shown in SYNOPSIS in detail EXAMPLES - examples ENVIRONMENT - shows what variables if any effect the command. FILES - shows related files if any SEE ALSO - lists similar or related man pages. man key commands Basic key commands in man (uses many of the same navigation key commands as vi) q - exit spacebar - page down 1 page at a time Enter - page 1 line at a time home, end, page up, page down, up arrow, down arrow - same as in windows (may not work in all distributions) /search-text - find a given text string n - find next man man man passwd man 5 passwd 8

11 Information about a file file shows you the file s type file hello_world file /bin/ls ls -l shows you a file s attributes ls -l hello_world -rwxr-xr-x 1 train users :40 hello_world Permissions -rwxr-xr-x owner and group train users Size 28 Date and time file was modified :40 Permissions -rwxr-x--- 1 st character is d if a directory Next 3 characters rwx show read, write, and execute permission for owner of file Next 3 characters r-x show read, write and execute permission for group Last 3 character --- show read, write and execute permission for everyone else. If a value is - instead of r, w, or x then that permission is not granted. 9

12 Commands to change file s security chmod changes permissions (must be owner or root) chown changes owner and group (must be root) chgrp change group (must be owner or root) User and Group commands useradd create a new user account usermod modify a user account userdel delete a user account passwd change user password groupadd create a new group groupmod modify a group groupdel delete a group su run a shell with a substitute user and group sudo execute commands as another user whoami - print effective user 10

13 User excercises try the following from the terminal window in the graphical desktop while logged on as the train user whoami su - Enter the password for root. If you don t specify a user then root is assumed. whoami su qssmgr You changed the effective user and group but do not have qssmgr s envirornment. You were not asked for qssmgr s password since root can do anything. exit su - qssmgr You changed the effective user and group AND have qssmgr s envirornment. exit exit 2 nd time to exit root Commands to view a file cat display a file more page forward through file less page forward and backward through file. head show the last n lines (default is 10) tail show the last n lines (default is 10) grep search a file for a string 11

14 Commands to manage files touch create a empty file or change timestamp on a file cp copy a file mv rename a file rm remove a file touch example-file cp example-file example-file.save mv example-file example.txt rm -i example-file.save rm example.txt Commands to manage files ls list files ls ls -l ls -al find find files Find stdlists larger than 100K (qssmgr) find $QSS_DATA/jobsched/stdlists -name stdlist.* -size +100k -exec ls -l {} \; Find stdlists older than 30 days (qssmgr) find $QSS_DATA/jobsched/stdlists -name stdlist.* -mtime +30 -exec ls -l {} \; Find and remove core dump files from the entire system (root) find / -name core -type f -exec rm -i {} \; vi edit a file 12

15 Using vi to edit files To edit a file with vi vi filename vi s modes Normal mode One or two keystroke commands to navigate and make changes Keystrokes are not echoed in most cases Insert mode Press i to enter insert mode Can use arrow keys, page up, page down, to move around, delete key to delete characters, what you type is inserted, etc. Much like Notepad. Press Esc to return to normal mode Replace mode, similar to Insert mode but overwrites existing text. Press R to enter replace mode To exit vi (must be in Normal mode) :wq to save file and exit :q to exit if you didn t make any change :q! to exit without saving vimtutor To learn vi use the command: vimtutor vimtutor Do lessons 1.1 thru

16 Commands for directories pwd print current working directory cd change directory mkdir create a directory mkdir example-dir touch example-dir/example-file ls -l example-dir ls -ld example-dir rmdir remove an empty directory mkdir empty-dir rmdir empty-dir rmdir example-dir the 2 nd rmdir should fail because example-dir is not empty Commands for directories cp -r copy a directory cp example-dir copy-of-example-dir cp example-dir/* copy1-of-example-dir cp -r example-dir copy2-of-example-dir ls -l *dir In the exercises above you should have seen the 1 st copy fails because cp doesn t not copy directories by default. the 2 nd copy worked but if you look closely at the ls output you see copy1-of-example-dir is not a directory but is the file that was in example-dir the 3 rd copy worked correctly to copy the files in a directory to another directory. If you wanted the files in your current directory use. as the target directory 14

17 Commands for directories mv rename a directory mv copy2-of-example-dir renamed-dir ls -ld *dir mv renamed-dir example-dir ls -ld *dir ls -l example-dir In the exercises above you should have seen the directory copy2-of-example-dir was renamed to renamed-dir the directory renamed-dir was moved into the example-dir directory rm -ir remove a directory and its files rm -i example-dir this rm will fail because example-dir is a directory rm -ir example-dir Top level directories /bin essential binaries used by all users /etc host specific configuration files /home home directories for users /lib essential shared libraries /media mount point for removable media /sbin system binaries used by root /tmp temporary files /usr secondary hierarchy for non-essential sw /var variable data files /opt optional add-on software ls -l / 15

18 QSS Directories /etc/opt/qss QSS configuration files /opt/qss QSS software /var/opt/qss QSS data files Switch to the qssmgr user. Password for these servers for qssmgr is qss su - qssmgr QSS Configuration files in /etc/opt/qss jobsched/ configuration directory for QSS Job System jobsched/datemask contains accepted date masks for submitting jobs with the -at option. jobsched/jobid Job number odometer. Modify to reset your job numbers. jobsched/jobsec.cfg lists users allowed to submit jobs. Maintain with JobSecCfg application. Jobsched/JobSvr.cfg configures port number, queues, limits, file locations, etc. cd /etc/opt/qss/jobsched ls -l more JobSvr.cfg cat jobid vi jobid change job number to 1000 (Hint: R to replace, 1000, esc, :wq to save) 16

19 QSS Configuration files in /etc/opt/qss login/ login directory login/copyright QSS copyright statement. login/message login message. login/netcobolrt.sh script to setup path to NetCOBOL runtime. login/path.qss Added to $PATH of QSS user. Modify this to change path for all QSS users as directed by QSS. login/qss_check this is hooked into system login file. login/qssenv.sh this sets the default environment variables. login/qsslocal.sh this sets customer specific variables and commands. Modify this file to set your values. login/qss_login this is the main login script. qssrun.sh this is the list of commands run when user logs in. user/ - directory for user specific settings. cd /etc/opt/qss/login grep CSSFDINO * more qsslocal.sh vi qsslocal.sh login excercises change QENV_CSSFDINO to be 001 ls -l user more user/qssmgr 17

20 QSS Configuration files in /etc/opt/qss qat.d/ QSS automated tasks directory (still in development) qat.d/stdlists configuration settings for how to archive and delete stdlists. cd /etc/opt/qss/qat.d more stdlists qcc_ctl.cfg configuration file for QCC servers cd../ more qcc_ctl.cfg cd ~ qdbi/ database configuration QSS Software directories in /opt/qss archive archived versions of files bin essential QSS binaries (utilities) DataDirect DataDirect libraries for accessing database finance Directory for QSS/OASIS software install skeleton and initial version of installation files jobsched/bin binaries for QSS Job System lib QSS libraries qat QSS Automated Tasks modules qcc/bin binaries for QCC servers sbin binaries for system tasks done by qssmgr 18

21 QSS Data Directories in /var/opt/qss cmd/ - command files and scripts for all users cmd/mgr/ - command files and scripts for qssmgr cmd/opr/ - command files and scripts for qssopr data/ data files data/qcc data files for QCC servers dist/### - district specific files. Each district has its own subdirectory. fmt/ printer format files history/apy/ - accounts payable history files history/pay/ - payroll history files jcl/ - site specific jcl files jobsched/ - QSS Job System files jobsched/queues - files for jobs waiting to run or running jobsched/stdlists - stdlists QSS Data Directories in /var/opt/qss log/ - log files parms/ - parameter files for various applications pdl/ - personnel downloader files pfiles/ - print file directory qcc/ - execution directory for QCC servers release/ - release directory tmp/ - QSS temporary files w21099/#### - W2 and 1099 files. Each year has its own subdirectory. web/ - web template files for QCC servers xfr/ - xfr directory used by QSSXFR 19

22 Filesystems File system is how an Operating System keeps track of files Linux uses a hierarchical filesystem Current Filesystem Hierarchy Standard (FHS) is 2.3 LVM Logical Volume Management All disks belong to one or more Volume Group Logical Volumes created in Volume Group File system built in logical volume Can be resized Filesystem Commands mount show mounted filesystems or mount a filesystem umount unmount a filesystem df report disk space df du disk space usage du -sk /var/opt/qss du -sk /var/opt/qss/* Use this to get a list of QSS data directories and their sizes. 20

23 Variables Shell variables are local to the shell Environment Variables are available to subsequent commands By convention shell variables are lowercase and Environment Variables are UPPERCASE Commands for Variables echo can show the value of a variable echo $PATH printenv prints all Environment Variables printenv sort more shellvarname=shellvarvalue sets a shell variable export ENVVARNAME=envvarvalue sets a environment variable 21

24 QSS Variables $QSS_ROOT set to main software directory, usually /opt/qss $QSS_CFG set to configuration directory, usually /etc/opt/qss $QSS_DATA set to data directory, usually /var/opt/qss Most other QSS variables can be found by printenv sort grep Q more Set by QSS login scripts qss_login, qssenv.sh, qsslocal.sh, and user specific login script Sourcing a file Sourcing a file executes the commands in that file in the current shell. Syntax source filename. filename Different than executing a script which cannot pass variables back to parent. Only method to export variables from a file. 22

25 Exporting a variable in script vs. source example Starting/Stopping QSS Job System Status (from qssmgr or root ) /etc/init.d/qss_jobsvr status Starting (from root user) /etc/init.d/qss_jobsvr start Starts every instance defined in /etc/sysconfig/qss_jobsvr Can be set to start automatically at boot Stopping (from root user) /etc/init.d/qss_jobsvr stop Stops every instance defined in /etc/sysconfig/qss_jobsvr may take a few moments to stop. Can be set to stop automatically at shutdown Stopping (from qssmgr user) /opt/qss/jobsched/bin/jobcli Use connect and stop commands Change to the root user using: su - Use /etc/init.d/qss_jobsvr to check the status, stop, and start the service. exit from root user 23

26 qss_jobsvr examples QSS Job System add-on Commands sj show job Use sj -h to see syntax dj <jobnum> delete job js job submit Use js -h to see syntax lsl [<user>] list stdlists use lsl -l for long version prjob <jobnum> - print stdlist dljob <jobnum> - delete stdlist (in development) 24

27 Job Exercises js printenvjob js sleepjob js -at 20:30 sleepjob sj dj 1002 (or whatever job # was the 1 st sleepjob) dj 1003 (or whatever job # was the 2nd sleepjob) prjob 1002 (or whatever job # was the 1 st sleepjob) prjob 1003 (or whatever job # was the 2nd sleepjob) Will not find stdlist since job was scheduled and never ran. lsl MGR lsl -l The exit status is 9 for the deleted job that started running indicating it was aborted. Other exit status values indicate other problems occurred in the job which caused the job to fail. Starting/Stopping QCC Servers from root QCC servers status /etc/init.d/qss_qcc_ctl status Status of servers for all instances Starting QCC servers /etc/init.d/qss_qcc_ctl start Starts servers for all instances Can be set to start automatically at boot Stopping QCC servers /etc/init.d/qss_qcc_ctl stop Stops servers for all instances Can be set to stop automatically at shutdown Change to the root user using: su - Use /etc/init.d/qss_qcc_ctl to check the status, stop, and start the QCC Servers. exit from root user 25

28 Starting/Stopping QCC Servers from qssmgr qcc_ctl manages servers for the current instance Status for all servers qcc_ctl status Status for a single server qcc_ctl status gl01 Start all servers qcc_ctl startall Start a single server qcc_ctl start gl01 Stop all servers qcc_ctl killall Stop a single server qcc_ctl kill gl01 Use qcc_ctl to check the status, stop, and start all QCC servers, stop and start a single server. qcc_ctl examples 26

29 sample setup of Accounts Payable Processing Logon as qssopr Scripts are in $QSS_DATA/cmd/opr apyextract extracts data to file in /home/qssopr apywarr prints warrants apyreport submits $QSS_DATA/jcl/apyrptst job to print reports apyupdate - updates database apysave saves production files from /home/qssopr to history directory $QSS_DATA/history/apy Process is customized for each client Runlevels Runlevels 0 halted system 1 single user mode 2 multi-user mode (not all processes running) 3 multi-user mode (full system) without X window system 4 multi-user mode (full system) with X windows system runnint 6 reboot 27

30 Runlevel Commands Use runlevel command to see current runlevel runlevel is configured in /etc/inittab by the id parm. Find the configured runlevel using the following command grep id: /etc/inittab Use init command to change runlevels Use Init 1 to perform some maintenance functions. (will be asked for the root password when runlevel 1 is reached) Stopping Linux Always use the shutdown command shutdown option when message shutdown h now shutdown r now turn server off reboot There is also a halt command If not shutdown correctly fschk will be run at next boot which may take additional time. Shutdown your workstation from tty1 while logged on as root after closing your terminal window and logging out the graphical desktop. 28

Introduction to Linux for QSS/OASIS System Administrators and System Operators

Introduction to Linux for QSS/OASIS System Administrators and System Operators Introduction to Linux for QSS/OASIS System Administrators and System Operators A QSS Webinar September 25, 2012 10:00 AM 12:00 PM Logging on Type user and press enter after logon as: Type password and

More information

Migrating System Operations and Administration from Version H to Version L

Migrating System Operations and Administration from Version H to Version L Migrating System Operations and Administration from Version H to Version L A QSS Complimentary Webinar Wednesday, October 2, 2013 10:00 AM 12:00 PM Logging On Type user and press enter after logon as:

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

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

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories Chapter Two Exploring the UNIX File System and File Security Lesson A Understanding Files and Directories 2 Objectives Discuss and explain the UNIX file system Define a UNIX file system partition Use the

More information

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

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018 GNU/Linux 101 Casey McLaughlin Research Computing Center Spring Workshop Series 2018 rccworkshop IC;3df4mu bash-2.1~# man workshop Linux101 RCC Workshop L101 OBJECTIVES - Operating system concepts - Linux

More information

Introduction to Linux

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

Unix Filesystem. January 26 th, 2004 Class Meeting 2

Unix Filesystem. January 26 th, 2004 Class Meeting 2 Unix Filesystem January 26 th, 2004 Class Meeting 2 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty at Virginia Tech Unix Filesystem! The filesystem is your interface

More information

Linux Command Line Primer. By: Scott Marshall

Linux Command Line Primer. By: Scott Marshall Linux Command Line Primer By: Scott Marshall Draft: 10/21/2007 Table of Contents Topic Page(s) Preface 1 General Filesystem Background Information 2 General Filesystem Commands 2 Working with Files and

More information

Unix Introduction to UNIX

Unix Introduction to UNIX Unix Introduction to UNIX Get Started Introduction The UNIX operating system Set of programs that act as a link between the computer and the user. Developed in 1969 by a group of AT&T employees Various

More information

Lab 2A> ADDING USERS in Linux

Lab 2A> ADDING USERS in Linux Lab 2A> ADDING USERS in Linux Objective In this lab, student will learn how to create user accounts using the Linux operating system. Scenario The XYZ Company has just installed a server running Linux.

More information

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

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

More information

SIEMENS UserAdmin Workshop TELEPERM XP Version 4 Chapter 1

SIEMENS UserAdmin Workshop TELEPERM XP Version 4 Chapter 1 1 UNIX... 1-2 1.1 USER-ENVIRONMENT... 1-2 1.1.1 User-environment... 1-3 1.1.2 Basic commands... 1-3 1.1.3 SCO Unix specific commands... 1-4 1.1.4 HP Unix specific commands... 1-4 1.2 FILE SYSTEM... 1-5

More information

Embedded Linux Systems. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island

Embedded Linux Systems. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Embedded Linux Systems Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Generic Embedded Systems Structure User Sensors ADC microcontroller

More information

CS Fundamentals of Programming II Fall Very Basic UNIX

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

More information

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

Unix File System. Class Meeting 2. * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech Unix File System Class Meeting 2 * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech Unix File System The file system is your interface to: physical

More information

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

h/w m/c Kernel shell Application s/w user Structure of Unix h/w m/c Kernel shell Application s/w. user While working with unix, several layers of interaction occur b/w the computer h/w & the user. 1. Kernel : It is the first layer which runs on

More information

A Brief Introduction to Unix

A 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

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

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

Introduction to the Linux Command Line

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

More information

Introduction to Linux Workshop 1

Introduction to Linux Workshop 1 Introduction to Linux Workshop 1 The George Washington University SEAS Computing Facility Created by Jason Hurlburt, Hadi Mohammadi, Marco Suarez hurlburj@gwu.edu Logging In The lab computers will authenticate

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

INTRODUCTION TO LINUX

INTRODUCTION TO LINUX INTRODUCTION TO LINUX REALLY SHORT HISTORY Before GNU/Linux there were DOS, MAC and UNIX. All systems were proprietary. The GNU project started in the early 80s by Richard Stallman Goal to make a free

More information

CS/CIS 249 SP18 - Intro to Information Security

CS/CIS 249 SP18 - Intro to Information Security Lab assignment CS/CIS 249 SP18 - Intro to Information Security Lab #2 - UNIX/Linux Access Controls, version 1.2 A typed document is required for this assignment. You must type the questions and your responses

More information

Outline. Structure of a UNIX command

Outline. Structure of a UNIX command Outline Structure of Unix Commands Command help (man) Log on (terminal vs. graphical) System information (utility) File and directory structure (path) Permission (owner, group, rwx) File and directory

More information

Unix File System. Learning command-line navigation of the file system is essential for efficient system usage

Unix File System. Learning command-line navigation of the file system is essential for efficient system usage ULI101 Week 02 Week Overview Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages Text editing Common file utilities: cat,more,less,touch,file,find

More information

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

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers Review of the Linux File System and Linux Commands 1. Introduction Becoming adept at using the Linux OS requires gaining familiarity

More information

Introduction to the UNIX command line

Introduction to the UNIX command line Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands

More information

Operating Systems Lab 1 (Users, Groups, and Security)

Operating Systems Lab 1 (Users, Groups, and Security) Operating Systems Lab 1 (Users, Groups, and Security) Overview This chapter covers the most common commands related to users, groups, and security. It will also discuss topics like account creation/deletion,

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

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX

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

More information

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

UNIX File Hierarchy: Structure and Commands

UNIX File Hierarchy: Structure and Commands UNIX File Hierarchy: Structure and Commands The UNIX operating system organizes files into a tree structure with a root named by the character /. An example of the directory tree is shown below. / bin

More information

CS4350 Unix Programming. Outline

CS4350 Unix Programming. Outline Outline Unix Management Files and file systems Structure of Unix Commands Command help (man) Log on (terminal vs. graphical) System information (utility) File and directory structure (path) Permission

More information

Introduction to Linux Part 1. Anita Orendt and Wim Cardoen Center for High Performance Computing 24 May 2017

Introduction to Linux Part 1. Anita Orendt and Wim Cardoen Center for High Performance Computing 24 May 2017 Introduction to Linux Part 1 Anita Orendt and Wim Cardoen Center for High Performance Computing 24 May 2017 ssh Login or Interactive Node kingspeak.chpc.utah.edu Batch queue system kp001 kp002. kpxxx FastX

More information

Week Overview. Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages

Week Overview. Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages ULI101 Week 02 Week Overview Unix file system File types and file naming Basic file system commands: pwd,cd,ls,mkdir,rmdir,mv,cp,rm man pages Text editing Common file utilities: cat,more,less,touch,file,find

More information

Chapter 6. Linux File System

Chapter 6. Linux File System Chapter 6 Linux File System 1 File System File System management how to store informations on storage devices The Hierarchical Structure Types of file Common File system Tasks 2 The Hierarchical Structure

More information

Working with Basic Linux. Daniel Balagué

Working with Basic Linux. Daniel Balagué Working with Basic Linux Daniel Balagué How Linux Works? Everything in Linux is either a file or a process. A process is an executing program identified with a PID number. It runs in short or long duration

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Phil Mercurio The Scripps Research Institute mercurio@scripps.edu 1 Session Overview What is Linux Shells & Windows The Linux File System Assorted Commands 2 What Is Linux? Linux

More information

CS197U: A Hands on Introduction to Unix

CS197U: A Hands on Introduction to Unix CS197U: A Hands on Introduction to Unix Lecture 3: UNIX Operating System Organization Tian Guo CICS, Umass Amherst 1 Reminders Assignment 2 is due THURSDAY 09/24 at 3:45 pm Directions are on the website

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 Linux (Part I) BUPT/QMUL 2018/03/14

Introduction to Linux (Part I) BUPT/QMUL 2018/03/14 Introduction to Linux (Part I) BUPT/QMUL 2018/03/14 Contents 1. Background on Linux 2. Starting / Finishing 3. Typing Linux Commands 4. Commands to Use Right Away 5. Linux help continued 2 Contents 6.

More information

Using the Zoo Workstations

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

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

CSCI 2132 Software Development. Lecture 4: Files and Directories

CSCI 2132 Software Development. Lecture 4: Files and Directories CSCI 2132 Software Development Lecture 4: Files and Directories Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 12-Sep-2018 (4) CSCI 2132 1 Previous Lecture Some hardware concepts

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Operating Systems. Copyleft 2005, Binnur Kurt

Operating Systems. Copyleft 2005, Binnur Kurt 3 Operating Systems Copyleft 2005, Binnur Kurt Content The concept of an operating system. The internal architecture of an operating system. The architecture of the Linux operating system in more detail.

More information

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

Operating Systems 3. Operating Systems. Content. What is an Operating System? What is an Operating System? Resource Abstraction and Sharing Content 3 Operating Systems The concept of an operating system. The internal architecture of an operating system. The architecture of the Linux operating system in more detail. How to log into (and out

More information

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

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

More information

Linux Systems Administration Getting Started with Linux

Linux Systems Administration Getting Started with Linux Linux Systems Administration Getting Started with Linux Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International

More information

CISC 220 fall 2011, set 1: Linux basics

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

More information

Session 1: Accessing MUGrid and Command Line Basics

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

More information

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

Please choose the best answer. More than one answer might be true, but choose the one that is best.

Please choose the best answer. More than one answer might be true, but choose the one that is best. Introduction to Linux and Unix - endterm Please choose the best answer. More than one answer might be true, but choose the one that is best. SYSTEM STARTUP 1. A hard disk master boot record is located:

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

Commands are in black

Commands are in black Starting From the Shell Prompt (Terminal) Commands are in black / +--------+---------+-------+---------+---------+------ +------ +------ +------ +------ +------ +-- Bin boot dev etc home media sbin bin

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

CSCE 212H, Spring 2008, Matthews Lab Assignment 1: Representation of Integers Assigned: January 17 Due: January 22

CSCE 212H, Spring 2008, Matthews Lab Assignment 1: Representation of Integers Assigned: January 17 Due: January 22 CSCE 212H, Spring 2008, Matthews Lab Assignment 1: Representation of Integers Assigned: January 17 Due: January 22 Manton Matthews January 29, 2008 1 Overview The purpose of this assignment is to become

More information

Mills HPC Tutorial Series. Linux Basics I

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

More information

Course 144 Supplementary Materials. UNIX Fundamentals

Course 144 Supplementary Materials. UNIX Fundamentals Course 144 Supplementary Materials UNIX Fundamentals 1 Background to UNIX Command Fundamentals This appendix provides a overview of critical commands and concepts Prerequisite knowledge attendees should

More information

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering ENG224 Information Technology Part I: Computers and the Internet Laboratory 2 Linux Shell Commands and vi Editor

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 5 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 User Operating System Interface - CLI CLI

More information

Overview of the UNIX File System

Overview of the UNIX File System Overview of the UNIX File System Navigating and Viewing Directories Adapted from Practical Unix and Programming Hunter College Copyright 2006 Stewart Weiss The UNIX file system The most distinguishing

More information

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS)

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS) Manage Directories and Files in Linux Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change Directories and List Directory Contents Create and View

More information

Unix System Architecture, File System, and Shell Commands

Unix System Architecture, File System, and Shell Commands Unix System Architecture, File System, and Shell Commands Prof. (Dr.) K.R. Chowdhary, Director COE Email: kr.chowdhary@iitj.ac.in webpage: http://www.krchowdhary.com JIET College of Engineering August

More information

Introduction to Linux. Fundamentals of Computer Science

Introduction to Linux. Fundamentals of Computer Science Introduction to Linux Fundamentals of Computer Science Outline Operating Systems Linux History Linux Architecture Logging in to Linux Command Format Linux Filesystem Directory and File Commands Wildcard

More information

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

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

More information

LAB #7 Linux Tutorial

LAB #7 Linux Tutorial Gathering information: LAB #7 Linux Tutorial Find the password file on a Linux box Scenario You have access to a Linux computer. You must find the password file on the computer. Objective Get a listing

More information

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

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala Linux Training for New Users of Cluster Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala pakala@uga.edu 1 Overview GACRC Linux Operating System Shell, Filesystem, and Common

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

INF322 Operating Systems

INF322 Operating Systems Galatasaray University Computer Engineering Department INF322 Operating Systems TP01: Introduction to Linux Ozan Çağlayan ocaglayan@gsu.edu.tr ozancaglayan.com Fundamental Concepts Definition of Operating

More information

CS246 Spring14 Programming Paradigm Notes on Linux

CS246 Spring14 Programming Paradigm Notes on Linux 1 Unix History 1965: Researchers from Bell Labs and other organizations begin work on Multics, a state-of-the-art interactive, multi-user operating system. 1969: Bell Labs researchers, losing hope for

More information

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

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm Operating Systems Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net pk.linkedin.com/in/armahmood

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

IBM AIX Basic Operations V5.

IBM AIX Basic Operations V5. IBM 000-190 AIX Basic Operations V5 http://killexams.com/exam-detail/000-190 QUESTION: 122 Which of the following options describes the rm -i command? A. It removes and reports the file names it removes.

More information

Computer Systems and Architecture

Computer Systems and Architecture Computer Systems and Architecture Introduction to UNIX Stephen Pauwels University of Antwerp October 2, 2015 Outline What is Unix? Getting started Streams Exercises UNIX Operating system Servers, desktops,

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

Std: XI CHAPTER-3 LINUX

Std: XI CHAPTER-3 LINUX Commands: General format: Command Option Argument Command: ls - Lists the contents of a file. Option: Begins with minus sign (-) ls a Lists including the hidden files. Argument refers to the name of a

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

CST8207: GNU/Linux Operating Systems I Lab Six Linux File System Permissions. Linux File System Permissions (modes) - Part 1

CST8207: GNU/Linux Operating Systems I Lab Six Linux File System Permissions. Linux File System Permissions (modes) - Part 1 Student Name: Lab Section: Linux File System Permissions (modes) - Part 1 Due Date - Upload to Blackboard by 8:30am Monday March 12, 2012 Submit the completed lab to Blackboard following the Rules for

More information

National University of Computer and Emerging Sciences Operating System Lab - 02 Lab Manual

National University of Computer and Emerging Sciences Operating System Lab - 02 Lab Manual National University of Computer and Emerging Sciences Operating System Lab - 02 Lab Manual Objective This lab is all about running commands in Ubuntu Terminal and compiling C program in Ubuntu Table of

More information

Introduction to Linux

Introduction to Linux Introduction to Linux M Tech CS I 2015-16 Arijit Bishnu Debapriyo Majumdar Sourav Sengupta Mandar Mitra Login, Logout, Change password $ ssh, ssh X secure shell $ ssh www.isical.ac.in $ ssh 192.168 $ logout,

More information

UNIX Quick Reference

UNIX Quick Reference UNIX Quick Reference This card represents a brief summary of some of the more frequently used UNIX commands that all users should be at least somewhat familiar with. Some commands listed have much more

More information

Lab Working with Linux Command Line

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

More information

EECS2301. Lab 1 Winter 2016

EECS2301. Lab 1 Winter 2016 EECS2301 Lab 1 Winter 2016 Lab Objectives In this lab, you will be introduced to the Linux operating system. The basic commands will be presented in this lab. By the end of you alb, you will be asked to

More information

Exercise Sheet 2. (Classifications of Operating Systems)

Exercise Sheet 2. (Classifications of Operating Systems) Exercise Sheet 2 Exercise 1 (Classifications of Operating Systems) 1. At any given moment, only a single program can be executed. What is the technical term for this operation mode? 2. What are half multi-user

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

CHE3935. Lecture 1. Introduction to Linux

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

More information

Introduction of Linux

Introduction of Linux Introduction of Linux 阳 oslab2018_class1@163.com 寅 oslab2018_class2@163.com PART I Brief Introduction Basic Conceptions & Environment Install & Configure a Virtual Machine Basic Commands PART II Shell

More information

Introduction to Linux. Roman Cheplyaka

Introduction to Linux. Roman Cheplyaka Introduction to Linux Roman Cheplyaka Generic commands, files, directories What am I running? ngsuser@ubuntu:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu

More information

Lab 3a Using the vi editor

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

More information

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

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda Essential Unix and Linux! Perl for Bioinformatics, 140.636! F. Pineda Generic computer architecture Memory Storage Fig. 1.2 From Designing Embedded Hardware, 2 nd Ed. by John Catsoulis OS concepts Shell

More information

Basic Survival UNIX.

Basic Survival UNIX. Basic Survival UNIX Many Unix based operating systems make available a Graphical User Interface for the sake of providing an easy way for less experienced users to work with the system. Some examples are

More information

Overview of the UNIX File System. Navigating and Viewing Directories

Overview of the UNIX File System. Navigating and Viewing Directories Overview of the UNIX File System Navigating and Viewing Directories Copyright 2006 Stewart Weiss The UNIX file system The most distinguishing characteristic of the UNIX file system is the nature of its

More information

Linux Nuts and Bolts

Linux Nuts and Bolts Linux Nuts and Bolts David Morgan At the command line Cursor control type to insert del/ctrl-d to delete home/end for endpoints Filename completion tab after initial characters Command repetition uparrow

More information

Crash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book).

Crash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book). Crash Course in Unix For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix -or- Unix in a Nutshell (an O Reilly book). 1 Unix Accounts To access a Unix system you need to have

More information

List of Linux Commands in an IPm

List of Linux Commands in an IPm List of Linux Commands in an IPm Directory structure for Executables bin: ash cpio false ln mount rm tar zcat busybox date getopt login mv rmdir touch cat dd grep ls perl sed true chgrp df gunzip mkdir

More information

Getting Started. Running Utilities. Shells. Special Characters. Special Characters. Chapter 2 Unix Utilities for non-programmers

Getting Started. Running Utilities. Shells. Special Characters. Special Characters. Chapter 2 Unix Utilities for non-programmers Chapter 2 Unix Utilities for non-programmers Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003. Original Notes by Raj Sunderraman Converted to presentation

More information

Unix Handouts. Shantanu N Kulkarni

Unix Handouts. Shantanu N Kulkarni Unix Handouts Shantanu N Kulkarni Abstract These handouts are meant to be used as a study aid during my class. They are neither complete nor sincerely accurate. The idea is that the participants should

More information

Read the relevant material in Sobell! If you want to follow along with the examples that follow, and you do, open a Linux terminal.

Read the relevant material in Sobell! If you want to follow along with the examples that follow, and you do, open a Linux terminal. 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 information