tips: Next to the previous article, Linux Command Guide
[TOC]
2.4 File Unzipping
2.4.1 Guanxuan linux Compression Tool: tar
The basic command format for tar is
tar [parameter options] [file or directory]
The commands we've learned before always have parameter options - - the tar command is a bit special, plus or minus, for example, tar -z can be written as tar z.
Common tar commands:
Tar-zcvf [compressed package name] [packaged file or directory] # [Compressed package name] is usually tar.gz suffix # z: Compression or decompression via gzip # c: Create a new tar package # v: Display command execution process # f: Specify the name of the compressed file # t: View tar package content without decompressing tar tvf [compressed package] # View the contents of the compressed package without decompressing tar zxvf [compressed package]-C [decompression path] # To change c of the compression parameter to x is to decompress it. #- C: Specify the decompression path without - C to the current directory
Common command examples:
# Prepare point data first cd ~ # Return to the user root directory mkdir -p /var/www/yaojiaxiaoyuan/html # Create multilevel directories touch /var/www/yaojiaxiaoyuan/html/yaomaomao{01..10}.html # Create multiple files in batch in the above directory tar zcvf www.tar.gz /var/www/yaojiaxiaoyuan/html # Packing directory / var/www/yaojiaxiaoyuan/html into www tar package
mkdir /var/www/yaojiaxiaoyuan/html/test find /var/www/yaojiaxiaoyuan/html ! -type d| xargs tar zcvf www2.tar.gz # Find files that are not directories under / var/www/yaojiaxiaoyuan/html and package them as www2.tar.gz # Combine packaging according to the commands learned by find # The -- exclude parameter of the tar command also has the function of excluding packaging, so it can be studied by itself without further elaboration. tar -tvf www2.tar.gz # Do not decompress to view files in compressed package www2.tar.gz
mkdir ./yao/ yao2 tar zxvf www.tar.gz -C ./yao/ # Unzip www.tar.gz to the yao directory # You can see that even var is packed in.
If you don't want to pack, what about multi-tier, pack directly from cd to the directory you need to pack.
2.4.2 gzip
gzip can only pack files, not directories.
gzip packages the file and deletes the source file.
gzip parameters:
gzip [parameter options] [to compress files or packages] #- d: decompression #- v: Display decompression process #- l: List compressed file content information #- c: Do not change the original file #- r: Recursively compress all files in the directory #- t: Check the integrity of compressed files #- Number <1-9>: Specify the compression rate, the larger the value, the higher the compression rate, default to 6
Examples of Common Commands for gzip:
cd /var/www/yaojiaxiaoyuan/html gzip *.html # Packing all html files, you can see that html is compressed into gz files and disappeared.
gzip -l *.gz # Presentation of information in compressed packages without decompression gzip -dv *.gz # Unzip gz file
It can be found that the gz package disappeared after decompression. How do I keep the source files?
echo 'Try' >> yaomaomao01.html # First add a point to the yaomaomao01.html file, where echo works like sed gzip -c yaomaomao01.html > 01.gz # Compress yaomaomao01.html to 01.gz using the - c +redirection symbol, and do not delete the source file. The same is true for decompression.
gzip -dc 01.gz > 01.html # Decompress 01.gz to 01.html, and you can see that the source file 01.gz still exists.
Extension: You can view compressed files using extensions such as zcat, zgrep, zless, zdiff, as well as commands such as cat, grep, less and diff, as shown in Figure 1:
zcat 01.gz
gz can't compress directories, as we said at the beginning, the error is as follows:
gzip test # ==>> gzip: test is a directory -- ignored
2.4.3 zip/unzip
2.4.3.1 zip
zip compression format, windows, linux, mac are common compression format, and like tar, can compress directories.
zip yao.zip * # Compress all files in the current directory
However, such packaging does not compress files under subdirectories, but only the subdirectories themselves, as shown in the figure:
cd test touch test01.txt cd ../ zip yao2.zip *
Like other commands, zip has a - r parameter that can be compressed recursively
zip -r yao2.zip * # ==>> adding: test/test01.txt (stored 0%)
There are already compressed packages in the current directory. When you want to pack this directory, you don't type in the last compressed packages and exclude them. How do you pack them? Using the - x parameter:
zip -r yao3.zip * -x yao2.zip
Summary, zip packaging methods, and three parameters:
zip yao2.zip * # General packing zip -r yao3.zip * # Recursive packing zip -r yao3.zip * -x yao2.zip # Recursive packaging, excluding a file zip -rq yao4.zip * # Recursive Packing, No Compressed Information Displayed # Parametric, general compression # - r: Recursive compression # - x: Exclude a file compression # - q: No compressed information is displayed
2.4.3.2 unzip
unzip can decompress ZIP format files packaged by zip commands or other software packages such as rar, 360 compression on windows.
View the compressed file without decompressing:
unzip -l yao.zip
Specify directory decompression:
unzip -d yao01 yao.zip # Unzip to the test folder # - d: Specify a directory, create a directory without it, extract part of the information===> create: yao01/test/ # Unzip to the current folder by default without the - d parameter # - o: When decompressing, we do not prompt whether to overwrite the file; if we decompress to the current directory now, we will prompt whether to overwrite it, because the file already exists, using - O can overwrite it directly # - v: Show details of decompression
2.4.4 7za
7z is also an efficient compressed file format. Common commands for 7z are as follows.
Compression:
7za a -r yao.7z *.html # Compress all html into yao.7z packages # a: add files and directories # -r: recursion
View the internal information of the file without decompressing:
7za l yao.7z # l: Undecompressed view
Decompression:
7za x yao.7z -r -oyao7z # X: Unzip, x can also be decompressed by replacing e with x; but in general, the full path is decompressed by X and x, and all files are decompressed into a directory by e # - r: Recursive decompression subdirectory # - o: Specify the decompressed directory. Note that there is no space between the - O parameter and the directory. This is a strange point.
2.5 Users, Files and Permissions
2.5.1 Privilege Upgrade: su and sudo
When it comes to users and privileges, we have to start with an unavoidable command: su and sudo.
The common point between su and sudo is that commands can be executed with another user privilege.
The difference is that sudo does not need su to switch to another user.
Switch users, su's common commands:
whoami # To see which user you are, we can see that it's root logged in. su yao # No password is required for root user to switch to normal user su root # Ordinary users need to enter passwords to switch back to root # Tips: Su root = su, Su switching root does not require input of root username # Note: Although this switch can be successful, the environment variable is still the original user, so use the following command to switch su - yao # su - [username], which can be switched to the corresponding user, but also the environment variables after login can be switched together
In fact, su can also execute commands without switching the past, just adding a parameter - c:
su - yao -c 'pwd' # Using yao to execute pwd commands
As you can see, the implementation was successful and the yao home path was returned correctly.
But after all, this method is not as convenient as sudo. Next, let's look at sudo without switching users.
su - yao # Switch to Ordinary User Logon whoami # Check if the switch is successful ls /root # Access the root folder
As you can see, there is no permission. What should I do? sudo ah.
sudo ls /root # Visit the root directory and enter the login password of the yao user.
Can all users use sudo? Of course not. Let's look at the users who give sudo permission:
sudo -l # View current user's authorized sudo permissions
How to grant sudo permission?
Add users to the / etc/sudoers file
sudo cat /etc/sudoers
It's OK to use vi or sed, but it's better to use visudo.
sudo visudo # root users do not use sudo
visudo is specially designed to edit / etc/sudoers files. It also has the function of grammar checking. Add your sudo users as soon as possible.
2.5.2 User additions and deletions: useradd, usermod, userdel
2.5.2.1 Users added: useradd, passwd
Most commonly used, add users without any parameters:
useradd wfy # New user wfy passwd wfy # Set the password. The password is typically case plus number and a special character.
passwd tips, a command to set user passwords:
echo "123456" | passwd --stdin wfy # stdin: Password can be obtained from standard input # This command is useful for batch password modification # In addition, there is a chpasswd command that can also batch password changes
passwd password expiration alert policy:
passwd -n 7 -x 60 -w 10 -i 30 wfy # Password cannot be changed within 7 days. Password must be changed after 60 days. Users should be notified 10 days before expiration. Users should not be allowed to log in 30 days after expiration. # - n: 7 denotes the number of days a password cannot be changed # - x:60 denotes the number of days a password must be changed # - w:10 means 10 days notice before expiration # - i: 30 means no login for 30 days after expiration
When useradd does not take any parameters, the system will first read / etc/login.defs (user definition), / etc/deault/useradd (user default configuration) files, and then add users to / etc/passwd (password file), / etc/group (user group) files at the same time according to the rules set therein.
After that, you can go to the / home directory and see that the home directory belonging to this user has been created.
cd /home/wfy
chage -l wfy # View User Validity Period
View user ownership information:
id wfy # This information is actually in / etc/passwd and can be viewed and compared with grep wfy /etc/passwd. # uid: User id # gid: user group id
Let's look at the role of gid when we talk about group.
Prohibit login user creation:
useradd -s /sbin/nologin ftp_ymm # - s: specify the shell for user login, / sbin/nologin means no login, middleware such as ftp deployment is often used useradd -M -s /sbin/nologin nginx_wfy # Middleware such as nginx, mysql, etc. is often deployed # - M: Do not create home directories
Other parameters:
useradd -u 806 -s /bin/sh -c "This is the test user." -G root -e "2019/12/21" -f 2 -d /tmp/wfy test_wfy # - u: Specify uid # - c: User Description # - G: Setting User Groups # - e: Set expiration time # - f:2 denotes suspension of rights for two days after expiration # - d: User's home directory at each login tail -1 /etc/passwd # Looking at the last line of the passwd file, you can see the user information you just added tail -1 /etc/shadow # Looking at the last line of the / etc/shadow file, you can see the parameter 2 just added to - f.
Extension: using the useradd -D parameter is to modify the user's initial configuration file: /etc/deault/useradd, to see what this file has.
[root@VM_0_3_centos wfy]# cat /etc/default/useradd # useradd defaults file GROUP=100 # Depending on the USERGROUPS_ENAB parameter of / etc/login.defs, if no, it is controlled here HOME=/home # Build the user's home directory in / home INACTIVE=-1 # Whether to enable user suspension of state-owned enterprises, -1 means not to enable EXPIRE= # User termination date, not set to indicate not enabled SHELL=/bin/bash # The default shell type used by new users SKEL=/etc/skel # Family directory default file storage path, when adding users, copy from this configuration directory in the past CREATE_MAIL_SPOOL=yes # Create mail files
Use useradd-D to modify it. Of course, make a backup first.
cp /etc/default/useradd{,.bak} # Make a backup. cd /etc/default # You can see the creation of useradd.bak file useradd -D -s /bin/sh # - D: Change the / etc/default/useradd file # - s: Change the default shell # - b: Definition home directory # - e: Set user expiration date # - f: suspension of power several days after expiration # - g: Setting up user groups diff /etc/default/useradd{,.bak}
You can see the contrast effect.
2.5.2.2 User Modification: usermod
Most of the parameters of usermod are the same as useradd, but only one modification is added. The different parameters are as follows:
usermod -l wfy2 wfy # Change the user's login name to wfy 2 # - l: Modify the user name # - L: lock, lock the user password # - U: unlock, unlock password # - a: Additional user groups, with - G parameters
Replace useradd with usermod, other parameters unchanged, to modify the user information
usermod -u 806 -s /bin/sh -c "Modified the test user" -G root -e "2019/12/21" -f 2 -d /tmp/wfy test_wfy grep test_wfy /etc/passwd grep test_wfy /etc/shadow
2.5.2.3 User Delete: userdel
userdel -r test_wfy # - r: Delete user and home directories # - f: Force the deletion of users even if they are logged in # Home directories will not be deleted without deleting the - r parameter
Note: userdel is not used in practice, but user information is annotated in / etc/passwd.
2.5.3 User View: id, w, who, whoami, last
id, view user id information:
id wfy # Display the uid and gid information of wfy
w, most commonly used, view logged-in user information:
w # Display all logged-in user information # The meaning of the display field is as follows # USER: User # tty: User tty name # FROM: Where did you log in? # LOGIN: Login time # IDLE: Terminal idle time # JCPU: Total time for all processes and subprocesses on the terminal to use the system # PCPU: System time used by active processes # WHAT: Process executed by the current user
who views all logged-in user information:
who # Display logged-in user information, slightly different from w
users view all logged-in user names:
users # Show users only
whoami views the current logged-in user information:
whoami # View the currently logged-in username
last:
last # Display user login list, read / var/log/wtmp last -10 # Display login information for the last 10 times last root -10 # Display the last 10 login messages for root users lastb # Display user login failure information, read / var/log/btmp lastb -10 # Show the latest 10 user login failure messages lastb root -10 # Show root user login failure information, the latest 10 lastlog # Show all user's latest login record, read / var/log/lastlog
2.5.4 File permissions: chown, chmod
2.5.4.1 Change File User Group: chown
Common chown commands are as follows:
cd ~ # Return to the root home directory chown wfy wfy.txt # Change wfy.txt to wfy
chown wfy:wfy wfy2.txt # Change the user of wfy2.txt to wfy and the user group from root to wfy
chown -R wfy:wfy yao # Empower the yao directory and its subdirectories to wfy # You can see that the var directory page under yao is empowered to wfy, the user and user group
2.5.4.2 Change file permissions: chmod
chmod can change the permission scope of files and directories. It has two empowerment modes: 1) using permission letters + operators; 2) using numbers.
Common command examples:
chmod 777 wfy.txt # Change wfy.txt permissions to be accessible to all
Before amendment:
After amendment:
7 stands for rwx, and 777 stands for rwxrxrwx.
- "r" = 4, readable permissions; directories, subdirectories and their files are accessible.
- "w" = 2, writable permission; can modify the file content, directory name.
- "x" = 1, executable privileges; directories cannot be accessed without x privileges, and sh script files cannot be executed without X.
- "-" = 0, no permission.
Give directory read-only permissions:
chmod -R 555 yao # 5 = 4 + 0 + 1, r-x, readable and executable permissions, but cannot be modified. Execute to see if the effect is the same as expected.
You can see that the first character is d, D represents the directory, followed by nine characters are r-x (sovereign limit), r-x (group authority bit), r-x (other user authority bit).
In addition, there is a commonly used empowerment mode, for + x, which gives executable permissions to files and is generally used to execute shell scripts:
chmod +x [script name].
There are generally four ways to execute shell scripts. The most common way is to use the following commands to execute after empowering + x:
/ script name.sh
There are three other ways:
/ script name.sh # There is a space after that. Sorce script name.sh SH script name.sh
Of course, it can also be used to execute txt files as follows:
. wfy.txt source sh wfy.txt
As you can see, our wfy.txt file is not a shell file, and no command can be found to execute it. The next shell introduction will tell you how to write the script file of. sh.
Note: Ordinary users need r privileges to execute, but root does not.
2.6 Resource Monitoring and Management
2.6.1 Virtual File Management System: proc
When it comes to resource management, the / proc folder is a directory that linux has to say.
ls /proc
You can see the digital folder of the red box circle in the red box / proc directory, which is actually where all the process files in our linux system are stored. Every time a process is generated, there will be a corresponding folder here, which is the pid we will often deal with in the future.
Many inux commands call files in this directory to display system-related information. For example, memory, cpu and other information.
Why can the files under proc store memory, processes, and cpu, which have nothing to do with disk files?
Because proc is actually a pseudo file system, or virtual file system. We said at the beginning of the article that everything in linux exists in the form of files, which is done by proc.
For users and applications, they can get some information of the system from proc, and even change some parameters of the kernel.
The contents of files in proc are not entirely unchanged. They will change with the change of system process. When users read them, the proc file system dynamically reads the required information from the system core and submits it.
Some of our common commands use the following files, such as disk, cpu, memory-related.
/proc/cmdline | Kernel command line, core startup parameters |
---|---|
/proc/cpuinfo | cpu related information |
/proc/devices | Mount equipment |
/proc/Loadavg | load balancing |
/proc/meminfo | Memory information |
/proc/mounts | Loading the file system |
/proc/stat | Comprehensive Statistical Status Table |
/proc/swaps | Exchange space table |
/proc/version | Kernel version |
/proc/uptime | System uptime |
Refer to this article for a detailed description of the / proc directory. https://www.cnblogs.com/aofo/p/6151266.html
There's no need to go into proc, just know about it.
Next, let's look at some basic commands about disk, network, cpu, and memory.
2.6.2 Disk Space Monitor: df
df command can be said to be one of the most commonly used commands on linux, because once the disk space is insufficient, there will be a variety of failures, the database, applications may be paralysed.
Common command examples:
[root@VM_0_3_centos ~]# df -h # Display disk space size in a human-readable manner //File system capacity used Available% mount point /dev/vda1 50G 43G 4.3G 91% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 10G 666M 9.4G 7% /dev/shm tmpfs 1.9G 324K 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 380M 0 380M 0% /run/user/1005 tmpfs 380M 0 380M 0% /run/user/0 [root@VM_0_3_centos ~]# df -i # - i: Display the usage of inode # linux files have a limit on the number of inode files, once no inode is available, no new files can be generated, and "No space left on device" will be reported when disk space is not full. The solution is to delete useless (several days ago) small files or log files. //File System Inode Used (I) Available (I) Used (I)% Mount Points /dev/vda1 3276800 215486 3061314 7% / devtmpfs 482932 308 482624 1% /dev tmpfs 485254 258 484996 1% /dev/shm tmpfs 485254 354 484900 1% /run tmpfs 485254 16 485238 1% /sys/fs/cgroup tmpfs 485254 1 485253 1% /run/user/1005 tmpfs 485254 1 485253 1% /run/user/0 [root@VM_0_3_centos ~]# df -Th # - T: View file system types # The mount disk / dev/vda1 file system type displayed locally is ext3 //File System Type Capacity Used Available% Mount Points /dev/vda1 ext3 50G 43G 4.3G 91% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 10G 666M 9.4G 7% /dev/shm tmpfs tmpfs 1.9G 324K 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs tmpfs 380M 0 380M 0% /run/user/1005 tmpfs tmpfs 380M 0 380M 0% /run/user/0
2.6.2 Memory Space Monitor: free
A computer, server, memory, storage (disk), processor (cpu), and operating system are the most basic components.
free is the command used to monitor linux system using memory.
Common command examples:
[root@VM_0_3_centos ~]# free -h # Display memory usage in human readable mode, automatically convert to KB, MB, GB according to actual size total used free shared buff/cache available Mem: 3.7G 275M 144M 48M 3.3G 3.1G Swap: 2.0G 658M 1.4G
Mem is physical memory usage, Swap is virtual memory usage (usually partitioning a portion of disk space as virtual memory).
total: total memory; 3.7G is generally 4G memory machine.
Used: Memory is used.
free: free memory.
Shared: shared memory.
Buffer / cache: Cache, 3.3G.
Available: available memory.
When there was no available display field in the past, we usually used the total amount of free + buff/cache as available memory.
The feature of linux system is to cache unused physical memory, because it must be assumed that free 144M memory is the real system's remaining memory. So the current available memory is available: 3.1G.
Common command 2: Query memory regularly
free -hs 5 # Display memory usage every 5 seconds, ctrl + c terminal # - s: Displays memory usage at specified intervals in seconds [root@localhost ca_ga]# free -hs 5 total used free shared buff/cache available Mem: 62G 27G 359M 65M 34G 34G Swap: 31G 6.7G 25G total used free shared buff/cache available Mem: 62G 27G 348M 65M 34G 34G Swap: 31G 6.7G 25G total used free shared buff/cache available Mem: 62G 27G 354M 65M 34G 34G Swap: 31G 6.7G 25G ^C
2.6.3 Network Detector: ping
The ping command is similar to the ping command typed by cmd under windows. It is used to detect whether the network between hosts is smooth.
Common command examples:
ping www.baidu.com # ping domain name or ip, will always display ping results, ctrl + c interruption # Unlike windows, ping -t always displays ping results on windows [root@VM_0_3_centos ~]# ping www.baidu.com PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data. 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=54 time=3.97 ms 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=54 time=4.01 ms 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=54 time=3.97 ms 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=54 time=4.03 ms 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=5 ttl=54 time=3.97 ms ^C --- www.a.shifen.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 3.971/3.993/4.031/0.024 ms
As you can see from the first line of the result line, baidu's domain name is converted to www.a.shifen.com, sending 56 bytes of data.
Starting from the second line, the target returns information. The target receives 64 bytes, icmp_seq is the serial number of the received packet, ttl is the lifetime of the data packet, time is delayed, 3.97 milliseconds.
The last three lines are the statistical result information. Five packages were sent and five were received. One package was not lost. It took 4004 milliseconds. min/avg/max/mdev is the minimum/average/maximum/Mean Deviation delay.
ttl is time to life, that is, the lifetime of icmp packets on the network.
Examples of common ping commands:
ping -c 3 -i 3 -s 1024 -t 255 www.csdn.com # - c: Fixed ping times, three times this time # - i: Delivery interval, 3 seconds this time # - s: Packet size, unit byte, 1024 is 1KB this time # - t: 255, ttl value [root@VM_0_3_centos ~]# ping -c 3 -i 3 -s 1024 -t 255 www.csdn.com PING www.csdn.com (47.95.164.112) 1024(1052) bytes of data. 1032 bytes from 47.95.164.112 (47.95.164.112): icmp_seq=1 ttl=250 time=38.4 ms 1032 bytes from 47.95.164.112 (47.95.164.112): icmp_seq=2 ttl=250 time=38.3 ms 1032 bytes from 47.95.164.112 (47.95.164.112): icmp_seq=3 ttl=250 time=38.4 ms --- www.csdn.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 6006ms rtt min/avg/max/mdev = 38.334/38.402/38.447/0.167 ms
ping failure case:
ping -c 3 -i 3 -s 1024 -t 255 www.yaojiaxiaoyuan.com PING www.yaojiaxiaoyuan.com.qiniudns.com (1.1.1.1) 1024(1052) bytes of data. --- www.yaojiaxiaoyuan.com.qiniudns.com ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 5999ms
As you can see, because my website www.yaojiaxiaoyuan.com is out of date for filing, all three packets sent during detection are lost, with a loss rate of 100%.
ping can only detect ip and domain names, but it can not detect ports. The next advanced command will say telnet, which can detect ports remotely.
2.6.4 cpu, process and memory monitor:
top command can be used to monitor the status of the cpu in real time and display the resource occupancy of each process in the system.
Common command examples:
top # Yes, the parametric top command is the longest-used resource monitoring command. # Next, I'll talk about some common interactive commands. [root@VM_0_3_centos ~]# top top - 23:03:23 up 127 days, 13:56, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.7 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 3882032 total, 145996 free, 283752 used, 3452284 buff/cache KiB Swap: 2097148 total, 1422392 free, 674756 used. 3218052 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 964 redis 20 0 142960 7244 988 S 0.3 0.2 168:01.87 redis-server 15515 root 20 0 260068 123108 3988 S 0.3 3.2 20:12.97 YDService 30378 root 20 0 155536 2132 1540 R 0.3 0.1 0:00.06 top ............ # There are a lot of things left behind, which are omitted.
Because the domain name has been cancelled, there is no screenshot at present, so we can only copy the text out.
The first line of the result is the execution result of the uptime command. Later, the advanced command will say that you can execute it if you are interested.
23:03:23 # Current system time up 127 days, 13:56 # The system has been running for 127 days, 13 hours and 56 minutes.
2 users # Two users are logged in
load average: 0.00, 0.01, 0.05 # Load status in the last minute, 5 minutes and 15 minutes
The second line is process information. A total of 79 processes, one running, 78 sleep, 0 stop, 0 dead.
The third line is the cpu status information.
0.2 us # Percentage of user space 0.0 sy # Kernel space ratio 0.0 ni # Changed priority process occupancy ratio 99.7 id # Percentage of idle CPU 0.2 wa # Percentage of cpu occupied by I/O wait 0.0 hi # Percentage of cpu occupied by hard interrupts 0.0 si # Percentage of cpu occupied by soft interrupts 0.0 st # Virtual Machine Occupancy Ratio
The fourth and fifth lines are physical memory state and virtual memory state respectively.
total # Total memory free # idle memory used # Used memory buff/cache # cache
The sixth line is empty, and after the seventh line is the monitoring status of each process in the system.
PID # Process id USER # User, process owner PR # priority NI # nice value, negative value, high priority VIRT # Total virtual memory used by processes, KB RES # The size of physical memory used, KB SHR # Shared memory size S # Process status. S = sleep, R = running, D = non-terminal dormant state, T=stopped, Z=zombie botnet process %CPU # Percentage of CPU occupancy %MEM # Percentage of physical memory occupied TIME+ # CPU time statistics for processes COMMAND # Process name
Examples of other commonly used commands:
top -c # After the seventh line, the process information shows the whole path of the process. top -n 2 # - n: The specified number of updates is not refreshed twice, and no parameters are refreshed all the time.
top interaction mode:
Press 1 to display multi-core CPU information.
A column can be highlighted by b, and the symbols "<" or ">" are used to sort it in descending order to the left or right.
There are many useful tools for resource monitoring, such as iostat, mpstat, iftop, vmstat, iotop, sar and so on. If you are interested, you can study them by yourself or wait for the next advanced linux command to come out.
III. Concluding remarks
This article has been written off and on for more than a month, and is finally finished today. The next one is linux Core Command Advancement and shell introduction.
Originally, the introduction to shell has been put into this article in the outline, but think about it, let's put it in the next article. That's it. There are so many linux commands, but most of the commonly used ones are included in this article.
Maybe there are some common commands related to file upload, download, installation, such as curl, wget, yum, rpm, ssh, scp, and so on, as well as system management, network management and so on.
Finally, I thank my wife for giving me so much power. Thank.
Sprinkle flowers, end, exit.
Public numbers are registered late and have no comment function, so they are usually used to send long text.
Knowledge planet is equivalent to the circle of technological friends. If you have questions, you can ask and discuss them.
Welcome to my public number: Yao Maomao's blog
Welcome to my knowledge planet. It's free at present.
Knowledge Planet: Yao Maomao's Private Garden