|
Frequently used Unix commands
This page presents a list of the most frequently used commands available
from the command interpreter (the shell).
It is not the intention of this page to document all common commands,
of which there are hundreds,
but simply to list them and provide one or two common examples.
All of these commands (their names) are common to both
Linux- and macOS-based systems,
and the default execution of each command is identical on both platforms.
However, when certain switches (or options) are provided to some of the
commands,
their execution can be slightly different on different platforms.
Although there are many websites delivering Unix and Linux manuals,
it is very important to read the documentation that applies to the
platform you are using.
Until you are familiar with the documentation,
read the manual from the command-line on the platform you're using.
Documentation
- man - find and read online documentation
-
Perhaps the most important command to remember is man,
which provides access to the online documentation of all other commands.
The online manuals are divided into (at least) 10 sections and are kept on
the local disk for fast access (and are not dependent on the network working).
The sections are:
- standard utility programs
- the operating system calls
- standard library routines
- special files and hardware support
- significant file and kernel structure definitions
- the standard games
- miscellaneous manual entries
- system administration
- local enhancements to the system
- any networking details
If no section number is provided to the man command, then
the manuals are locating by searching in the order:
1, n, l, 6, 8, 2, 3, 4, 5 and 7.
man date # display the online manual for the 'date' command
# 'space' to page forward, 'b' backwards, 'q' quit
man -k vim # summarize all manuals involving the keyword 'vim'
man 2 time # display the online manual for the 'time' command from section 2 of the manual
man man # !
The filesystem
- pwd - report the present working directory
-
pwd # print the present working directory
- ls - list the contents of a directory
-
ls # print a list of files in current directory
ls -l # print a long list of files with more attributes
ls -lt # print a long list of files sorted by modification time
ls -lR # print a long list of files recursively
ls -a # print a list of all files (including 'dot' files)
- cd - change the present working directory
-
cd # change current working directory to your home directory
cd dirname # change to the named directory
cd .. # change to the parent directory of the current directory
- mkdir - make a new directory
-
mkdir dirname # make a new directory with the given name
- rmdir - remove an existing directory
-
rmdir dirname # remove the named directory (which must be empty)
Manipulating whole files
- cp - copy an existing file to create a new file,
or into an existing directory
-
cp oldfile newfile # copy an existing file to create or overwrite another
cp oldfile dirname # copy an existing file to an existing directory
cp oldfile . # copy an existing file to current directory
cp -R olddir newdir # recursively copy files from an existing directory to another
cp -p oldfile newfile # copy an file and preserve its permissions and modification time
- mv - move an existing file,
either to change change its name,
or to move it into an existing directory
-
mv oldfile newfile # 'move' an existing file to a have a new name
mv oldfile dirname # 'move' an existing file to a new directory
mv oldfile . # 'move' an existing file to a current directory
- rm - remove existing files or directories
-
rm oldfile # remove an existing file
rm -r dirname # remove an existing directory and its contents
- du - report the disk usage of the current directory
-
du # report the disk usage of the current directory
du dirname # report the disk usage of the named directory
du -s dirname # summarize the disk usage of the named directory
du -sh dirname # report disk usage in a 'human-readable' format
Displaying files
- cat - display the whole contents of files
-
cat filename # display full file's contents to the screen
cat -s filename # display file's contents, suppressing multiple blank lines
cat -v filename # display file's contents, including non-printing characters
- head - display the first few lines of a text file
-
head filename # display first 10 lines of a text file
head -3 filename # display first 3 lines of a text file
head -c 100 filename # display first 100 characters of a text file
- tail - display the last few lines of a text file
-
tail filename # display last 10 lines of a text file
tail -3 filename # display last 3 lines of a text file
tail -c 100 filename # display last 100 characters of a text file
- less - display the contents of a text file, one screen at a time
-
less filename # display a text file one page/screen at a time
# 'space' to page forward, 'b' backwards, 'q' quit
Examining files
- wc - 'count' lexical items in a text file
-
wc filename # report the number of characters, words, and lines in a text file
wc -l filename # report just the number of lines
- grep - find a pattern in text files
-
grep pattern filename # search for a pattern in a text file
grep -c pattern filename # report the count of pattern matches
grep -i pattern filename # ignore alphabetic case when matching
- vim - edit text files using a powerful character-based editor
-
vim filename # edit a text file using vim
vim +30 filename # commence editing from line 30
vim +/pattern filename # commence editing at the location of the pattern
- chmod - change the mode (permissions) of files and directories
-
chmod -w filename # turn off (disable) ability to write to a file
chmod +x filename # make a file executable
Manage processes
- ps - list operating system processes
-
ps # report your processes
ps au # report your processes and their attributes
ps aux # report all processes and their attributes
- kill - terminate a running process
-
kill processID # terminate the process with the given numeric process-ID
kill -9 processID # terminate a process that refuses to terminate
|