the unix shell - software carpentry$$$$ ls -f bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg...
TRANSCRIPT
-
Files and Directories
The Unix Shell
Files and Directories
Copyright © Software Carpentry 2010
This work is licensed under the Creative Commons Attribution License
See http://software-carpentry.org/license.html for more information.
-
Run
Programs
Store
Data
Files and Directories Introduction
Communicate
with each other
Interact
with us
-
Run
Programs
Store
Datashell
Files and Directories Introduction
Communicate
with each other
Interact
with us
-
Store
Datashell
Files and Directories Introduction
-
Store
Datashell
Files and Directories Introduction
file system
-
Store
Datashell
Files and Directories Introduction
file system
files
-
Store
Datashell
Files and Directories Introduction
file system
files directories
-
Store
Datashell
Use the shell
Files and Directories Introduction
file system
files directories
Use the shell
to view and change
the file system
-
Store
DatashellUse the shell
to run commands
Files and Directories Introduction
file system
files directories
to run commands
to view what's in
the file system
-
login:login:login:login:
Files and Directories Introduction
-
login:login:login:login: computer prompt in bold
Files and Directories Introduction
-
login:login:login:login: computer prompt in bold
explanatory text in blueexplanatory text in blue
Files and Directories Introduction
-
login:login:login:login: vlad user input in green
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ******** password
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ shell prompt
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ shell prompt
like Python's >>> and …like Python's >>> and …
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami check user ID
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami check user ID
shell finds the whoami programshell finds the whoami program
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami check user ID
shell finds the whoami programshell finds the whoami program
runs it
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
check user ID
shell finds the whoami programvlad shell finds the whoami program
runs it
prints its output
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
check user ID
shell finds the whoami programvlad
$$$$
shell finds the whoami program
runs it
prints its output
displays a new prompt
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladvlad
$$$$ pwd what is the working directory
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladvlad
$$$$ pwd what is the working directory
the directory used when no other
directory is explicitly specified
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladvlad
$$$$ pwd
/users/vlad
$$$$
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
root
vlad
$$$$ pwd
/users/vlad
$$$$
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users tmp
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users tmp
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users tmp
imhotep larry vlad
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users tmp
imhotep larry vlad
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users tmp
imhotep larry vlad
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vlad
/
root
vlad
$$$$ pwd
/users/vlad
$$$$
bin data users tmp
imhotep larry vlad
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladvlad
$$$$ pwd
/users/vlad
$$$$ ls stands for "listing"
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladvlad
$$$$ pwd
/users/vlad
$$$$ ls stands for "listing"
sadly more memorable than
most command names
Files and Directories Introduction
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladvlad
$$$$ pwd
/users/vlad
$$$$ ls
bin data mail music
notes.txt papers pizza.cfg solar
solar.pdf swc
Files and Directories Introduction
solar.pdf swc
$$$$
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladan argument or flag modifying
vlad
$$$$ pwd
/users/vlad
$$$$ ls -F
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
an argument or flag modifying
the command's behavior
Files and Directories Introduction
solar.pdf swc/
$$$$
-
login:login:login:login: vlad
password:password:password:password: ********
$$$$ whoami
vladadds a trailing '/' to
vlad
$$$$ pwd
/users/vlad
$$$$ ls -F
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
adds a trailing '/' to
directory names
Files and Directories Introduction
solar.pdf swc/
$$$$
-
$$$$ ls -F
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/solar.pdf swc/
vlad
bin musicmail papersdata notes.txt
Files and Directories Introduction
solarpizza.cfg solar.pdf swc
-
$$$$ ls -F
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/solar.pdf swc/
By convention, use filename extension to indicate file type
Files and Directories Introduction
-
$$$$ ls -F
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/solar.pdf swc/
By convention, use filename extension to indicate file type
.txt for text, .pdf for PDF, .cfg for configuration file, etc.
Files and Directories Introduction
-
$$$$ ls -F
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/solar.pdf swc/
By convention, use filename extension to indicate file type
.txt for text, .pdf for PDF, .cfg for configuration file, etc.
But this is only a convention, not a guarantee
Files and Directories Introduction
-
$$$$ ls –F data
Files and Directories Introduction
-
$$$$ ls –F data
amino_acids.txt elements/ morse.txt
pdb/ planets.txt sunspot.txt
$$$$$$$$
Files and Directories Introduction
-
$$$$ ls –F data
amino_acids.txt elements/ morse.txt
pdb/ planets.txt sunspot.txt
$$$$
vlad
data
a relative path
$$$$
Files and Directories Introduction
-
$$$$ ls –F data
amino_acids.txt elements/ morse.txt
pdb/ planets.txt sunspot.txt
$$$$
vlad
data
a relative path
relative to
current working directory
$$$$
Files and Directories Introduction
-
$$$$ ls –F /data
access.log backup/ hardware.cfg
network.cfg
$$$$$$$$
Files and Directories Introduction
-
$$$$ ls –F /data
access.log backup/ hardware.cfg
network.cfg
$$$$
an absolute path
$$$$
Files and Directories Introduction
-
$$$$ ls –F /data
access.log backup/ hardware.cfg
network.cfg
$$$$
an absolute path
leading '/' means "from root"
$$$$
Files and Directories Introduction
-
$$$$ ls –F /data
access.log backup/ hardware.cfg
network.cfg
$$$$
bin data users tmp
/
an absolute path
leading '/' means "from root"
so it always refers to
this directory
$$$$
Files and Directories Introduction
imhotep larry vlad
-
$$$$ pwd
/users/vlad
$$$$
Files and Directories Introduction
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$
Files and Directories Introduction
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data
Files and Directories Introduction
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data change directory
Files and Directories Introduction
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
change directory
actually doesn't change the directory
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data
Files and Directories Introduction
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
change directory
actually doesn't change the directory
changes the shell's idea of
which directory we are in
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data
Files and Directories Introduction
which directory we are in
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data
$$$$ pwd
/users/vlad/data
$$$$
Files and Directories Introduction
$$$$
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data
$$$$ pwd
/users/vlad/data
$$$$ ls
Files and Directories Introduction
$$$$ ls
amino_acids.txt elements/ morse.txt
pdb/ planets.txt sunspot.txt
$$$$
-
$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
because we're now "in"
this directory
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ cd data
$$$$ pwd
/users/vlad/data
$$$$ ls
Files and Directories Introduction
$$$$ ls
amino_acids.txt elements/ morse.txt
pdb/ planets.txt sunspot.txt
$$$$
-
$$$$ pwd
/users/vlad/data
$$$$
Files and Directories Introduction
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
Files and Directories Introduction
-
$$$$ pwd
/users/vlad/data
$$$$ cd .. the directory above the current one
Files and Directories Introduction
-
$$$$ pwd
/users/vlad/data
$$$$ cd .. the directory above the current one
its parent directoryits parent directory
Files and Directories Introduction
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$
Files and Directories Introduction
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$
Files and Directories Introduction
$$$$
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ ls -F -a
Files and Directories Introduction
$$$$ ls -F -a
./ ../ bin/ data/
mail/ music/ notes.txt papers/
pizza.cfg solar/ solar.pdf swc/
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ ls -F -a
"show all"
Files and Directories Introduction
$$$$ ls -F -a
./ ../ bin/ data/
mail/ music/ notes.txt papers/
pizza.cfg solar/ solar.pdf swc/
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ ls -F -a
parent directory
Files and Directories Introduction
$$$$ ls -F -a
./ ../ bin/ data/
mail/ music/ notes.txt papers/
pizza.cfg solar/ solar.pdf swc/
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ ls -F -a
parent directory
Files and Directories Introduction
$$$$ ls -F -a
./ ../ bin/ data/
mail/ music/ notes.txt papers/
pizza.cfg solar/ solar.pdf swc/
/users
-
$$$$ pwd
/users/vlad/data
$$$$ cd ..
$$$$ pwd$$$$ pwd
/users/vlad
$$$$ ls
bin/ data/ mail/ music/
notes.txt papers/ pizza.cfg solar/
solar.pdf swc/
$$$$ ls -F -a
this directory
itself
Files and Directories Introduction
$$$$ ls -F -a
./ ../ bin/ data/
mail/ music/ notes.txt papers/
pizza.cfg solar/ solar.pdf swc/
itself
-
Things are different on Windows
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Drive letter
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Drive letter
Each drive is a separate file system
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Backslash \ as separator
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Backslash \ as separator
Unix uses \ to escape special characters
in names like my\ files.txt
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Case insensitive
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Case insensitive
c:\users\vlad C:\USERS\VLAD C:\uSeRs\VlAd
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Cygwin: /cygdrive/c/Users/vlad
Map drive letters to "directories"
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Cygwin: /cygdrive/c/Users/vlad
Map drive letters to "directories"
And use / instead of \
Files and Directories Introduction
-
Things are different on Windows
C:\Users\vlad
Cygwin: /cygdrive/c/Users/vlad
Map drive letters to "directories"
And use / instead of \
Files and Directories Introduction
But still case insensitive
-
Things are different on Windows
C:\Users\vlad
Cygwin: /cygdrive/c/Users/vlad
Map drive letters to "directories"
And use / instead of \
Files and Directories Introduction
But still case insensitive
Can't put backup.txt and Backup.txt in a directory
-
pwd print working directory
cd change working directory
ls listingls listing
. current directory
.. parent directory
Files and Directories Introduction
-
August 2010
created by
Greg Wilson
August 2010
Copyright © Software Carpentry 2010
This work is licensed under the Creative Commons Attribution License
See http://software-carpentry.org/license.html for more information.