Linux common command classification summary

Linux common command classification summary

Theoretical knowledge:

The main features of linux: everything and files (directories, hard drives, etc. are files); hardware is in the /dev directory, such as hard disk, U disk for /dev/sd[ad]; /dev/sr0 (/dev/cdrom) is the CD drive The device name (df command view), for the device file, represents the CD-ROM itself, you have to mount the device to the directory (usually /mnt) (temporary mount point of the file system), in order to the file on the device Perform operations such as reading and writing;

Commands that do not understand: man command (check usage, full name), only remember keywords, available man -k keyword;

Common structure of Linux commands: Command [-option] [argument]
Command: It is the command itself to run, it is a software (program);
Option: is an option (optional), the option is to control the running state and behavior of the command (can be combined with multiple options, such as df -hT);
Argument: is a parameter (optional), is the command to manipulate objects such as files, paths, data, directories, etc.;
In the first part of the command, press the [tab] key for [command completion], two times for all command selections, and press the [tab] key for the non-first part to be [file completion];

Linux commands are case sensitive;



System boot and shutdown:

sync : Write the data in the memory to the disk (sync must be executed before shutting down and restarting)
shutdown -r now or reboot: restart now
shutdown -h now : Shut down immediately
shutdown -h 20:00 : The system is shut down at the scheduled time (shutdown at 8:00, if it is more than 8 o'clock, it will be 8 o'clock tomorrow night)
shutdown -h +10 : Shut down the system at the scheduled time (shutdown after 10 minutes)
shutdown -c : Cancel the system to shut down according to the scheduled time




system message:

who am i : check the terminal currently in use
who or w : view all terminals
wname -m : display the processor architecture of the machine (such as x86_64)
cat /proc/version : View linux version information
uname -r : display the kernel version in use
lsb_release -a : View system distribution (eg CentOS7)
rpm -qa | grep kernel-devel : Check the kernel-devel version (the kernel is used when installing the software, so you need to keep the kernel version consistent)
yum install -y "kernel-devel-uname-r == $(uname -r)": Install kernel-devel matching Linux kernel version
hostnamectl set-hostname Hostname: Modify the hostname (including static, transient, and flexible hostnames. If you have domain name resolution, remember to manually update /etc/hosts)
date : display system date (date +%Y/%m/%d : display effect as 2018/01/01)
Date 070314592018.00 : Set the time (format is month, day, minute, second.)
clock -w : save time changes to the BIOS
cal 2018 : Display the calendar of 2018
clear : clear the command line
ifconfig: display or set the network card (check ip, etc.) (similar to ipconfig in windows)
ping -c 3 www.baidu.com : Test the connection between Baidu and the machine ( -c 3 means test 3 times)
cat /proc/cpuinfo : Display CPU information
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l : View the number of physical CPUs
cat /proc/cpuinfo| grep "cpu cores"| uniq : view the number of cores per physical CPU
cat /proc/cpuinfo| grep "processor"| wc -l : View the number of logical CPUs, ie the number of threads




System performance:

top : Dynamic real-time display of cpu, memory, process and other usage (similar to the task manager under windows)
top -d 2 -p 7427 : -d is the number of seconds the screen is updated. The default is 5 seconds. -p is the information of the specified process pid.
vmstat 2 10: Collect the server status every 2 seconds, collect 10 times (view memory, io read and write status, cpu)
free -h : View system memory and virtual memory usage
df -h : display the disk space usage
iostat: can check io read and write, cpu usage
sar -u 3 5 : Check cpu usage (3 seconds, 5 times in total)
sar -d 2 3 : Evaluating disk performance
ps aux|grep firefox : Get the process number (PID) of Firefox (you can view the path occupied by the process cpu, memory percentage and process trigger instructions)
kill -9 process number : force kill process
systemctl : View running services




Files and directories:

cd: is the abbreviation of Change Directory, used to switch the working directory, syntax: cd [relative or absolute path or special symbol]

cd : Enter the user's home directory ~ (root user is /root, other users are /home/username)
cd .. : Return to the previous directory (note the space)
cd - : return to the last directory
cd / : return to the root directory (absolute path)
cd ./directory 1 / directory 2 : into the subdirectory under the current directory (relative path)
pwd : display the working path (short for Print Working Directory)

ls: is an abbreviation of List, used to list files in the directory, syntax: ls [options] [directory or file name]

ls -a : List all files under the file, including hidden files starting with "."
**ls -lh *.log** : Lists the details of the file (end of .log, * is a wildcard for any number of characters)
File file or directory : display the type of file (directory, text, zip, shell script, etc.)

mkdir dir1 : create directory (dir1) (mkdir is the abbreviation of make directory)
mkdir -p ./dir1/dir2 : Recursively create a directory (-p: when the parent directory does not exist, it is created at the same time)
touch a.txt : create file a.txt

rm: You can delete one or more files or directories in a directory, or delete all files and their subdirectories of a directory and its subordinates; Syntax: rm (option) (parameter) (Note: If If the parameter contains a directory, you must add the -r option);

rm file : delete file
rm -r directory or file: delete the directory (and all files in the directory) (non-empty can also be)
rm -rf directory or file: forced delete, such as: rm -rf * to delete all files in the current directory
find -inum 1842601 -exec rm -rf {} ; : Delete garbled files or directories (you will be prompted to find this file or folder but it has been deleted) (Uploading Chinese files will be garbled, rm command can not be deleted) (first use The ls -i command finds the inode, which is a numeric string in front of the file or directory, such as 1842601;)

mv: is an abbreviation of move, can be used to cut mobile files, directories or rename files;
Syntax: mv source file object file (renamed) or directory (mobile);

mv a b : Move or rename a file or directory (there is a mobile directory or an overlay file, which is renamed if it does not exist)
mv /opt/git/g /opt/a : Move g to the opt directory and rename it to a (a directory does not exist, if it exists, move g to a directory)
mv -t ./test a.txt b.txt : move multiple files to a directory

cp: copy files or directories; cp command can copy single or multiple files to an existing directory;
Commonly used: cp -ai file or directory target directory;

cp -ai /opt/abc /opt/git/ : Copy the abc directory (or file) to the git directory (option a means that the file's properties are also copied, all files in the directory are copied; i means ask before overwriting)

ln: the abbreviation of link, used to establish a hard (soft) link, often used to build a soft link (similar to a shortcut) to the PATH during software installation;
Syntax: ln [-s] source file object file

ln -s /opt/a.txt /opt/git/ : Create a soft link to the file (the shortcut is not renamed or a.txt)
ln -s /opt/a.txt /opt/git/b : (shortcut renamed to b) (the same can be renamed below)
ln -s /opt/mulu /opt/git/ : Create a soft link to the directory
ln /opt/a.txt /opt/git/ : Create a hard link to the file



file permission:

chmod [-R] 777 file or directory: set permissions (chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

Note: r(read) corresponds to 4, w(write) corresponds to 2, and x(execute) executes corresponding 1;
-R: Recursively change the file group, that is, when changing the group of a directory file, if the -R parameter is added, the group of all files in the directory will be changed)

chmod [{ugoa}{+-=}{rwx}][file or directory]: such as chmod uw, g+x, o=r test.txt for user (owner) to remove write permission, group (group) plus Execute permission, other (others) permission is equal to read-only;
chown [-R] admin:root /opt/ : Change the owner and group of the file and directory (-R recursively processes all files and folders, admin is the owner, root is the owner)



File lookup:


locate a.txt : Find files with the file name a.txt in the global scope of the system (faster than find);
Locate: The principle is that updatedb will store the information in the file system to the database databases (but usually only once a day, so locate can not find the newly created file, you need to manually execute updatedb, then execute locate), locate from the database Reading data;

find: search for a file in the directory structure and perform the specified operation
Syntax: find pathname -options [-print -exec ...]
Pathname : The directory path to find for the find command. For example, use . to indicate the current directory, and / to represent the system root directory (find search scope for all files and directories of the target directory and its subdirectories);
The -exec: find command executes the shell command given by this parameter for the matching file. The corresponding command is of the form 'command' { } ;, note the spaces between { } and ;
The -print: find command outputs the matching file to standard output.

find /home -mtime -2 : Check the files changed in the last 2*24 hours under /home
find . -size +100M : Find files larger than 100M in the current directory and subdirectories
find . -type f :f indicates that the file type is a normal file (b/d/c/p/l/f are block devices, directories, character devices, pipes, symbolic links, normal files)
find . -mtime +2 -exec rm {} ; : Detect files with change time 2*24 hours ago and delete it**
find . -name '*.log' -exec grep -i hello {} \; -print : In the current directory and subdirectories, find the file with the file name suffix .log and the content of the file contains hello and print it. The -exec command {} \ indicates that the file operation is detected, and -i indicates that the case is not case sensitive;
find . -name '*.log'|grep hello : In the current directory and subdirectories, find the file with the file name suffix .log and the file name contains the word hello (grep is used to process the string);

grep -i 'HELLO' . -r -n : Find files containing hello in the current directory and subdirectories and display the file path (-i means ignore case)

which java : Find the qualified file in the directory set by the environment variable $PATH, and display the path (the path where the query run file is located)
whereis java : View all file paths of the installed software (whereis can only be used to find binary files, source code files and man page, general file positioning needs to use the locate command)




View the contents of the file:

cat [-n] filename: display the contents of the file, with the line number displayed together

less file name: display the contents of the file one page at a time (search for the page with the man command)

head [-n] File name : Display the contents of the file header n lines, n specify how many lines are displayed

tail [-nf] File name: Display the contents of the last line of the file, n specifies how many lines to display, f is used to track all updates of the file in real time, often used to check the log file being changed (such as tail -f -n 3 a.log Indicates that the last 3 lines are displayed and added in real time when the file is updated. There is no -n default 10 lines)

sed -n '2,$p' ab : display the second line to the last line;
sed -n '/search keyword /p' a.txt : display the line containing the keyword
cat filename |grep abc -A10 : View the contents of the 10 lines (A10) and the first 10 lines (B10) after the line containing the abc in the filename.
less a.txt|grep git : Shows the line where the keyword is located. The pipe character "|" can only process the correct output information from the previous instruction, and has no direct processing capability for the error information. Then pass to the next command as a standard input;

cat /etc/passwd |awk -F ':' '{print $1}' : display the first column




Text processing:

ls -l>file: output redirection> (change the default execution mode of the original system command): ls -l command output to the file file, if it exists, then overwrite

cat file1 >>file : Output the redirected cat command result output to the file file (> indicates that the original file content is overwritten, >> indicates additional content)

ls fileno 2>file : 2> indicates that the redirect standard error output (the file does not exist, the error message is saved to the file file);

Cowsay <a.txt: redirect standard input' command <file' indicates the input of the file as a command (in order to read data from the file as input)

sed -i '4,$d' a.txt : Delete the fourth line to the last line ($ indicates the last line) (sed can add, delete, and change the contents of the file)
sed -i '$a added string ' a.txt : add string in the next line of the last line
sed -i 's/old/new/g' a.txt : replace string; format is sed 's/ string to be replaced / new string /g' modified file

vim file: edit view file (same as vi)



Users and permissions:

useradd username : create user
userdel -r username : delete user: (-r means delete the user's home directory together)
usermod -g group name username: modify the user's group
usermod -aG Group Name Username : Add User to Group
groups test : View the group where the test user is located
cat /etc/group |grep test : View test user details: Username: Password: User ID: Group ID: Annotative Description: Home Directory: Login Shell

passwd [ludf] Username: User changes his password, no need to enter user name, option -d: specify empty password, -l: disable a user, -u unblock a user, -f: force user to change password when logging in next time

groupadd group name : Create a user group
groupdel user group : delete group
groupmod -n new group name old group name : modify user group name

su - username: complete switch to a user environment (equivalent to login) (recommended to use this) (exit user: exit)
su Username: Switch to the user's identity (the environment variables have not changed, resulting in many commands to add an absolute path to execute)
sudo command: execute the command as root (enter the user's own password, and su is the input to switch the user's password, ordinary users need to set /etc/sudoers to use sudo)



Disk management:


df -h : display disk space usage and mount point
df -h /var/log : (displays the partition where the log is located (mount point), the disk where the directory is located, and the available disk capacity)

du -sm /var/log/* | sort -rn : Sorts the size of files and directories in a directory according to the amount of disk space occupied (MB)

fdisk -l : Check all partitions and total capacity, add /dev/sda to check the partition of hard disk a)
fdisk /dev/sdb : partition the hard disk sdb

mount /dev/sda1 /mnt : The hard disk sda1 is mounted to the /mnt directory (mount device file name mount point)
mount -t cifs -o username=luolanguo,password=winuser account password, vers=3.0 //10.2.1.178/G /mnt/usb : remote linux share the USB disk of the mounted Windows, G is the U disk share name, need Set up U disk sharing
mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS : mount iso file
umount /dev/sda1 : Unmount (umount device file name or mount point)



Compress, decompress, and package backups:


Simple tar is only packaged (multiple files are packaged into one large file), plus parameters -j (bzip2 format.bz2), -z (gzip format.gz) can be backed up, compressed (-c), decompressed (-x) , backup is generally more than compression - add parameters -p (retain the permissions and attributes of the original file), -C can be specified to extract to a specific directory; bzip2, gzip can only compress a single file;

file file name : check the file type (can be seen in which way to compress)

tar -zxvf a.tar.gz -C ./test : Extract tar.gz to the test directory in the current directory
tar -zcvf /opt/c.tar.gz ./a/ : Compress tar.gz (compress all files in the a directory and directory under the current directory to c.tar.gz in the /opt/ directory, so tar - Zxvf c.tar.gz unzipped with a directory a)

tar -jxvf a.tar.bz2 : Extract tar.bz2 (to the current directory)
tar -jcvf c.tar.bz2 ./a/ : Compress tar.bz2 (compress all files in the a directory and directory under the current directory to c.tar.gz2 in the current directory)

unzip a.zip : Unzip zip (to the current directory)
unzip -o mdmtest.war -d /opt/mdm : It is recommended to unzip the war package (-o overwrites the original file, -d specifies the directory where the file is stored after decompression)
zip -r c.zip ./a/ : Compress zip (compress all files in the a directory and directory under the current directory to the current directory as c.zip

bzip2 -k file1 : Compress a file of 'file1' (-k means to keep the source file) (bzip2 format, better than gzip)
bzip2 -d -k file1.bz2 : Extract a file called 'file1.bz2'

gzip file1 : Compress a file called 'file1' (gzip format) (cannot keep source files)
gzip -9 file1 : maximum compression
gzip -d file1.gz : Unzip a file called 'file1'


作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:Install Docker on CentOS 7
下一篇:Install snipe-it on CentOS 7

发表评论