Linux Commands that Newbies Must Know

    This article will further learn the linux commands that must be mastered, and master these commands to make the computer understand you better.

    As far as the centos operating system we have installed above is concerned, we usually operate in two ways: the first is to operate graphically through the desktop; the other is to enter commands through the terminal.

    For the server, we usually use a remote connection tool to connect to the server, and then manage it by command. How does a computer know what to do when we type a command? Then you have to rely on command line tools (also called terminals) to translate and interpret, and then call the corresponding interface services to complete specific functions.

The interaction between the user and the linux system is through the shell terminal. The following section will first analyze the shell command line tools, and then explain the most basic linux commands.

1. Introduction to shell

    Computer hardware is composed of arithmetic unit, controller, memory, input/output devices, etc., and the thing that allows various hardware devices to perform their own functions and work together is the system kernel. The kernel of the Linux system is responsible for completing management tasks such as allocation and scheduling of hardware resources. Therefore, the system kernel is very important to the normal operation of the computer. Generally, it is not recommended to edit the parameters in the kernel directly, but to allow users to manage the computer through programs or services developed based on the system call interface to meet the needs of daily work. The shell is such a client-side command-line tool that acts as a bridge between the user and the system kernel.

    Shell, also known as "terminal" and "shell", is a command-line tool written in C language, acting as a translator between humans and the kernel (hardware). The user "tells" some commands to the terminal, and it will call the corresponding command. The program service to do some work.

1.1 shell version

    Listed below are several shell versions

  • sh (Bourne Shell): It is the shell originally used by UNIX and can be used on every UNIX. Great at shell programming, but not as good at handling interaction with the user as several other shells.
  • bash (Bourne Again Shell): Linux default, is an extension of Bourne Shell. It is fully compatible with Bourne Shell, and adds many features such as command completion, command history, etc. It also contains many advantages of C Shell and Korn Shell, has flexible and powerful editing interface, and has a very friendly user interface.
  • csh (C Shell): A more suitable variant of the Bourne Shell, the syntax is very similar to the C language.
  • Tcsh: An extended version of the C Shell provided by Linux. Including command line editing, programmable word completion, spell correction, historical command substitution, job control and C-like syntax, it is not only compatible with the Bash Shell prompt, but also provides more prompt parameters than the Bash Shell.
  • ksh (Korn Shell): It combines the advantages of C Shell and Bourne Shell and is fully compatible with Bourne Shell.
  • pdksh: An extension to ksh provided by Linux systems. Support character control, you can suspend on the command line, execute in the background, wake up or terminate the program.

    The default terminal used by many mainstream Linux systems, including Red Hat, is the Bash (Bourne-Again SHell) interpreter. The mainstream Linux system chooses the Bash interpreter as the command line terminal mainly because of the following four advantages:

    The installed centos7 also uses the bash terminal by default. When using a remote connection tool to connect to centos7, the default open terminal is bash, which can be viewed by entering the command in the terminal: echo $SHELL, and the result is: /bin/ bash.

  • How to judge the type of the current terminal?

​ via "echo $SHELL" command or via "evn" terminal command

  • How do I change the terminal type I log in to?

​ Use the terminal command chsh, such as: chsh -s /bin/bash to change the login terminal to bash

1.2 Shell Command Types

    A shell is a program that is used by the user to interact with the operating system, and is equivalent to a command parser.

    As an interface between the user and the kernel, it is both a command language and a programming language. Shell commands are further divided into built-in commands and external commands.

  • built-in commands

The internal command is actually a part of the shell program, which contains some relatively simple linux system commands. These commands are recognized by the shell program and run inside the shell program. Usually , the shell is loaded and resident when the linux system loads and runs. in system memory . Internal commands are written in the bashy source code, and their execution speed is faster than external commands, because parsing the internal command shell does not require the creation of subprocesses. For example: exit, history, cd, echo, etc.

  • external command

The external command is the utility part of the linux system. Because the function of the utility program is usually relatively powerful, the amount of programs it contains will also be large . only when it is called into memory . Usually the entity of the external command is not contained in the shell, but its command execution process is controlled by the shell program . The shell program manages the path search, loading and storage of external command execution, and controls the execution of commands. External commands are installed outside of bash, usually in /bin, /usr/bin, /sbin, /usr/sbin...etc. You can view the storage path of external commands through the "echo $PATH" command, such as: ls, vi, etc.

How to distinguish whether it is an internal command or an external command?

  1. Through the type command, such as: type cd can see that it is an internal command; type mkdir can see that it is an external command.
  2. Through the man command, such as: man cd, it will prompt that it is a built-in command of bash; man ls, it will prompt that it is an external command.

    The biggest difference between internal commands and external commands is performance. Internal commands execute much faster than external commands because they are built into the shell and do not have to create extra processes. So just like executing a larger script, executing a script that contains many external commands can hurt the performance of the script.

The most commonly used commands

    Now that there is already a "translator" such as Bash in the Linux system, it is necessary to learn how to communicate with it. In order to complete various tasks accurately and efficiently, it is not enough to rely only on the command itself, and the parameters of various commands should be flexibly adjusted according to the actual situation.

The general format of linux execution command: command name [command parameter] [command object]

    Separate command names, command parameters, and command objects with a space bar. Command objects generally refer to files, directories, users and other resources to be processed, and command parameters can be in long format (--) or short format (-).

Long form: man --help

Short form: man -h

    There are many linux commands, and the most important thing is the combination of various parameters. It is impossible for a novice to remember all the parameters, and it is necessary to check them frequently through the help command.

Special note: In the terminal, sometimes a lot of content is displayed, and you can browse through the shortcut keys.

shift PgUp: page up

shift PgDn: page down

2.1 Help commands

    There are two main help commands: man and help. Usually, there are more help commands. If you encounter an unclear command, use the help command to check it. You don't need to memorize it by rote, and practice makes perfect.

2.1.1 man command
Syntax: man [command or configuration file]

Function: Get help information

Case:

[root@heimatengyun ~]# man date

    For example, if you want to view the usage of the date command, after entering the command man date, the following information will appear

file

    Since there is a lot of help information, you need to turn the page to read it, so first explain that this interface may need to use the keys and their purposes.

button

use

space bar

page down

PgDn (page down)

page down

PgUp (page up)

page up

home

Go to homepage

end

go to footer

/

Search keywords from top to bottom, such as "/linux"

?

Search keywords from the bottom up, such as "?linux"

n

Locate the next searched keyword

N

Locate the last searched keyword

q

Exit the help file

    When a beginner looks at it, so much help information is confusing. In fact, it is very simple. Let's take a look at the structure of the help information (the part circled with the red line in the above figure).

structure name

illustrate

NAME

the name of the command

SYNOPSIS

Basic syntax of commands

DESCRIPTION

Explain in detail the usage of options and parameters corresponding to the syntax format

EXAMPLES

Example of how to use the command

OVERVIEW

Overview

DEFAULTS

Default function

OPTIONS

specific options available

ENVIRONMENT

environment variable

SEE ALSO

Relevant information, usually man pages

    Through these help information, you can easily grasp the usage of each command.

2.1.2 help command
Syntax: help command

Role: Get help information for shell built-in commands

Case:

[root@heimatengyun ~]# help cd

Before officially entering the command learning, let 's introduce a few common shortcut keys in linux

hot key

effect

ctrl l

clear screen

ctrl q

quit

ctrl c

stop process

Up and down keys

Find commands executed in the past

tab

Command completion, multi-purpose not only improves efficiency but also prevents typing mistakes

    Since everything in linux is a file, after understanding the omnipotent help command, we will start learning from the directory file command.

 

2.2 Directory related commands

    The directory can classify and manage files, so the directory-related commands are explained before the file commands are explained.

2.2.1 pwd
Syntax: pwd

Function description: Display the absolute path of the current working directory

Case:

[root@heimatengyun ~]# pwd

/root
2.2.2 ls
Syntax: ls [options] [directory or file]

Function description: List the files in the directory

Options:

​ -a(--all): show all files, including hidden files (files starting with .)

 -d:directory,列出目录本身

​ -l: long long data string list, including file attributes and permissions, etc. The information listed on each line is: file type and permissions, number of links, file attributes, file group, file size (byte), creation or last modification time, name

Case:

[root@heimatengyun test]# ls -al
total 12
drwxr-xr-x.  2 root root   37 Nov 24 10:43 
.dr-xr-x---. 16 root root 4096 Nov 24 00:02 
..-rw-r--r--.  1 root root   26 Nov 23 20:40 
test1.txt-rw-r--r--.  1 root root   66 Nov 23 21:56 test.txt
2.2.3 cd
grammar:cd [option][dir name]

Function description: switch to the specified directory

Case:

​ cd absolute path or relative path (jump to the specified directory)

​ cd or cd ~ (returns the current user home directory)

​ cd - (return to the last directory)

​ cd .. (return to the previous directory of the current directory)
2.2.4 mkdir
Syntax: mkdir [options] directory name

Function description: Create the specified directory

Options:

​ -p : parents, create multi-level directories

Case:

​ [root@heimatengyun ~]# mkdir test

​ [root@heimatengyun ~]# mkdir -p test1/test1
2.2.5 is rm
Syntax: rmdir [options] directory name

Function description: delete empty directory

Options:

​ -p: delete multi-level directories

Case:

​ [root@heimatengyun ~]# rmdir test

​ [root@heimatengyun ~]# rmdir -p test1/test1/ (If the -p parameter is not specified, only the directory whose last level is not empty will be deleted)
2.2.6 cp
Syntax: cp source directory or file target directory or file

Function description: copy directory or file

Options:

​ -r: recursive, recursively copy the entire folder

Case:

Copy test as test.txt, rename it when copying

[root@heimatengyun ~]# cp test test.txt

Copy all test directory contents to test1 directory (automatically create test1 directory)

[root@heimatengyun ~]# cp -r test test1  
2.2.7 mv
Syntax: mv [options] source target

Function description: move files or rename files

Case:

Rename the test file to test.txt

[root@heimatengyun test]# mv test test.txt   

Move the test directory and all its contents to the test2 directory, and automatically create the test2 directory (it can be understood as renaming the test folder to test2)

[root@heimatengyun ~]# mv test/ test2  
2.2.8 rm
Syntax: rm [options] file

Function description: delete files and directories

Options:

​ -f: force to enforce

​ -r: recursive recursive execution

Case:

Recursively delete a directory and everything under it

 [root@heimatengyun ~]# rm -rf test2/  

2.3 File related commands

    Everything in linux is a file. After connecting the directory-related commands, this section learns the file-related commands.

2.3.1 touch
Syntax: touch [options] filename

Function description: Create empty file

Case:

 [root@heimatengyun test]# touch test.txt

echo

Syntax: echo string or variable

Function description: output string or variable value, and can also store content to file with slave directional character

Case:

[root@heimatengyun test]# echo hello

hello

[root@heimatengyun test]# echo $SHELL

/bin/bash

[root@heimatengyun test]# echo linux >> test.txt
2.3.2 cat
Syntax: cat [options] filename

Function description: View the content of the file, starting from the first line

Options:

​ -A: List special characters instead of whitespace

​ -b: List line numbers, blank lines are not counted as line numbers

​ -n: List line numbers, blank lines will also have line numbers

​ -v: List some invisible special characters

Case:

 [root@heimatengyun test]# cat test.txt

 hello

 who are you

 where are you from

 [root@heimatengyun test]# cat -A test.txt

 hello$

 who are you$

 $

 where are you from$

 [root@heimatengyun test]# cat -b test.txt

      1  hello

      2  who are you

      3  where are you from

 [root@heimatengyun test]# cat -n test.txt

      1  hello

      2  who are you

      3

      4  where are you from
2.3.3 more
Syntax: more [options] file

Function description: View file content, display page by page

Instructions for use:

​ Space bar (space): page down

​ enter: scroll down a line

​ q: Exit more, no longer display file content

​ ctrl f: scroll down one screen

​ ctrl b: return to the previous screen

​=: output the line number of the current line

​ :f: output file name and current line number
2.3.4 head
Syntax: head [options] file

Function description: View the content of the file, only the first few lines

Options:

​ -n: view the first n lines

Case:

​ [root@heimatengyun test]# head -n 2 test.txt
2.3.5 tail
Syntax: tail [options] file

Function description: View the content of the file, only the last few lines of the file

Options:

​ -n: last few lines

​ -f: follow the content of output file modifications, used to track file modifications

Case:

​ [root@heimatengyun test]# tail -n 2 test.txt
2.3.6 wc
Syntax: wc [options] text

Function description: Count the number of lines, words and bytes of the specified text

Options:

​ -l: lines display the number of lines

​ -w: display the number of words

​ -c: display the number of bytes

Case:

[root@heimatengyun test]# cat test.txt 
hellowho are youwhere are you form?wellcomehahahtest

[root@heimatengyun test]# wc -l test.txt 

8 test.txt[root@heimatengyun test]# wc -c test.txt 

60 test.txt[root@heimatengyun test]# wc -w test.txt 

11 test.txt
2.3.7 stat
Syntax: stat [options] file

Function description: View the specific storage information and time of the file

Case:

[root@heimatengyun test]# stat test.txt

    File: ‘test.txt’

    Size: 60              Blocks: 8          IO Block: 4096   regular file

  Device: fd01h/64769d    Inode: 2160373     Links: 1

  Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

  Context: unconfined_u:object_r:admin_home_t:s0

  Access: 2019-11-23 18:27:02.153101936  0800

  Modify: 2019-11-23 18:26:56.254259870  0800

  Change: 2019-11-23 18:26:56.254259870  0800

   Birth: -
2.3.8 cut
Syntax: cut [options] file

Function description: Extract text characters by column

Options:

​ -d: delimiter separator

​ -f: fields column to extract

Case:

Query all user names in the system

[root@heimatengyun test]# cut -d: -f1 /etc/passwd

root

bin

daemon

adm

lp

sync
...
2.3.9 diff
Syntax: diff [options] file1, file2

Function description: Compare the differences of multiple texts

Options:

​ --brief: show whether the compared files are the same

​ -c: context tag displays different content
2.3.10 dd
Syntax: dd [parameter or option]

Function description: Copy files or convert files according to the specified size or number of databases

parameter:

​ if: the input file name

​of: output file name

​ count: Set the number of blocks to be copied

​ bs: bytes file block size

Case:

Create a file with a specified size of 10M

[root@heimatengyun test]# dd if=/dev/zero of=10_file count=1 bs=10M1 0 records in1 0 records out10485760 bytes (10 MB) copied, 0.0102506 s, 1.0 GB/s

[root@heimatengyun test]# ll

total 10248

-rw-r--r--. 1 root root 10485760 Nov 23 21:05 10_file
2.3.11 file
Syntax: file filename

Function description: View file type

Case:

[root@heimatengyun test]# file test.txt test.txt: ASCII text
2.3.12 wget
Syntax: wget [parameter] [url address]

Function: download network files

parameter:

​ -b: background background download

​ -P: directory-prefix download to the specified directory

​ -t: tries maximum number of attempts

​ -c: continue the breakpoint resume

​ -p: page-requisites Download all content of the page, including pictures, videos, etc.

​ -r: recursive recursive download

Case:

Download Baidu logo image

[root@heimatengyun test]# wget https://www.baidu.com/img/bd_logo1.png

--2019-11-23 22:29:45--  https://www.baidu.com/img/bd_logo1.png

Resolving www.baidu.com (www.baidu.com)... 14.215.177.38, 14.215.177.39

Connecting to www.baidu.com (www.baidu.com)|14.215.177.38|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 7877 (7.7K) [image/png]

Saving to: ‘bd_logo1.png’100%[======================>] 7,877       --.-K/s   in 0.002s  2019-11-23 22:29:45 (4.43 MB/s) - ‘bd_logo1.png’ saved [7877/7877]

2.4 Find command

    Sometimes you need to find the required file from a large number of files or find specific content from a specified file, which requires the use of search-related commands.

2.4.1 find
Syntax: find [search scope] [match condition]

Function description: Find a file or directory

Parameter Description

​ -name: Find by file name

​ -user: find by file owner

​-size: root find files by file size (n is greater than, -n is less than, n is equal to)

case

Find the test1.txt file in the test directory

[root@heimatengyun ~]# find test/ -name test1.txttest/test1.txt

Find the file in the test directory to find the user root

[root@heimatengyun ~]# find test/ -user roottest/test/test.txt

Find files smaller than 100M in the test directory

[root@heimatengyun ~]# find test/ -size -102400test/test/test.txt
2.4.2 grasp
Syntax: grep [parameters] Find content source files

Function description: Search the file for the line matching the string and output

parameter:

​ -c:count only output the count of matching lines

​ -n: line-number Display matching lines and line numbers

Case:

[root@heimatengyun test]# grep -n who test.txt 

3:who are you[root@heimatengyun test]# grep -c who test.txt 

1
2.4.3 which
Syntax: which [options] command

Function description: Search command directory and alias information

Case:

Search the directory where the cd command is located

[root@heimatengyun test]# which cd

/usr/bin/cd

2.5 Compression and decompression

    In order to facilitate transmission or save storage space, sometimes files exist in the form of compressed packages, so it is necessary to understand the commands related to compression and decompression.

2.5.1 takes
Syntax: tar [parameter] package name.tar.gz content to be packaged

Function description: package directory, the compressed file format is .tar.gz

parameter:

​ -c: create generates a .tar package file

​ -x: extract unpacks the .tar file

​ -v: verbose show detailed information

​ -f: file specifies the compressed file name

​ -z: pack and compress at the same time

​ -C: Unzip to the specified directory

Case:

Compress multiple files, compress test.txt and test1.txt into test.tar.gz

[root@heimatengyun test]# tar -zcvf test.tar.gz test.txt test1.txt test.txttest1.txt[root@heimatengyun test]# lltotal 10252-rw-r--r--. 1 root root       26 Nov 23 20:40 test1.txt-rw-r--r--. 1 root root      210 Nov 23 23:57 test.tar.gz-rw-r--r--. 1 root root       66 Nov 23 21:56 test.txt

zip directory

[root@heimatengyun ~]# tar -zcvf test.tar.gz test/

Unzip to current directory

[root@heimatengyun test]# tar -zxvf test.tar.gz 
2.5.2 zip and unzip
grammar:

​ Compression: zip [parameter] package name.zip Content to be compressed

​ Unzip: uzip package name.zip

Function description: Compress files and directories, common to windows and linux, and can compress directories and retain source files

parameter:

​ -r: recurse-paths recursively compress directories

Case:

Compress test.txt or test1.txt to test.zip

[root@heimatengyun test]# zip test.zip test.txt test1.txt 

  adding: test.txt (deflated 15%)

  adding: test1.txt (stored 0%)

Unzip test.zip

[root@heimatengyun test]# unzip test.zip Archive:  test.zip

  inflating: test.txt                

 extracting: test1.txt  
2.5.3 gzip and gunzip
grammar:

​ Compression: gzip [parameter] file

​ Unzip: gzip [parameter] file.gz

Function description:

​ Compression: Compress the file, you can only compress the file into a *.gz file. You can only compress files but not directories, and the original files are not retained after compression and decompression. Compress a single file

​ Unzip: Unzip the file

​ Case:

Compressed file

[root@heimatengyun test]# lltotal 8-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt[root@heimatengyun test]# gzip test1.txt [root@heimatengyun test]# lltotal 8-rw-r--r--. 1 root root 54 Nov 23 20:40 test1.txt.gz-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt

unzip files

[root@heimatengyun test]# lltotal 8-rw-r--r--. 1 root root 54 Nov 23 20:40 test1.txt.gz-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt[root@heimatengyun test]# gunzip test1.txt.gz [root@heimatengyun test]# lltotal 8-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt

2.6 Date command

    Date related commands are used to set or get the system date.

2.6.1 date
Syntax: date [options] [format]

Function description: display or set the time

parameter:

​ -s: set set the time in string format

Format: (note case sensitivity)

​ %Y: Display the current year

​ %m: Display the current month

​ %d: Displays the current day

​ %H: Display the current hour

​ %M: Display the current minute

​ %S: Display the current number of seconds

​ %Y%m%d: Display the current year, month and day

​ " %Y-%m-%d %H:%M:%S": Display the current year, month, day, hour, minute and second (enclosed in quotation marks)

Case:

set time

[root@heimatengyun test]# date -s "2019-11-24 11:05:10"Sun Nov 24 11:05:10 CST 2019

display time

[root@heimatengyun test]# dateSun Nov 24 11:02:21 CST 2019[root@heimatengyun test]# date  %Y%m%d

20191124[root@heimatengyun test]# date " %Y-%m-%d %H:%M:%S"

2019-11-24 11:02:55

    date to view non-current time (such as the previous day, the next day, take the next week Monday, etc.) and cal to view the calendar command will not be discussed for the time being, and there will be a chance to discuss it later.

2.7 Process thread commands

    Tasks exist in the form of processes or threads, so you need to keep an eye on system processes at any time, check whether there are abnormal processes and how each process occupies system resources, and use different process management commands to manage and control processes.

2.7.1 ps
Syntax: ps [options]

Function description: View all processes in the system

parameter:

​ -a: all displays all programs under the current terminal, including programs of other users (for example, multiple clones of several sessions to execute different commands will also be listed)

​ -u: userlist Display program status in user-based format

​ -x: Display all programs, not differentiated by terminals (as mentioned earlier, there are many types of terminals, not only the current terminal)

Case:

[root@heimatengyun test]# ps -aux

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root       2966  0.0  0.1 116340  3192 pts/0    Ss   Nov22   0:03 -bash

...

Explanation of each item

item

meaning

USER

which user the process was created by

PID

Process ID

%CPU

The percentage of CPU occupied by the process. The higher the occupancy, the more resource-consuming the process.

%MEM

The percentage of memory occupied by the process. The higher the occupancy, the more resources the process consumes.

VSZ

The size of virtual memory occupied, in KB

RSS

The size of the actual physical memory occupied, in KB

TTY

Indicates which terminal the process is running in, tty1-tty7 represents the local console terminal (tty1-tty6 is the local character interface terminal, tty7 is the graphic terminal), pts/0-255 represents the virtual terminal

STAT

Process state, common states are: R (running), S (sleep), T (stop state), s (including child processes), (in the background)

START

Process start time

TIME

Process execution time, that is, the computing time occupied by the CPU, not the system time

COMMAND

The name of the command that spawned this process

2.7.2 top
Syntax: top [options]

Function description: View system health status

parameter:

​ -d seconds: Delay-time, specify the top command to update every few seconds, the default is 3 seconds.

​ -i: Idle-process, so that the top command does not show any idle or zombie processes

​ -p: Monitor-PIDs, only monitor the status of a process by specifying the monitoring process ID

​ -s: Secure-mode, make top run in safe mode and remove potential dangers caused by interactive commands

Case:

View non-zombie processes, refresh once a second

[root@heimatengyun test]# top -i -d 1

top - 12:39:19 up 1 day, 14:31,  3 users,  load average: 0.04, 0.04, 0.05Tasks: 395 total,   1 running, 391 sleeping,   3 stopped,   0 zombie

%Cpu(s):  0.0 us,  1.0 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem:   1870784 total,   720520 used,  1150264 free,      880 buffersKiB Swap:  2097148 total,        0 used,  2097148 free.   238616 cached Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME  COMMAND              

 29987 root      20   0  123936   1868   1160 R   2.0  0.1   0:08.32 top 

 ...

In this interface, you can use the following corresponding keys to sort operations

Action keys

illustrate

shift n

Sort by PID

shift m

Sort by memory

shift p

Sort by cpu usage, default option

q

exit top

Interpretation of command results

The first line: task queue information

content

illustrate

12:20:42

current system time

up 1 day, 14:12

system uptime

3 users

Number of currently logged in users

load average: 0.08,0.01, 0.05

The average load of the system in the previous 1 minute, 5 minutes, and 15 minutes is generally considered to be less than 1, the load is small, if it is greater than 1, the system has exceeded the load

The second line: process information

content

illustrate

Tasks: 395 total

The total number of processes in the system

1 running

Number of running processes

391 sleeping

sleeping process

3 stopped

stopping process

0 zombie

Zombie process, if not 0, you need to manually check the zombie process

The third line: cpu information

content

illustrate

%Cpu(s): 0.0 us

CPU percentage used in user mode

1.0 and

CPU percentage used in system mode

It is 0.0

Percentage of CPU occupied by user processes whose priority has been changed

99.0 id

percentage of idle cpu

0.0 of

Percentage of CPU occupied by processes waiting for input and output

0.0 hi

Percentage of CPU occupied by hard interrupt request service

0.0 and

Percentage of CPU occupied by softirq request service

0.0 st

steal time virtual world percentage, when there is a virtual machine, the percentage of time that the virtual cpu waits for the timing cpu

ps: if the server has multiple cpus, multiple lines will be displayed

Fourth line: physical memory information

content

illustrate

KiB Mem: 1870784 total

The total amount of physical memory, in KB

720520 used

Amount of physical memory used

1150264 free

Amount of free physical memory

880 buffers

Amount of memory as buffer

Fifth line: swap partition information

Memory

illustrate

KiB Swap: 2097148 total

Total size of swap partition (virtual memory)

0 used

The size of the used swap partition

2097148 free

The size of the free swap partition

238616 cached Mem

The size of the swap partition used as cache

Sixth line: blank line

The seventh line: header information

content

illustrate

PID

process id

USER

process owner

PR

Process priority

IN

Negative values ​​indicate high priority, positive values ​​indicate low priority

VIRT

The total amount of virtual memory used by the process, in kb. VIRT=SWAP RES

RES

The size of the physical memory used by the process but not swapped out, in kb. RES=CODE DATA

SHR

Shared memory size, in kb

S

Process status. D=uninterruptible sleep state R=running S=sleep T=track/stop Z=zombie process

%CPU

The percentage of CPU time used since the last update

%MEM

The percentage of physical memory used by the process

TIME

The total CPU time used by the process, in 1/100th of a second

COMMAND

Process name (command name/command line)

2.7.3 pidof
Syntax: pidof [parameter] service name

Function description: Query the pid value of a specified service process

Case:

View the process id of the sshd service

[root@heimatengyun test]# pidof sshd

2962 2247
2.7.4 pstree
Syntax: pstree [options]

Function description: View process tree

Options:

​ -p: Display the PID of the process

Case:

[root@heimatengyun test]# pstree -p

systemd(1)─┬─ModemManager(948)─┬─{ModemManager}(1004)

           │                   └─{ModemManager}(1031)

           ├─NetworkManager(1123)─┬─{NetworkManager}(1284)

           │                      └─{NetworkManager}(1312)

...
2.7.5 kill
Syntax: kill [options] process id

Function description: Terminate a service process with a specified pid

Options:

​ -9: Force the process to stop immediately

Case:

[root@heimatengyun test]# kill -9 20385
2.7.6 killall
Syntax: killall [options] service name

Function description: Terminate all processes corresponding to a service with a specified name

Case:

Terminate all processes of the httpd service

[root@heimatengyun test]# killall httpd

2.8 System Status Detection Command

    Use related commands to check the system status and resource consumption to ensure the healthy and stable operation of the system.

2.8.1 ifconfig
Syntax: ifconfig [network device] [parameters]

Function description: Get network card configuration and network status information

Case:

[root@heimatengyun test]# ifconfig 
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.78.100  netmask 255.255.255.0  broadcast 192.168.78.255

        inet6 fe80::20c:29ff:febc:5eef  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:bc:5e:ef  txqueuelen 1000  (Ethernet)

        RX packets 143336  bytes 103106029 (98.3 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 92576  bytes 143399144 (136.7 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Main view content: network card name (eno16777736), ip address (after inet), physical network card address, ie mac address (ether), number of packets received and sent by TX and TX, and cumulative traffic
2.8.2 netstat
Syntax: netstat [parameters]

Function description: Display the current network status of the entire system, such as current links, data packet transmission data, routing table content, etc.

Case:

[root@heimatengyun test]# netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State      

tcp        0     96 192.168.78.100:ssh      192.168.78.1:59688      ESTABLISHED

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags       Type       State         I-Node   Path

unix  2      [ ]         DGRAM                    13149    /run/systemd/shutdownd

...
2.8.3 uname
Syntax: uname [options]

Function description: View information such as system kernel and system version

parameter:

​ -a:all Display complete system information

​ -s: kernel-name system kernel name

​ -n: nodename node name

​ -r: kernel-release kernel release

​ -v: kernel-version kernel version

​ -m: machine hardware name

​ -i: hardware-platform hardware platform

​ -p: processor processor type

​ -o: operating-system operating system name

Case:

[root@heimatengyun test]# uname

Linux

[root@heimatengyun test]# uname -a

Linux heimatengyun 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

The displayed information is: kernel name (Linux), host name (heimatengyun), kernel release (3.10.0-123.el7.x86 64), kernel version (#1 SMP Mon Jun 30 12:09:22 UTC 2014) , hardware name (x86 64), hardware platform (x86 64), processor type (x86 64), and operating system name (GNU/Linux).

If you want to view the details of the single-signature system version, by viewing the /etc/redhat-release file

[root@heimatengyun test]# cat /etc/redhat-release

CentOS Linux release 7.0.1406 (Core)
2.8.4 uptime
Syntax: uptime [options]

Function description: View the load information of the system, which can display information such as the current system time, the system running time, the number of enabled terminals, and the average load value. The average load value refers to the pressure of the system in the last 1 minute, 5 minutes, and 15 minutes. The lower the load value, the better, try not to exceed 1 for a long time, and do not exceed 5 in the production environment.

Case:

[root@heimatengyun test]# uptime

 21:30:44 up 1 day, 23:23,  3 users,  load average: 0.00, 0.01, 0.05
2.8.5 free
Syntax: free [options]

Function description: Display the memory usage information in the current system

Options:

​ -m: megabytes display in megabytes

​ -h: human with unit output

Case:

[root@heimatengyun test]# free -h

total       used       free     shared    buffers     cachedMem:         
 1.8G       702M       1.1G       8.9M       880K       233M

-/  buffers/cache:       468M       1.3GSwap:         2.0G         0B       2.0G

Field description: total (total memory), used (used), free (available), shared (memory shared by processes), buffers (disk cached memory), cached (cached memory)
2.8.5 who
Syntax: who [parameter]

Function description: View the user terminal information currently logged into the host

Case:

[root@heimatengyun test]# who

root     pts/0        2019-11-22 22:10 (192.168.78.1)

root     pts/1        2019-11-23 11:53 (192.168.78.1)
2.8.6 last
Syntax: last [parameter]

Function description: View all system login records. However, it should be noted that this information is saved in log files, so hackers can easily modify it, so this command cannot be used to judge whether there is hacking.

Case:

[root@heimatengyun test]# last

root     pts/2        192.168.78.1     Sun Nov 24 13:09 - 13:36  (00:26)

root     pts/1        192.168.78.1     Sat Nov 23 11:53   still logged in 

... 
2.8.7 history
Syntax: history [parameters]

Function description: Display the commands executed in history

Options:

​ -c: Clear all history, but .bash_history file contents will not be deleted

Case:

[root@heimatengyun test]# history

    1  history

    2  ll

    3  ls

    4  history

[root@heimatengyun test]# !2

ll

total 8

-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt

-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt

You can use "!Number" to execute a command that has been executed once

1000 historical records can be viewed by default, but the value of HISTSIZE can be modified in /etc/profile

History commands are saved in a .bash_history file in a farmer's home directory (hidden files at the beginning of . are listed through ls or ll -a), which can be viewed with the cat command

2.9 Shutdown command

    Linux is generally used on servers, and rarely encounters shutdowns. After all, the shutdown service will be interrupted, and it will be shut down unless there are special circumstances.

Correct shutdown process: sync>shutdown or reboot or halt

Regardless of restart or shutdown, you need to sync the memory data to the hard disk first to avoid data loss

2.9.1 reboot
Syntax: reboot [options]

Function description: Restart the system, equivalent to shutdown -r now

Case:

[root@heimatengyun ~]# reboot
2.9.2 poweroff
Syntax: poweroff [options]

Function description: Shut down the system

Case:

[root@heimatengyun ~]# poweroff
2.9.3 halt
Syntax: halt [options]

Function description: Shut down the system, equivalent to shutdown -h now and poweroff

Case:

[root@heimatengyun ~]# halt
2.9.4 shutdown
Syntax: shutdown [options] [shutdown time] [prompt content]

Function description: shutdown

Options:

​ -h: shutdown

​ -r: restart

Shutdown time:

​ hh:mm: Specifies the hour and minute in 24-hour clock to shut down

​ m: shutdown after m minutes (1: default, shutdown after 1 minute; 0: now, shutdown immediately)

Case:

Shut down after 1 minute and prompt all users logged into the system

[root@heimatengyun ~]# shutdown -h 1 "this server will shutdown after 1min"this server will shutdown after 1min

The system is going down for power-off at Sun 2019-11-24 22:25:55 CST!

User and file-related permission commands will be explained in future articles, and there are many other commands, which are not discussed here due to space limitations. The next article article will share "linux introductory series 6--rpm and yum repository for package management".

 

Original article, please indicate the source for reprinting:http://127.0.0.1:8000/system-administration-linux-tutorial/linux-commands-that-newbies-must-know/