introduction to linux its research computing university of north carolina at chapel hill...
Post on 20-Dec-2015
221 views
TRANSCRIPT
![Page 1: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/1.jpg)
Introduction to LinuxIntroduction to Linux
ITS Research Computing University of North Carolina at Chapel Hill
Instructors: Mark Reed, C.D. Poon Emails: [email protected], [email protected]
![Page 2: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/2.jpg)
its.unc.edu 2
Course Design and Logistics
Course Design and Logistics
Course Design:• Lecture – background & intro to commands (~30 min)
• Short Lab (~15 min)
• Lecture – commands in detail (~40 min)
• Final Lab (~35 min)
Lab is an integral part of course.
Please play along• learn by doing!
Please ask questions
Restrooms
Breaks
![Page 3: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/3.jpg)
its.unc.edu 3
OverviewOverview
Objectives
Operating Systems
History
Variations
User Interface
Commands
Conclusion
![Page 4: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/4.jpg)
its.unc.edu 4
ObjectivesObjectives
What this course is:
•An introduction to Linux hopefully to put it into a context for better understanding
•Gain the perspective to see what it is, what it can do, why use it
What this course isn’t:
•Just a list of Linux commands and what they do (although there will be plenty of that :)
•Not just to answer “How do I … ?”
![Page 5: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/5.jpg)
its.unc.edu 5
What is an OS (Operating
System)?
What is an OS (Operating
System)? The most important program
that runs on a computer Operating systems perform
basic tasks :• recognizing input from
keyboard and mouse• sending output to display
screen• keeping track of files and
directories on the disk• controlling peripheral devices
such as disk drives and printers
• networking, security, memory management, .......http://www.webopedia.com/TERM/o/operating_system.htm
![Page 6: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/6.jpg)
its.unc.edu 6
Examples of OS’sExamples of OS’s
DOS, MS-DOS
MS Windows (95, 98, NT, XP, Vista)
Linux (RedHat, SuSE, Ubuntu, ...)
Unix (Irix, Solaris, AIX, ...)
MacOS, MacOS X/Darwin
![Page 7: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/7.jpg)
its.unc.edu 7
History of Unix/LinuxHistory of Unix/Linux
Ken (seated) and Dennis (standing) at a PDP-11 in 1972.
1969 – First Unix was developed at AT&T Bell Labs by Ken Thompson and Dennis Ritchie.
1977 - First BSD was released, spurred in part by sabbatical at UC-Berkeley by Thompson.
![Page 8: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/8.jpg)
its.unc.edu 8
History of Unix/LinuxHistory of Unix/Linux
1991 - Linux was introduced by Linus Torvalds, a student in Finland, who posted to the comp.os.minix newsgroup with the words.
• Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. …
1993 – FreeBSD project was coordinated by Nate Williams, Rod Grimes, and Jordan Hubbard for running on 386 machines.
Linus Torvalds at LinuxWorld 1999
![Page 9: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/9.jpg)
its.unc.edu 9
History of Unix/Linux Cont’d
History of Unix/Linux Cont’d
The GNU (Gnu’s Not Unix) was an effort to develop free and open source applications.
Torvalds combined his kernel with GNU software from Richard Stallman (of emacs fame) and the Free Software Foundation and Linux was off and running.
Linux grows with contributions world-wide.
Richard Stallman
![Page 10: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/10.jpg)
its.unc.edu 10
Linux OverviewLinux Overview
Linux Features:
•Multi-tasking many programs
running
•Multi-usermany users on the
same machine at once
•Multi-platformruns on many
different processor types
![Page 11: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/11.jpg)
its.unc.edu 11
Variations on a Theme
Variations on a Theme
Two major branches of Unix
• AT&T System V
• BSD (Berkeley Software Distribution)
Lots of commercial Unix-like systems
• AIX (IBM), IRIX (SGI), HP-UX (HP), OpenSolaris (Sun), MacOS X, …
Linux is a Unix-like system free of proprietary software for which source code is available and freely distributed.
There are minor variations among these.
• much more alike than they are different
![Page 12: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/12.jpg)
its.unc.edu 12
Linux DistributionsLinux Distributions
There are many groups packaging Linux for distribution.• some freely available• others commercial
A partial listing (in no particular order):• Red Hat• CentOS• Ubuntu• Debian• SuSE• Fedora• and on and on … :)
![Page 13: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/13.jpg)
its.unc.edu 13
User InterfaceUser Interface
The user interacts with the OS by giving it commands. This interface is either via
• command line (e.g. through the shell)
• graphical user interface (GUI)
Don’t confuse the user interface to the OS w/ the OS itself (which does much more).
Most OS’s can do both, e.g. Linux typically uses the command line but Konqueror is a GUI for Linux (web browser, file manager, document viewer).
![Page 14: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/14.jpg)
its.unc.edu 14
ShellShell
The Command Line Interface (CLI) for Linux is through the shell.
This is the application (program) that interprets what you type and carries out your directions.
Common Shells:
• tcsh – exTended C SHell
• bash – Bourne Again SHell
• ksh – Korn SHell
• csh – C SHell (early popular shell)
• sh – the original shell, often a synonym for bash now
![Page 15: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/15.jpg)
its.unc.edu 15
OS as an OnionOS as an Onion
OS Modularization: •the kernel
•an interpreter
•and utilities
Heart of the OS
The User Interface to the OS
The Stuff you want the system to do
![Page 16: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/16.jpg)
its.unc.edu 16
Linux CommandsLinux Commands
Man pages Working with files and directories
•pwd, cd, ls, mkdir, rmdir, cp, mv, rm, scp, cat, more, less
Wildcards•*, ?, []
Permissions•chmod, chown, chgrp
Finding stuff•find, which, whereis, locate
![Page 17: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/17.jpg)
its.unc.edu 17
Linux Commands Cont'd
Linux Commands Cont'd
Packing and Unpacking stuff•tar, gzip, compress, gunzip, unzip, sort
Pipes and redirection•>, >>, <, |
Jobs and processes •ps, kill, pkill, ctrl-C, bg, ctrl-Z, &, fg, jobs
Quick and Easy: shortcuts and tricks of the trade•history, file completion, alias, environment
variables
![Page 18: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/18.jpg)
its.unc.edu 18
Some CaveatsSome Caveats
There’s always more than one way to do things under Linux.
These commands just cover some of the basics and the more useful options.
•the proverbial tip of the iceberg!! (not to worry, you’re not the Titanic :)
The man pages are your friend.
•Lean on them!!
![Page 19: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/19.jpg)
its.unc.edu 19
File System - Directory Structure
File System - Directory Structure
![Page 20: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/20.jpg)
its.unc.edu 20
Some fun unix-y quotes
Some fun unix-y quotes
linux: the choice of a GNU generation
"Unix is user-friendly. It's just very selective about who its friends are."
"The box said 'Required Windows 95 or better'. So, I installed LINUX."
“If you have any trouble sounding condescending, find a Unix user to show you how it's done.” - Scott Adams
![Page 21: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/21.jpg)
its.unc.edu 21
Some fun unix-y quotes
Some fun unix-y quotes
"The university computer system was better than no computer at all. But Randy was humiliated. Like every other high-powered academic computing network, this one was based on an industrial-strength operating system called UNIX, which had a learning curve like the Matterhorn, and lacked the cuddly and stylish features of the personal computers then coming into vogue.”
- Cryptonomicon by Neal Stephenson
![Page 22: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/22.jpg)
its.unc.edu 22
Commands in General(and a General Giving Commands :) Commands in General(and a General Giving Commands :)
Commands are case sensitive. Arguments typically are given with
a dash “-”.• multiple arguments usually only
require the leading dash Commands are programs or
applications that the user invokes. The system finds the command by
• specifying the full path
• shell built in commands
• looking in all directories in your PATH, typically this includes /bin, /usr/bin, … (but maybe not “.”)
Eisenhower on D-Day
![Page 23: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/23.jpg)
its.unc.edu 23
man – Manual man – Manual
man <command>
man formats and prints the online manual pages
-k keyword search
•do keyword search for applicable man pages (same as the apropos command) in the whatis database
Note on the man pages that arguments that appear in square brackets […] are optional
Use these early and often
![Page 24: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/24.jpg)
its.unc.edu 24
more manmore man
Options at the prompt: (the “more” command options)• h - help
• spacebar – scroll forward one screen
• <CR> - scroll forward 1 line (can change this to be whatever number of lines you wish)
• b – back, go back a screen (does not work w/ all mores)
• q – quit
• /<regexp> - search for regular expression To find out lots and lots about the shell:
• man tcsh
• man bash
• man ksh Browse them for what you need, no need to read them
cover to cover (unless you want to feed your inner geek :)
![Page 25: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/25.jpg)
its.unc.edu 25
Working with Files and Directories
Working with Files and Directories
![Page 26: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/26.jpg)
its.unc.edu 26
pwd – Print Working Directory
pwd – Print Working Directory
“pwd” displays the full absolute path to your current location in the filesystem.
• Absolute paths (/…)
• Relative paths (../work/…, bin/…)
“.” dot always refers to your current directory
“..” dot-dot always refers to your parent directory (i.e. the one “above” you in the directory hieararchy)
emerald% pwd/afs/isis.unc.edu/home/c/d/cdpoonemerald%
![Page 27: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/27.jpg)
its.unc.edu 27
cd – Change Directorycd – Change Directory
cd <path>
Changes your current working directory to path (which can either an absolute or relative path).• a common relative paths to use is '..' (i.e. the parent
directory of the current dir)
cd • by itself changes to your home directory
cd – • returns to previous directory
cd ~/projectA/run• ~ is a shortcut for your home directory
![Page 28: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/28.jpg)
its.unc.edu 28
cd Examplecd Example
emerald% pwd/afs/isis.unc.edu/home/c/d/cdpoonemerald% cd /etcemerald% pwd/etcemerald% cdemerald% pwd/afs/isis.unc.edu/home/c/d/cdpoonemerald% cd -emerald% pwd/etcemerald% cd ..emerald% pwd/emerald%
![Page 29: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/29.jpg)
its.unc.edu 29
ls – List ls – List
ls - lists the contents of a directory. •If no target is given, then the contents of
the current working directory are displayed.
By default “ls” doesn't show you all the entries in a directory - files and directories that begin with a dot (.) are hidden (including '.' and '..' which are always present). •The reason for this is that files that begin
with a “.” usually contain important configuration information and should not be changed under normal circumstances.
![Page 30: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/30.jpg)
its.unc.edu 30
ls – Useful Optionsls – Useful Options
ls –a, show all files (or –A, exclude ., ..)
ls –l, long listing
• shows properties such as the size, type and ownership of files
ls –t, sort by time
ls –d, list directory name, not contents
ls –h, human readable file sizes
ls –F, classify, appends symbol indicating type
• these can be combined, “ls -a –l -h” (or, equivalently) “ls -alh “
![Page 31: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/31.jpg)
its.unc.edu 31
ls -alls -al
ls -al (list directory with hidden files/directories in long listing)
The command, ls -al, lists the contents of a directory including the hidden file/directory names starting with "." in a long listing.
emerald% ls -altotal 1096drwxr-xr-x 27 root root 4096 2008-03-24 14:30 ./drwxr-xr-x 27 root root 4096 2008-03-24 14:30 ../drwxr-xr-x 2 root root 2048 2003-05-05 14:04 afs/-rw-r--r-- 1 root root 0 2008-03-24 14:30 .autofsck...emerald%
![Page 32: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/32.jpg)
its.unc.edu 32
ls –l - List Content in Long Form
ls –l - List Content in Long Form
The command, ls -l, lists the contents of a directory in long listing.
![Page 33: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/33.jpg)
its.unc.edu 33
mkdir - Make Directory
mkdir - Make Directory
mkdir <New_Directory>
Creates a subdirectory called New_Directory in the current working directory. You can only create subdirectories in a directory for which you have write permission.
-p option
•creates parent directories as needed, e.g. mkdir –p myprojects/projA/example2/test
![Page 34: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/34.jpg)
its.unc.edu 34
mkdir Examplemkdir Example
The command, mkdir, makes directories.
emerald% cdemerald% pwd/afs/isis.unc.edu/home/c/d/cdpoonemerald% alias lsls -Femerald% lsDesktop/ intel/ nsmail/ private/ public_html/dumpster/ ms@ OldFiles/ public/ temp/emerald% mkdir new_diremerald% lsDesktop/ intel/ new_dir/ OldFiles/ public/ temp/dumpster/ ms@ nsmail/ private/ public_html/emerald%
![Page 35: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/35.jpg)
its.unc.edu 35
rmdir/rm -r – Remove Directory
rmdir/rm -r – Remove Directory
rmdir <uselessDirectory>
removes the subdirectory directory from the current working directory. You can only remove subdirectories if they are completely empty (i.e. of all entries besides the '.' and '..' directories).
Use “rm –r” to remove directories and contents in one step
![Page 36: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/36.jpg)
its.unc.edu 36
Lab ExercisesLab Exercises
Please try out all or some of the exercises that follow to get your feet wet. Then try the “Treasure Hunt” which we hope you’ll enjoy!
Accounts: Use any Linux machine you have access to, such as emerald.unc.edu OR
Use the VCL! There is an image for classroom use in the Virtual Computing Lab with data files already installed• go to vcl.unc.edu• click “New Reservation” on the menu on the left• select “RC Class Image” from the drop down menu• select “Now” for the time and “2 hours” for Duration• click “Create Reservation”• use the password and IP address to ssh to the
machine.
![Page 37: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/37.jpg)
its.unc.edu 37
Remote Login (Linux to Linux)
Remote Login (Linux to Linux)
A secure shell is a program for logging into a remote machine providing encrypted communications between the machines:
ssh [options] machine
options:• -l login name (or use ssh login@machine)
• -X sets environment variables for porting X-display,
• -Y similar to -X, required for some programs.
Example: ssh emerald.isis.unc.edu –l cdpoon
or ssh [email protected]
ssh emerald –X –l cdpoon
![Page 38: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/38.jpg)
its.unc.edu 38
Connecting to a Linux system(e.g. Emerald) from This Lab
Connecting to a Linux system(e.g. Emerald) from This Lab
Using ssh, login to Emerald, full name is emerald.isis.unc.edu. To start ssh:
•Start->Programs->Remote Services ->SecureCRT 5.<x>
•Click the Quick Connect icon at the top.
•Hostname: emerald.isis.unc.edu
•Login with your ONYEN and password
![Page 39: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/39.jpg)
its.unc.edu 39
Exercise 1Exercise 1
1. Start up a terminal application (SecureCRT, F-Secure SSH Client, etc.) .
2. Log on a Linux machine (Emerald, Topsail, etc.) with your ONYEN and password.
3. 3. Enter the commands on the right at the prompt, hit "enter", and try to interpret the output.
4. Ask questions.
• echo hello world• date• hostname• whoami• who am i• who• clear• history• cal 2008• pwd• echo $SHELL
![Page 40: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/40.jpg)
its.unc.edu 40
Exercise 2Exercise 2
1. Enter the commands in sequence on the right at the prompt, hit "enter", and try to interpret the output.
2. Encounter error, check out why.
cdpwdcd /etcpwd
cd /ls -alls -l
cdmkdir temp_dircd temp_dirmkdir temp_subdircdls -lls -l temp*rmdir temp_dirrm -r temp_dir
![Page 41: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/41.jpg)
its.unc.edu 41
WildcardsWildcards
![Page 42: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/42.jpg)
its.unc.edu 42
WildcardsWildcards
Multiple filenames can be specified using special pattern-matching characters. The rules are:
• '?' matches any single character in that position in the filename
• '*' matches zero or more characters in the filename.
• ‘[…]’ Characters enclosed in square brackets match any name that has one of those characters in that position
Note that the UNIX shell performs these expansions before the command is
executed.
![Page 43: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/43.jpg)
its.unc.edu 43
Wildcard ExamplesWildcard Examples
climate.0[6-8].*.dat • get only months Jun-Aug (ie. 6-8) for all years
clim*2001*• get only climate files for year 2001
*.??.*• only files that have 2 characters between dots
Given:
climate.01.2000.dat climate.06.2000.dat climate.07.2000.dat climate.12.2000.datclimate.02.2000.dat climate.06.2001.dat climate.08.2000.dat climate.total.dat climate.03.2000.dat climate.06.2002.dat climate.09.2000.dat Climate.txtclimate.04.2000.dat climate.06.2003.dat climate.10.2000.dat seasonal.2000.datclimate.05.2000.dat climate.06.2004.dat climate.11.2000.dat seasonal.2001.dat
![Page 44: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/44.jpg)
its.unc.edu 44
cp - Copycp - Copy
cp <source-file(s)> <destination> “cp” copy files or entire directories <source-file(s)> and <destination>
specify the source and destination of the copy respectively.
To copy entire directories (including their contents), use a recursive copy: •cp -r source-directories destination-
directory
•This copies all files in all subdirectories below source.
![Page 45: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/45.jpg)
its.unc.edu 45
mv – Move/Renamemv – Move/Rename
mv <source> <destination>
“mv” is used to rename files/directories and/or move them from one directory into another.
By default the destination will be silently overwritten by source.
-i option for interactive
•this will prompt you before overwriting a file
![Page 46: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/46.jpg)
its.unc.edu 46
rm - Removerm - Remove
rm <target-file(s)>
Removes specified files. Works as advertised, it really removes the file, there is no backup file or undelete option.
-i for interactive
• use this to be prompted before deletion
-r for recursive
• removes directories, subdirectories and their contents (files).
-f for force
• removes w/o prompting
![Page 47: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/47.jpg)
its.unc.edu 47
scp – Secure Copy scp – Secure Copy
“scp” is commonly used to copy files between any 2 hosts on a network using the ssh protocol.• commonly used to securely upload/download
your files from your home machine to desired machine
Format:• scp [options] <host:file1> <host:file2>• form of host may be login@host (default login is
your current login)• the “host:” is omitted if the target machine is the
one you are on• file path is relative to your home directory
Options:• -r recursive (used for directories)
![Page 48: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/48.jpg)
its.unc.edu 48
cat – Concatenatecat – Concatenate
cat <target-file(s)>
displays the contents of target-file(s) to standard out (typically your screen) one after the other
useful for combining files together
more and less are better to just display file content
![Page 49: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/49.jpg)
its.unc.edu 49
more and lessmore and less
more <target-file(s)> “more” displays the contents of target-
file(s) on the screen, pausing at the end of each screenful and asking the user to press a key (useful for long files).
“less” is just like more, except that has a few extra features (such as allowing users to scroll backwards and forwards through the displayed file). •not a standard utility, therefore may not
be present on all UNIX systems
![Page 50: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/50.jpg)
its.unc.edu 50
More of more and less
More of more and less
Options at the prompt:
•h - help
•spacebar – scroll forward one screen
•<CR> - scroll forward 1 line (can change this to be whatever number of lines you wish)
•b – back, go back a screen (does not work w/ all mores)
•q – quit
•/<regexp> - search for regular expression
![Page 51: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/51.jpg)
its.unc.edu 51
head and tailhead and tail
head and tail display the first and last 10 lines in a file respectively. You can change the number of lines as an option, e.g.
$ tail -n20 messages.txt $ head -n5 messages.txt
tail includes a useful -f option that can be used to continuously monitor the last few lines of a (possibly changing) file. This can be used to monitor log files, for example:
• tail -f /var/log/messages
![Page 52: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/52.jpg)
its.unc.edu 52
PermissionsPermissions
![Page 53: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/53.jpg)
its.unc.edu 53
chmod – Change Mode
chmod – Change Mode
chmod <options> <files> Used to change permissions on files. “chmod” accepts options in two forms
•a sequence of 3 octal digits (see man page for details)
•symbolically, using the symbols u (user), g (group), o (other), a (all), r (read), w (write), x (execute), + (add permission), - (take away permission) and = (assign permission).
-R recursive•apply to this directory and all entries below it
![Page 54: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/54.jpg)
its.unc.edu 54
<flashback> ls -l<flashback> ls -l
The command, ls -l, lists the contents of a directory in long listing.
![Page 55: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/55.jpg)
its.unc.edu 55
chmod – Change File Permissions
chmod – Change File Permissions
For example, the command:
• chmod ug=rw,o-rw,a-x *.txt
• sets the permissions on all files ending in *.txt to rw-rw---- (i.e. the owner and users in the file's group can read and write to the file, while others do not have any access).
• X is useful to give execute permission only to files which are already executable.
Note that execute permission is required to “cd” into a directory
To share files with others (e.g. RC support)
• chmod –R a+rX <my_directory>
![Page 56: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/56.jpg)
its.unc.edu 56
chown – Change Owner
chown – Change Owner
chown <owner> <files>
can be used to change the owner that a file or directory belongs to
-R recursive
•recursively change owners
![Page 57: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/57.jpg)
its.unc.edu 57
chgrp – Change Groupchgrp – Change Group
chgrp <group> <files>
Can be used to change the group that a file or directory belongs to.
-R recursive
•recursively change groups
![Page 58: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/58.jpg)
its.unc.edu 58
Where did I put my keys???finding stuff …
Where did I put my keys???finding stuff …
![Page 59: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/59.jpg)
its.unc.edu 59
findfind
Search for files in the directory hierarchy
find <dir> -name <targetfile> [-print]
• starting in dir, look for targetfile and print out the location (i.e. full path). The –print is not required in Linux
“find” is a very powerful command with many options, please see the man page (or info find).
“find” can find files in many different ways, e.g. by type, by permissions, by size, by age, by modification time, by age relative to another file, …
![Page 60: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/60.jpg)
its.unc.edu 60
findfind
You can also execute commands on the files you find using the -exec option.
find . -name "*.txt" -exec wc -l '{}’ \;
“wc –l” counts the number of lines in every .txt file in and below the current directory. The '{}' is replaced by the name of each file found and the ';' ends the -exec clause.
To keep the shell from expanding or removing characters, escape them using quotes (“ ”, ‘ ’, or \ )
![Page 61: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/61.jpg)
its.unc.edu 61
locatelocate
locate <pattern>
Find files by name
•searches for *pattern* unless wildcards have been used
Faster than find because it searches a database that has been pre-prepared
•only as accurate as the last db update
-i ignore case
•case insensitive search
![Page 62: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/62.jpg)
its.unc.edu 62
which and whereiswhich and whereis
If you can execute an application program or system utility by typing its name at the shell prompt, you can use which to find out where it is stored on the system. This is useful if there are multiple commands with the same name (or perhaps aliases or shell built-ins)
“whereis” looks in standard places (but not everywhere!) for binaries, sources and man pages
![Page 63: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/63.jpg)
its.unc.edu 63
Organizing, Arranging, Packing
Organizing, Arranging, Packing
![Page 64: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/64.jpg)
its.unc.edu 64
tar – Tape ARchivetar – Tape ARchive
Name is misleading and dates back to when it was used mainly for tapes
Now tar is mostly used to collect together sets of files and directory trees into a single file, which is usually called a “tar file” and by convention ends with the extension .tar
This archive, or tar file, is a file that contains other files plus information about them, such as their filename, owner, timestamps, and access permissions
This allows collections of files to be moved around, shared, or transported easily by simply manipulating the single tar file
![Page 65: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/65.jpg)
its.unc.edu 65
tartar
tar <operation> [options] <file(s)> Typical operations
•-c – create
•-x – extract
•-t – list Some options:
•-v verbose
•-z filter through gzip
•-f <thisfile> use file thisfile
![Page 66: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/66.jpg)
its.unc.edu 66
tar Examplestar Examples
Create an archive by tarring up everything in the myproject mydata and mysrc directories• tar -cvf myproject.tar myproject mydata mysrc.tar
Note: it is usually much better to use relative directory paths s.t. there are no issues with file permissions when untarring the file
List contents of a tar archive• tar -tvf ncarData.tar
Extract data from the archive• tar -xvf ncarData.tar
Unzip and untar in one step (note by convention these files usually end with the extension .tar.gz or more commonly, .tgz)• tar -xzf ncarData.tgz
• tar -xzf ncarData.tar.gz
![Page 67: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/67.jpg)
its.unc.edu 67
compress and gzipcompress and gzip
“compress” and “gzip” (gnu zip) are utilities for compressing and decompressing individual files (which may be or may not be archive files).
compress <thisfile>
• thisfile is replaced with the compressed file called thisfile.Z
• use uncompress <thisfile.Z> to restore
gzip <thisfile>
• thisfile is replaced with the compressed file called thisfile.gz
• use gunzip or “gzip –d” to restore
![Page 68: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/68.jpg)
its.unc.edu 68
sortsort
sort <filenames>
Sort lines contained in a group of files alphabetically, writes to standard output unless “-o” is used.
Very useful when combined with other commands (see pipes).
A few useful Options:
• -r, --reverse
• -n, --numeric-sort
• -k, --key=<pos1> [,<pos2>] (older syntax is +<pos1> …)
![Page 69: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/69.jpg)
its.unc.edu 69
Pipes and RedirectionPipes and Redirection
![Page 70: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/70.jpg)
its.unc.edu 70
RedirectionRedirection
output from programs
• usually written to the screen
• referred to as standard output (stdout)
input for programs
• usually comes from the keyboard (if no file arguments are given
• referred to as standard input (stdin)
error messages from processes go to another output channel
• usually written to the screen
• referred to as standard error (stderr)
![Page 71: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/71.jpg)
its.unc.edu 71
Pipes and RedirectionPipes and Redirection
You start to experience the power of Unix when you combine simple commands together to perform complex tasks.
Most (all?) Linux commands can be piped together.
Use “-” as the value for an argument to mean “read this from standard input”.
![Page 72: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/72.jpg)
its.unc.edu 72
Redirection and PipesRedirection and Pipes
> redirects stdout
>> append stdout
< redirects stdin
stderr varies by shell, use & in tcsh/csh and use 2> in bash/ksh/sh
| pipes (connects) stdout of one command to stdin of another
command
![Page 73: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/73.jpg)
its.unc.edu 73
Redirection and Pipe Examples
Redirection and Pipe Examples
cat file1 file2 file3 > file_all
cat file2 file3 >> file1
bsub < job.lsf
ls –lt *| more
cat a.tar.gz | gunzip | tar –xvf -
![Page 74: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/74.jpg)
its.unc.edu 74
Jobs and ProcessesJobs and Processes
![Page 75: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/75.jpg)
its.unc.edu 75
ps – Process Statusps – Process Status
Snapshot of current processes In particular you want to know the pid
• pid = process id
Many options• varies somewhat with Unix flavors
• you can customize the output if desired
ps –u <my_onyen>• show all processes owned by my_onyen
ps –elf • show all processes in long format
![Page 76: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/76.jpg)
its.unc.edu 76
kill, pkill, ctrl-Ckill, pkill, ctrl-C
ctrl-C• to kill a process running that hasn’t returned
kill <pid>• kill processes with the TERM signal
kill -9 <pid>• kill processes with the KILL signal (stronger form)
pkill <name>• looks up process based on name or other attribute
(not in all Unixes)
You can only kill processes you own (unless of course you are root).
![Page 77: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/77.jpg)
its.unc.edu 77
bg, fg, ctrl-Z, &bg, fg, ctrl-Z, &
To run a job in the background, just end the command with “&”. This allows the job to run and the shell will return control to the user (recall Linux is innately multiprocess).
•myLongRunningJob &
If a job is already running and you want to interrupt it and put it in the background use ^Z (control-Z) and bg.
to return a job to the foreground, use fg.
![Page 78: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/78.jpg)
its.unc.edu 78
jobsjobs
The jobs command shows all processes running in the background
Use fg %n to move job n to the foreground
•fg by itself will foreground the default job
Kill %n will kill job n
Example:
% jobs[1] + Running OracleCalendar/bin/ocal[2] - Running emacs[3] Running mulberry
![Page 79: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/79.jpg)
its.unc.edu 79
Tips and TricksTips and Tricks
![Page 80: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/80.jpg)
its.unc.edu 80
history – tcshhistory – tcsh
Set the variables
• history – no. of events saved within a session
• savehist – no. of events saved between sessions
History – issued as a cmd, shows the history list
Use ^p, ^n to page through history or the up/down arrow keys (p=previous, n=next).
Even easier, start typing a command, use meta-p, meta-n (or up and down arrow) to page through the history list and match on what has been typed so far.
• the meta key is usually the ESCape key
![Page 81: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/81.jpg)
its.unc.edu 81
historyhistory
You can interactively edit the command line to modify the previous command as needed.
•vi and emacs bindings are available, e.g. the emacs ctrl-a and ctrl-e to go to beginning/end of line are very useful
The old ! csh style is available but why inflict this pain on yourself?
To paraphrase Santayana:Those who don’t use history are condemned to repeat it (their typing, that is : )
![Page 82: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/82.jpg)
its.unc.edu 82
history – bashhistory – bash
Set the variables
•HISTSIZE – no. of events saved w/i a session
•HISTFILESIZE – no. of events saved b/w sessions
The rest works much like tcsh except it does not have the searching using the meta keys (a big drawback IMHO).
•caveat: I’m not a bash user so maybe there are redeeming features to it
![Page 83: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/83.jpg)
its.unc.edu 83
File CompletionFile Completion
To avoid typing mistakes, use file completion. The <tab> character will complete up until the next non-unique character
tcsh:
• ^d shows you all possible completions
• “set autolist” will show you completions automatically (put this in your .cshrc)
bash:
• a second <tab> shows all possible completions
![Page 84: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/84.jpg)
its.unc.edu 84
aliasalias
“alias” allows you to create shortcuts for commonly used command.
You can pass arguments to “alias”.
“alias” by itself will show all currently (i.e. in the shell you are in) defined aliases.
examples:
• alias ls ‘ls –CFA’
• alias lm ‘ls –lt | more’
• alias h history
![Page 85: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/85.jpg)
its.unc.edu 85
Environment Variables
Environment Variables
Used by many applications.
Can be modified by the user.
Customize the runtime behavior for applications (including the shell).
You can save them in a special file called a resource file.
PATH is one you are already familiar with
To see what is set in your shell, try any of these:
• printenv
• env
![Page 86: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/86.jpg)
its.unc.edu 86
Linux: The Good, The Bad, and The Ugly
Linux: The Good, The Bad, and The Ugly
Good (lots)• powerful, efficient, secure, stable,
widespread, free, developer-friendly, fast, extensible, customizable
Bad (depends on user)• UI needs work, poor plug-n-play support, help
may be hard to find (if no one you know uses it), fewer commercial applications, you have to read :)
Ugly (sometimes)• find . –name \*\.\[cCfF\] –exec /bin/ls -1F –l {} {}\;
| sort –nr –k5
• arcane syntax!
finds source code and sorts by size
![Page 87: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/87.jpg)
its.unc.edu 87
For More InformationFor More Information
“Linux is an oral tradition.”
man pages, man pages, man pages
“info” command
Take the Linux: Intermediate course!
Search the web
Lots of books available We used some material from:
http://www.doc.ic.ac.uk/~wjk/UnixIntro/index.html
![Page 88: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/88.jpg)
its.unc.edu 88
Exercise 3Exercise 3
1. These are OS related commands to know more about what is going on with the system.
2. Type the command at the prompt and hit "Enter" to see what they do.
• uptime• top• man ls• man who• history• hostname• arch• top
![Page 89: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/89.jpg)
its.unc.edu 89
Exercise 4Exercise 4
1. Enter the commands on the right in sequence at the prompt, hit "enter", and try to interpret the output.
2. Encounter error, check out why.
cdpwdcp /etc/motd .cat motdmkdir new_dirmv motd new_dircat motdcd new_dircat motdcdrm -r new_dir
more /etc/motdhead /etc/motdtail /etc/motdhead -n10 /etc/motdhead -n20 /etc/motdtail -n10 /etc/motdtail -n20 /etc/motd
![Page 90: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/90.jpg)
its.unc.edu 90
Exercise 5Exercise 5
1. Enter the commands on the right at the prompt, hit "enter", and try to interpret the output.
2. Encounter error, check out why.
find /usr/include -name "*.h"find /usr/include -name "*.h" | wc -lfind /usr/include/curl -name "*.h"find /usr/include/curl
-name "*.h" -exec wc -l '{}' \;
which tail
which date
whereis tail
whereis date
![Page 91: Introduction to Linux ITS Research Computing University of North Carolina at Chapel Hill Instructors: Mark Reed, C.D. Poon Emails: markreed@unc.edu, cdpoon@unc.edu](https://reader036.vdocuments.us/reader036/viewer/2022062308/56649d445503460f94a20d19/html5/thumbnails/91.jpg)
its.unc.edu 91
Exercise 6Exercise 6
1. Enter the commands on the right in sequence at the prompt, hit "enter", and try to interpret the output.
2. Encounter error, check out why.
cdmkdir tar_dircd tar_direcho hello world > file1echo tar heel > file2echo UNC-CH > file3cat file1 file2 file3 > file4ls -lcdtar -cvf tar_dir.tar tar_dirrm -r tar_dirls -ltar -xvf tar_dir.tarls -l