Linux Terminal - Files and Directories and Getting Around

From Computer Science
Revision as of 16:29, 10 January 2020 by Jkinne (talk | contribs)
Jump to: navigation, search

This page is a part of the Linux and CS Systems - Getting Started. This page assumes you have your computer setup to connect to the CS server, or have the appropriate software installed on your computer to run commands. Go back to the Linux and CS Systems Getting Started main page if you don't have our system setup yet.

Basic idea The linux terminal is used to type commands to control your computer and files. Everything that you can do graphically on your computer (in Windows with File Explorer, on MacOS with Finder) you can do by typing commands instead.

Demo' See [this link] for a video demonstrating the basics of getting around in the linux terminal.

Basic Commands

With the terminal you can create, copy, move, and delete files and directories. The following are the most important commands to do this.

  • cd - change directory
  • mkdir - make a new directory
  • ls - list directory contents (use option -l to see details)
  • cp - copy files
  • rm - remove files (be careful, there is no recycle bin or trash - once you delete, it's gone)
  • rmdir - remove directory
  • mv - move or rename a file or directory
  • nano - simple text editor

Getting Around

To "get around" in the terminal, use the following keys.

  • enter - a command is only executed when you press enter.
  • up and down arrows - lets you run a previously typed command again.
  • tab - if you are typing a filename, you can press tab to let the terminal auto-complete some part of it. This also works for command names (e.g., type mkdi and then tab).

The following are shortcuts for directories.

  • . - current directory
  • .. - directory one level up from where you are currently
  • ~ - your home directory
  • / - the top of the entire file system

The following are special notes about directory or file names.

  • "" - if you have a file name with spaces in it, then you put the file name within "". So you could do mkdir "Some Directory"
  • * - called a wildcard, used to specify all file names that match some pattern. To list all files that end in ".pdf" you could type ls *.pdf.

Sample Session

Here is a transcript of the use of these commands on the CS server, showing how they work and what is printed on the screen. Note that the part after the "cs299@cs:~> " is the part that was typed by the user - so the user first typed "pwd" and then enter, the system printed "/u1/class/cs299", and the system then printed the prompt "cs299@cs:~> " and waited for the user to type the next command. You can also watch a [video demo].

cs299@cs:~> pwd
cs299@cs:~> mkdir new-dir1
cs299@cs:~> mkdir new-dir2
cs299@cs:~> nano hello.txt
cs299@cs:~> ls
bin/  hello.txt  new-dir1/  new-dir2/  proto/
cs299@cs:~> cp hello.txt new-dir1
cs299@cs:~> cp hello.txt new-dir2/hello2.txt
cs299@cs:~> ls new-dir1
cs299@cs:~> ls new-dir2
cs299@cs:~> mv new-dir2 new-dir3
cs299@cs:~> ls
bin/  hello.txt  new-dir1/  new-dir3/  proto/
cs299@cs:~> rm hello.txt 
cs299@cs:~> ls
bin/  new-dir1/  new-dir3/  proto/
cs299@cs:~> rmdir new-dir3
rmdir: failed to remove 'new-dir3': Directory not empty
cs299@cs:~> rm new-dir3/hello2.txt 
cs299@cs:~> rmdir new-dir3
cs299@cs:~> ls
bin/  new-dir1/  proto/