Basic Linux Commands

Here are some basic commands that you need to work on the cluster. In these examples the commands themselves are highlighted in yellow and are followed by the output they produce.

ls : list files in a directory
pwd : show full path to current directory
mkdir : make directories
cd : change directory
cp : copy files and directories
rm : remove files
rm -rf : remove a directory and everything in it
man : show usage manual for a command
* ? and other wildcards
~ : shortcut to your home directory

Back to Top

ls : list files in a directory

Simple file listing:

[abc123@seldon abc123]$ ls
figure1.fig  test.m  test.sh

Display extra details (file size, type, date, permissions) with the "long" (-l) option:

[abc123@seldon abc123]$ ls -l
total 12
-rw-------    1 abc123   users        1121 Oct 30 16:15 figure1.fig
-rw-------    1 abc123   users          69 Oct 30 16:15 test.m
-rwx------    1 abc123   users          40 Oct 30 16:10 test.sh

You can use wildcards to select only some of the files.

[abc123@seldon abc123]$ ls -l test*

-rw-------    1 abc123   users          69 Oct 30 16:15 test.m
-rwx------    1 abc123   users          40 Oct 30 16:10 test.sh

Back to Top

pwd : show full path to current directory

Print working directory path:

[abc123@seldon abc123]$ pwd
/sscc/home/a/abc123

Back to Top

mkdir : make directories

Create a new subdirectory called subdir in the current directory:

[abc123@seldon abc123]$ mkdir subdir
[abc123@seldon abc123]$ ls -l
total 16
-rw-------    1 abc123   users        1121 Oct 30 16:15 figure1.fig
drwx------    2 abc123   users        4096 Nov  4 13:55 subdir
-rw-------    1 abc123   users          69 Oct 30 16:15 test.m
-rwx------    1 abc123   users          40 Oct 30 16:10 test.sh

Back to Top

cd : change directory

Switch to a subdirectory called subdir in your current directory:
[abc123@seldon abc123]$ cd subdir
[abc123@seldon subdir]$

Two dots .. denote one directory up in your path:

[abc123@seldon subdir]$ cd ..
[abc123@seldon abc123]$

To use the full path start with a slash:

[abc123@seldon abc123]$ cd /datalib/cps
[abc123@seldon cps]$ pwd
/datalib/cps

Back to Top

cp : copy files and directories

Syntax:

cp [options]... Source Destination
cp [options]... Source... Directory

Options:

-i : prompt before overwriting files
-r : copy recursively (copy subdirectories and their contents)
-u : overwrite destination files only when the source file is newer
-v : show what is being done

Make a copy of a file called make.do with a different name:

[abc123@seldon abc123]$ cp -v make.do make2.do
`make.do' -> `make2.do'

Copy one or more files to another directory:

[abc123@seldon abc123]$ cp -v *.do subdir/
`make.do' -> `subdir/make.do'
`make2.do' -> `subdir/make2.do'

Copy the contents of a directory and its subdirectories to another place:

[abc123@seldon abc123]$ cp -vR subdir/* subdir2/
`subdir/make.do' -> `subdir2/make.do'
`subdir/make2.do' -> `subdir2/make2.do'
`subdir/data/file.dat' -> `subdir2/data/file.dat'

Back to Top

rm : remove files

Remove a file called make.do:

[abc123@seldon abc123]$ rm make.do

To remove a file with spaces in its name, use quotes:

[abc123@seldon abc123]$ rm "file name.txt"

To remove multiple files (or to save time typing long file names) use wildcards. Be careful - wildcards are powerful and could match more files than you intended. Use the ls command first to check what files will be deleted.

[abc123@seldon abc123]$ rm *.txt

Back to Top

rm -rf : remove a directory and everything in it

Delete a subdirectory called subdir and all of its contents (including its subdirectories).

[abc123@seldon abc123]$ rm -rf subdir

Back to Top

man : show usage manual for a command

Display a more detailed manual for a command:

Press <Space bar> to view the next page
Press q to exit
[ate533@seldon ate533]$ man cp

CP(1)                                 FSF                                CP(1)

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... SOURCE DEST

       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... --target-directory=DIRECTORY SOURCE...


DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

                                     . . .

Back to Top

* ? and other wildcards

You can use these powerful wildcards with any command that takes filenames as an argument. For example prog??.* will match all files with names that start with prog followed by any two characters, a dot, and anything (or nothing) following the dot.

Wildcard Matches
* zero or more characters
? exactly one character
[abxy] exactly one character from the list (a, b, x or y)
[a-e] exactly one character in the given range (a, b, c, d or e)
[!abxy] any character that is not listed
[!a-e] any character that is not in the given range
{beef,fish,tofu} exactly one entire word from the list in curly brackets (beef, fish or tofu)

Back to Top

~ : shortcut to your home directory

You can reference your home directory in your commands and programs with the character tilde ~ shortcut. If your home directory is

/sscc/home/a/abc123
then instead of writing out the full path to the file
/sscc/home/a/abc123/data/input.dat
you can just write
~/data/input.dat

Back to top

Last Updated: 11 February 2009

Information Technology 1800 Sherman Avenue Evanston, Illinois 60201 | Contact Us

Northwestern Home | Calendar: Plan-It Purple | Online Directory | Search

World Wide Web Disclaimer and University Policy Statements

© 2009 Northwestern University