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 Store Programs Data
Communicate Interact with each other with us
Files and Directories Introduction Run Store Programs shell Data
Communicate Interact with each other with us
Files and Directories Introduction Store shell Data
Files and Directories Introduction Store shell Data
file system
Files and Directories Introduction Store shell Data
files
Files and Directories Introduction Store shell Data
file system
files directories
Files and Directories Introduction Store shell Data Use the shell file system to view and change the file system files directories
Files and Directories Introduction Store Use the shell shell Data to run commands file system to view what's in the file system files directories
Files and Directories Introduction login:
Files and Directories Introduction login: computer prompt in bold
Files and Directories Introduction login: computer prompt in bold
explanatory text in blue
Files and Directories Introduction login: vlad user input in green
Files and Directories Introduction login: vlad password: ******** password
Files and Directories Introduction login: vlad password: ******** $$$ shell prompt
Files and Directories Introduction login: vlad password: ******** $$$ shell prompt like Python's >>> and …
Files and Directories Introduction login: vlad password: ******** $$$ whoami check user ID
Files and Directories Introduction login: vlad password: ******** $$$ whoami check user ID shell finds the whoami program
Files and Directories Introduction login: vlad password: ******** $$$ whoami check user ID shell finds the whoami program runs it
Files and Directories Introduction login: vlad password: ******** $$$ whoami check user ID vlad shell finds the whoami program runs it prints its output
Files and Directories Introduction login: vlad password: ******** $$$ whoami check user ID vlad shell finds the whoami program $$$ runs it prints its output displays a new prompt
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd what is the working directory
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd what is the working directory the directory used when no other directory is explicitly specified
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users tmp /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users tmp /users/vlad $$$
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users tmp /users/vlad $$$
imhotep larry vlad
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users tmp /users/vlad $$$
imhotep larry vlad
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users tmp /users/vlad $$$
imhotep larry vlad
Files and Directories Introduction login: vlad root password: ******** / $$$ whoami vlad $$$ pwd bin data users tmp /users/vlad $$$
imhotep larry vlad
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$ ls stands for "listing"
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$ ls stands for "listing" sadly more memorable than most command names
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$ ls bin data mail music notes.txt papers pizza.cfg solar solar.pdf swc $$$
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad an argument or flagmodifying $$$ pwd the command's behavior /users/vlad $$$ ls -F bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$
Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad adds a trailing '/' to $$$ pwd directory names /users/vlad $$$ ls -F bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$
Files and Directories Introduction $$$ ls -F bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/
vlad
bin data mail music notes.txt papers
pizza.cfg solar solar.pdf swc
Files and Directories Introduction $$$ ls -F bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ 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/
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/
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 $$$
a relative path vlad
data
Files and Directories Introduction $$$ ls –F data amino_acids.txt elements/ morse.txt pdb/ planets.txt sunspot.txt $$$
a relative path vlad relative to current working directory
data
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 $$$ / an absolute path leading '/' means "from root" so it always refers to
this directory bin data users tmp
imhotep larry vlad
Files and Directories Introduction $$$ pwd /users/vlad $$$
Files and Directories Introduction $$$ pwd /users/vlad $$$ ls 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/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$ cd data
Files and Directories Introduction $$$ pwd /users/vlad $$$ ls 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/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$ cd data change directory actually doesn't change the directory
Files and Directories Introduction $$$ pwd /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$ cd data change directory actually doesn't change the directory changes the shell's idea of which directory we are in
Files and Directories Introduction $$$ pwd /users/vlad $$$ ls 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/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$ cd data $$$ pwd /users/vlad/data $$$ ls amino_acids.txt elements/ morse.txt pdb/ planets.txt sunspot.txt $$$
Files and Directories Introduction $$$ pwd /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$ cd data because we're now "in" $$$ pwd this directory /users/vlad/data $$$ ls amino_acids.txt elements/ morse.txt pdb/ planets.txt sunspot.txt $$$
Files and Directories Introduction $$$ 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 directory
Files and Directories Introduction $$$ pwd /users/vlad/data $$$ cd .. $$$ pwd /users/vlad $$$
Files and Directories Introduction $$$ pwd /users/vlad/data $$$ cd .. $$$ 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 /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ $$$ ls -F -a ./ ../ bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/
Files and Directories Introduction $$$ pwd /users/vlad/data $$$ cd .. $$$ pwd /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ "show all" $$$ ls -F -a ./ ../ bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/
Files and Directories Introduction $$$ pwd /users/vlad/data $$$ cd .. $$$ pwd /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ parent directory $$$ ls -F -a ./ ../ bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/
Files and Directories Introduction $$$ pwd /users/vlad/data $$$ cd .. $$$ pwd /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ parent directory $$$ ls -F -a /users ./ ../ bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/
Files and Directories Introduction $$$ pwd /users/vlad/data $$$ cd .. $$$ pwd /users/vlad $$$ ls bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/ this directory $$$ ls -F -a itself ./ ../ bin/ data/ mail/ music/ notes.txt papers/ pizza.cfg solar/ solar.pdf swc/
Files and Directories Introduction 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 \ But still case insensitive
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 \ But still case insensitive Can't put backup.txt and Backup.txt in a directory
Files and Directories Introduction pwd print working directory cd change working directory ls listing . current directory .. parent directory
Files and Directories Introduction 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.