<<

The

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

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: ******** $$$ 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 $$$ what is the working

Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd what is the 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 $$$ stands for "listing"

Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$ ls stands for "listing" sadly more memorable than command names

Files and Directories Introduction login: vlad password: ******** $$$ whoami vlad $$$ pwd /users/vlad $$$ ls bin data 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

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 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/ $$$ 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 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 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.