The File System#

You are probably used to the file system in Windows or MacOS, where directories can contain files and more directories. The linux filesystem is structured in the same way, as a tree, that begins at the ‘root’ directory /.

../../../_images/filesystem_hierarchy4.png

When you are working in the command line, you are located in a directory somewhere in this tree. There are two ways to refer to a location: its absolute path or its relative path.

# Absolute path
/nfs/home/fieldc

# Relative path
../../home/fieldc

The .. refers to the directory above a location, so the relative path here goes up twice, then back down to my home directory. If a path starts with ~/ then it refers to your home directory.

# Home directory
~/

Exercises#

  • Use pwd to find out where you are in your command line session - it should be /nfs/home/<your eth name>

  • Use ls to see if you have any files in your home directory - probably not if you have never logged in before!

  • Use cd to go up one level and then ls to see all the home directories of other users on the server

  • Use ls to look into the directory of another user - can you do this?

  • Experiment with cd and ls to explore the directory structure on Morgan, before returning to your home directory

Getting Help#

man will show a manual for most basic commands, providing the correct syntax to use it and the various options available.

# Read the manual
man ls

Other programs have different ways to provide help on how to use them. A online tutorial is best, or a comprehensive manual, but sometimes you only have the command line to help you.

# Help please!
python -h
python --help

Basic File Operations#

cp copies a file from one location to another. The example will copy a file containing the genome sequence of E. coli K12 MG1655 to your home directory.

# Copy
cp source destination
cp /science/teaching/ecoli/GCF_000482265.1_EC_K12_MG1655_Broad_SNP_genomic.fna ~/

mv moves a file from on location to another. The example, because the destination is not a directory, actually renames the file. Thus you can move and rename a file with the same command.

# Move or rename
mv source destination
mv ~/GCF_000482265.1_EC_K12_MG1655_Broad_SNP_genomic.fna ~/E.coli_K12_MG1655.fna

rm removes a file, so use it with care.

# Remove
rm path
rm ~/E.coli_K12_MG1655.fna

mkdir creates a new directory with the given name.

# Make directory
mkdir genomes

Exercises#

  • Using the commands you’ve been introduced to, create a new directory and copy the E. coli genome into it.

  • Rename the file to something less complex.

  • By using the man and ls commands, find out how large the E. coli genome file is.