Linux Basic Commands Cheat Sheet

A Software › Linux cheat sheet in English by [deleted]

Linux most basic commands

6,772 views 1,133 downloads 3 Aug 2020 History

Basic comands

cat file1 file2 ...
Print the contents of file1, file2, ...
ls
List the contents of a directory.
ls -l
Use a long listing format
ls -a
Do not ignore entries starting with .
cp file1 file2
Copy file1 to file2
cp file1 ... fileN dir
Copy a number of files to a directory
mv file1 file2
Rename file1 to file2
mv file1 ... fileN dir
Move a number of files to a directory
touch file
Create a file. If the file already exists, touch does not change it
rm file
Remove a file
rm -r dir
Recurs­ively remove all files and subdir­ect­ories in dir
echo
Print echo's arguments to the standard output
pwd
Print working directory
pwd -P
Print true full path, not path of symbolic link
sudo command
Run command as root

Navigating Direct­ories

cd dir
Change the shell's current working directory
mkdir dir
Create a new directory
rmdir dir
Remove the directory dir if dir is empty
Linux has a directory hierarchy starts at / (root directory).
Directory separator is the slash (/).
Two dots (..) refers to the parent of a directory.
One dot (.) refers to the current directory.

Shell Globbing (Wildc­ards)

*
A number of any characters
?
A single character
[]
Specify a range. [ab] can become: a, b. [a-c] can become: a, b, c
[!a-c]
Any single character except a, b, c
Globbing is the operation that expands a wildcard pattern into the list of pathnames
It is applied on each of the components of a pathname separa­tely. / in a pathname cannot be matched.
If filename starts with ., . must be matched explic­itly.
Wildcard patterns are not regular expres­sions, they match filenames, not text.

Search files

grep RegEx file
Search for regular expression pattern in file
grep -i
Case-i­nse­nsitive search
grep -v
Print all lines that don't match
find dir -name file -print
Find file in dir and display the pathname of it
locate file
Search an index that the system builds period­ically

Display a file

less file
Display the contents of file one screenful at a time
  spacebar
Go forward one screenful
  b
Skip back one screenful
  /word
Search forward for word
  ?word
Search backward for word
  q
Quit less
head file
Display the first 10 lines of file
tail file
Display the last 10 lines of file

Differ­ences between text files

diff file1 file2
Print differ­ences between two text files
diff --color
Print differ­ences with color
diff -y
Print differ­ences side by side
diff -c
View differ­ences in context mode
diff -i
Ignore case differ­ences
diff -w
Ignore all white space
diff gives the instru­ctions on how to change the first file to make it match the second file.
< denotes lines in file1. > denotes lines in file2.
Change command
LaR: Add the lines in range R of the second file after line L of the first file.
FcT: Replace the lines in range F of the first file with lines in range T of the second file.
RdL: Delete the lines in range R from the first file so that both the files sync up at line L.

Enviro­nment and Shell Variables

stuff=blah
Create a shell variab­le/­Assign a value to a variable
PATH=$­PATH:dir
Appends ":dir" to the end of PATH variable
$STUFF
Access a variable
export STUFF
Make $STUFF shell variable into an enviro­nment variable
unset STUFF
Delete variable STUFF
env
Prints enviro­nment variables
Shell variables are variables whose scope is in the current shell session.
Enviro­nment variables are shell variables which has been exported. Children processes get their own copy of the parent variables so they can never change the enviro­nment variables in their parent process. Enviro­nment variables must be name=value pair.
Command path
PATH is enviro­nment variable that contains command path (list of system direct­ories that the shell searches when trying to locate a command).

Comman­d-Line Editing

CTRL-B
Move the cursor left
CTRL-F
Move the cursor right
CTRL-A
Move the cursor to the beginning of the line
CTRL-E
Move the cursor to the end of the line
CTRL-W
Erase the preceding word
CTRL-U
Erase from cursor to beginning of line
CTRL-K
Erase from cursor to end of line
CTRL-Y
Paste erased text
CTRL-D
Stop the current standard input entry from the terminal

Getting Online Help

man command
Show manual page for command
man -k keyword
Search for a manual page by keyword
man n command
Show manual page for command from section n
Online Manual Sections
1
User commands
2
System calls
3
Higher­-level Unix progra­mming library docume­ntation
4
Device interface and driver inform­ation
5
File descri­ptions (system config­uration files)
6
Games
7
File formats, conven­tions, and encodings (ASCII, suffixes, and so on)
8
System commands and servers
Manual pages cover the essent­ials, but there are many more ways to get online help. Try entering a command name followed by --help or -h to look for a certain option for a command

Shell Input and Output

command > file
Send the output of command to a file
command >> file
Append output to the file
command < file
Channel a file to a progra­m's standard input
command1 | command2
Send the standard output of command1 to the standard input of command2
command 2> file
Redirect the standard error (2 is standard error stream ID)
command &> file
Redirect the all output to file
command 2>&1
Send standard error to the same place as standard output

Listing and Manipu­lating Processes

ps
List processes owned by root
ps x
List all processes owned by you
ps ax
List all processes on the system
ps u
Include more detailed inform­ation on processes
ps w
Show full command names
   
top
Show real-time view of running system
   
kill pid
Send TERMinate signal to the process with ID pid
kill -STOP pid or CTRL-Z
Send STOP (freeze) signal to the process
kill -CONT pid
CONTinue running the process again
kill -INT pid or CTRL-C
End process with INTerrupt signal
kill -KILL pid
Terminate the process and forcibly remove it from memory
   
jobs -l
List the active jobs with their status and pid (-l)
fg %n
Move job that have job number n to the foreground
bg %n
Move job that have job number n to the background
command &
Run command in background
The ps command has many options. Options can be specified in three different styles­—Unix, BSD, and GNU. Above commands use BSD style.

File Modes and Permis­sions

File's mode represents the file's permission and some extra inform­ation. There is 4 parts to the mode. First character is file type. The rest contains the permis­sions, which break down into three sets: user, group, other, in that order. Each set can contain four basic repres­ent­ations:
r
Means that the file is readable
w
Means that the file is writable
x
Means that the file is executable
-
Means nothing
Modifying Permis­sions
chmod ugo+r file
Add (+) owner (u), group (g) and other users (o) read (r) permis­sions to file
chmod 644 file
Set file mode to absolute permission mode 644
Symbolic links
A symbolic links is a file that points to another file or a directory
ln -s target linkname
Create a symbolic link from target to linkname

Archiving and Compre­ssing Files

gzip file
Compress file to file.gz
gunzip file.gz or gzip -d
Uncompress file.gz and remove the suffix
tar cf archiv­e.tar file1 file2
Create (c) an archive name (f) archiv­e.tar contains file1, file2
tar xf archiv­e.tar
Unpack (x) archiv­e.tar
tar tf archiv­e.tar
List the contents (t) of archiv­e.tar
gunzip -c file.t­ar.gz | tar xf -
zcat file.t­ar.gz | tar xf -
tar zxf file.t­ar.gz
Unpack compressed archive file.t­ar.gz
gunzip -c uncomp­resses archive then sends the result to standard output.
tar xf - uses standard input instead of a given filename.

Some subdir­ect­ories in root

/bin
Contains ready-­to-run programs including most of the basic Linux commands
/dev
Contains device files
/etc
Core system config­uration directory that contains the user password, boot, device, networ­king, and other setup files
/home
Holds personal direct­ories for regular users
/lib
Holds library files
/proc
Provices system statistics
/sys
Provides a device and system interface
/sbin
Place for system management programs
/tmp
Storage area for temporary files
/usr
Other bulk of Linux system
/var
Where programs record runtime inform­ation
/boot
Contains kernel boot loader files
/media
A base attachment point for removable media
/opt
This may contain additional third-­party software
/vmlinuz
or /boot/­vmlinuz
Kernel location
The reason that the root directory does not contain the complete system but other parts stored in /usr is primarily histor­ic—in the past, it was to keep space requir­ements low for the root

Comments

No comments yet.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.