Bourne Again SHell prompt
machine-name:current-working-directory$
~ means home
$ means not the root user
We can type in commands at the shell
The shell parses the command
- splitting it by whitespace,
- runs the program (first word),
- supplying each subsequent word as an argument
- argument that contains spaces or other special characters
- either quote the argument with ' or "
- or escape just the relevant characters with \
The shell is a programming environment with variables, conditionals, loops, and functions.
date
prints the current date and time.
echo
prints out its arguments.
$PATH
is an environment variable that lists which directories the shell should search for programs when it is given a command.
which
find out which file is executed for a given program name
Bypass $PATH by giving the path to the file we want to execute.
Path
- delimited list of directories
- separated by / on Linux and macOS and \ on Windows
- the path /
- linux and macOS
- “root” of the file system
- absolute path
- starts with /
- relative path
- relative to the current working directory
pwd
print working directory
cd
change current working directory
.
current directory
..
parent directory
ls
list files in current directory
~
home directory
-
flags with values modify command behavior
-h
or --help
flag will print some help text
cd -
previous directory
mv
rename, move a file
- two arguments
- renames the first arg as the second (file name) or,
- moves moves first arg to the second (directory)
cp
copy a file or directory
cp [options] source destination
cp file.txt backup/
copy a file from one location to another
cp file1.txt file2.txt backup/
copy multiple files
cp -r mydirectory/ backup/
copy an entire directory and its contents
Be cautious with the -r option, as it can overwrite files and directories.
mkdir
make a new directory
man
takes as an argument the name of a program, and shows you its manual page
q
to exit
ctr l
clears terminal
Connecting programs
-
input stream
- program reads input from input stream
- default keyboard
-
output stream
- sends data out of the program
- default screen
< file
rewire the input of this program to be the contents of a file
> file
rewire the output of the preceding program into this file
cat
prints the context of a file
>>
append
|
- take the output of the program to the left and make it the input to the program on the right.
- “chain” programs such that the output of one is the input of another
#
mean run as root
touch
create new file
Top comments (0)