Command Line Crash Course
A quick introduction to the linux command line and frequently used commands.
Paths
NOTE:
ThereDo arenot fullupdate pathsthis andpage. partialThis pathspage inis linux.soft These behave similarlinked to windowsIT
and- otherSysadminOSs
Full paths begin with>/IT - Public How-To'sin linux and specify the exact location of a file or folder (think of any paths that being with C:/ in windows)Partial paths are relative to the currently directory they do not begin with any special symbols. (ie>cd somefolder/somefileLinuxwould>tellCommand
linuxLinetoCrashappend somefolder/somefile to your current path and go there)You can also specify current directory with a dot. (iecd ./somefolder/somefileCourseis the same as the previous bullet point)Previous directory is specified with two dots (iecd ..will take you up a directory)You can also specify your home directory with
.~Your home directory is the one that the terminal puts you in when you first login (usually /home/username)
Basic Common Commands
Here are some basic commands in linux that most people will want to use
cd <directory>
Change directories.
cd .does not do anythingcd ..takes you up a directorycd ~takes you back to your home directory
amdhome@biostats:~$ cd /srv/shiny-server/spins-abcd/
amdhome@biostats:/srv/shiny-server/spins-abcd$ cd .
amdhome@biostats:/srv/shiny-server/spins-abcd$ cd ..
amdhome@biostats:/srv/shiny-server$ cd ~
amdhome@biostats:~$
pwd
Print working directory: prints the current folder you are in
amdhome@biostats:~$ pwd
/home/amdhome
ls
List files and folders in the current directory
You can also specify a full or partial path to print that directories files/folders instead
You can append -al for more information on the files
amdhome@biostats:/srv/shiny-server$ ls
index.html sample-apps spins-abcd
amdhome@biostats:/srv/shiny-server$ ls -al
total 12
drwxr-xr-x 3 root root 4096 Jun 13 13:37 .
drwxr-xr-x 3 root root 4096 Jun 13 12:41 ..
lrwxrwxrwx 1 root root 38 Jun 13 12:41 index.html -> /opt/shiny-server/samples/welcome.html
lrwxrwxrwx 1 root root 37 Jun 13 12:41 sample-apps -> /opt/shiny-server/samples/sample-apps
drwxr-xr-x 2 root root 4096 Jun 13 14:07 spins-abcd
mv <source> <destination>
Move file/folder. Both
You also use this to rename things
amdhome@biostats:~$ ls
app.R
amdhome@biostats:~$ mv app.R app2.R
amdhome@biostats:~$ ls
app2.R
amdhome@biostats:~$ mv app2.R /tmp/
amdhome@biostats:~$ ls /tmp
app2.R
cp <source> <destination>
Copies files. You can specify -r ifIf you want to copychange directoriesthe contents of this page, please change it on that page instead.
rm <target>
Removes files.
You can append -r to remove directories{{@18}}
mkdir <target>
Creates a folder
sudo
Sudo is a special command that lets you run commands with elevated (root) permissions. All you have to do is put sudo at the beginning of a command. An administrator must have already granted you sudo rights in order to use this command
Exception
The only exception to this is cd. This is because for most commands that you run, you are telling your shell (command line/terminal) to run a program. sudo is a program that will run another program with elevated permissions. The cd command is technically not a program, but a command to tell your shell to change state. Because cd is not a program it can not be sudo-ed.
If you need to cd to a directory that requires elevated permissions, you can just become root by using the command sudo -i:
amdhome@biostats:~$ sudo -i
root@biostats:~$
Do be careful of any action taken while as root or when running with sudo as many sanity checks are bypassed when using linux as root.