Difference between revisions of "Get acquainted with the command line"
Line 44: | Line 44: | ||
<code>cd</code> is to change directory. | <code>cd</code> is to change directory. | ||
<code>cd {dirname}</code> There must be a space between | {| | ||
<code>cd ~</code> Go back to home directory, useful if you're lost | |<code>cd {dirname}</code> | ||
<code>cd ..</code> Go back one directory | |There must be a space between the command and the {dirname} | ||
|- | |||
|<code>cd ~</code> | |||
|Go back to home directory, useful if you're lost | |||
|- | |||
|<code>cd ..</code> | |||
|Go back one directory | |||
|} | |||
==Make a new directory== | ==Make a new directory== |
Revision as of 21:36, 21 October 2021
Unix Cheat Sheet
Unix commands are useful to get familiar with in order to use software with command line interfaces. Many computers have a terminal program through which users may use an operating system. These commands can also be used on Unix-like systems, such as Mac OS, and a wide variety of Linux distributions, including Debian and Ubuntu. In a Unix shell session, a user can "pipe" commands, use wildcards, and write scripts that automate a wide variety of tasks.
General commands
pwd
|
Print working directory - show where you are as full path. Useful if you're lost or exploring |
man {command}
|
Shows the manual. For example, type man rm to read the manual for the rm command
|
whoami
|
Shows which user account is being used in a current session |
whatis {command}
|
Give short description of command |
List a directory
ls
shows the contents of a directory. It can be used with many options and attributes to show particular settings given to files, including file permissions. It's ok to combine attributes, e.g. ls -laF
gets a long listing of all files with types
ls {path}
|
List the contents of the path |
ls {path_1} {path_2}
|
List both {path_1} and {path_2} |
ls -l {path}
|
Long listing, with date, size and permissions |
ls -a {path}
|
Show all files, including important .dot files that don't otherwise show |
ls -F {path}
|
Show type of each file. "/" = directory, "*" = executable |
ls -R {path}
|
Recursive listing, with all sub-directories |
Change to directory
cd
is to change directory.
cd {dirname}
|
There must be a space between the command and the {dirname} |
cd ~
|
Go back to home directory, useful if you're lost |
cd ..
|
Go back one directory |
Make a new directory
mkdir {dirname}
Remove a directory
rmdir {dirname}
Only works if the directory is empty
rm -r {dirname}
Remove all files and sub-directories. Careful!
Copy a file or directory
cp {file1} {file2}
cp -r {dir1} {dir2}
Recursive, copy directory and all subdirs
cat {newfile} >> {oldfile}
Append newfile to end of oldfile
Move (or rename) a file
mv {oldfile} {newfile}
Moving a file and renaming it are the same thing
mv {oldname} {newname}
Delete a file
Warning: Be very careful when using the rm
command. Anything removed with it will be gone forever - there is no undo!
rm {filespec}
?
and *
wildcards work like DOS should. "?" is any character; "*" is any string of characters.
ls {filespec}
rm {filespec}
Good strategy: first list a group to make sure it's what's you think... then delete it all at once.
View a text file
more {filename}
View file one screen at a time
less {filename}
Like more, with extra features
cat {filename}
View file, but it scrolls
cat {filename} | more
View file one screen at a time
Edit a text file
nano {filename}
Basic text editor
Create a text file.
touch {filename}
Create a file and save it. It will remain empty until you edit it
cat > {filename}
Enter your text (multiple lines with enter are ok) and press control-d to save
nano {filename}
Create some text and save it in a file
Compare two files
diff {file1} {file2}
Show the differences
sdiff {file1} {file2}
Show files side by side
Other text commands
grep '{pattern}' {file}
Find regular expression in file
spell {file}
Display misspelled words
wc {file}
Count words in file
wc -l {file}
Count the number of lines in a file
Make an Alias
alias {name}='{command}'
Put the command in 'single quotes'. More useful in your .bashrc file
Wildcards and Shortcuts
*
Match any string of characters, eg page* gets page1, page10, and page.txt
?
Match any single character, eg page? gets page1 and page2, but not page10
[...]
Match any characters in a range, eg page[1-3] gets page1, page2, and page3
~
Short for your home directory, eg cd ~ will take you home, and rm -r ~ will destroy it
.
The current directory
..
One directory up the tree, eg ls ...
Pipes and Redirection
You pipe a command to another command, and redirect it to a file. The pipe symbol is |
.
{command} > {file}
Redirect output to a file, eg ls > list.txt writes directory to file
{command} >> {file}
Append output to an existing file, eg cat update >> archive adds update to end of archive
{command} < {file}
Get input from a file, eg sort < file.txt
{command} < {file1} > {file2}
Get input from file1, and write to file2, eg sort < old.txt > new.txt sorts old.txt and saves as new.txt
{command} | {command}
Pipe one command to another, eg ls | more gets directory and sends it to more to show it one page at a time
System info
date
Show date and time
df
Check system disk capacity
du
Check your disk usage and show bytes in each directory
du -h
Check your disk usage in a human readable format
printenv
Show all environmental variables
uptime
Find out system load
w
Who's online and what are they doing?
top
Real time processor and memory usage
For fun
wall {message}
Write a message to all the other users currently logged in