Linux命令汇总(下)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: netstat命令来自于英文词组”network statistics“的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。

6.2、netstat命令 – 显示网络状态

netstat命令来自于英文词组”network statistics“的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。

netstat命令不仅应用于Linux系统,而且在Windows XP、Windows 7、Windows 10及Windows 11中均已默认支持,并且可用参数也相同,有经验的运维人员可以直接上手。

语法格式:netstat [参数]

常用参数:

image.png

参考实例

显示系统网络状态中的所有连接信息:

[root@linuxcool ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:https           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ms-wbt-server   0.0.0.0:*               LISTEN  

显示系统网络状态中的UDP连接信息:

[root@linuxcool ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 172.19.226.238:68       172.19.239.253:67       ESTABLISHED

显示系统网络状态中的UDP连接端口号使用信息:

[root@linuxcool ~]# netstat -apu 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address    Foreign Address       State    PID/Program name    
udp        0      0 linuxcool:bootpc _gateway:bootps  ESTABLISHED   1024/NetworkManager 
udp        0      0 localhost:323           0.0.0.0:*               875/chronyd         
udp6       0      0 localhost:323           [::]:*                  875/chronyd 

显示网卡当前状态信息:

[root@linuxcool~]# netstat -i 
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500    31945      0      0 0         39499      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU

显示网络路由表状态信息:

[root@linuxcool ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 eth0
172.19.224.0    0.0.0.0         255.255.240.0   U         0 0          0 eth0

找到某个服务所对应的连接信息:

[root@linuxcool ~]# netstat -ap | grep ssh
unix  2      [ ]         STREAM     CONNECTED     89121805 203890/sshd: root [  
unix  3      [ ]         STREAM     CONNECTED     27396    1754/sshd            
unix  3      [ ]         STREAM     CONNECTED     89120965 203890/sshd: root [  
unix  2      [ ]         STREAM     CONNECTED     89116510 203903/sshd: root@p  
unix  2      [ ]         STREAM     CONNECTED     89121803 203890/sshd: root [  
unix  2      [ ]         STREAM     CONNECTED     29959    1754/sshd            
unix  2      [ ]         DGRAM                    89111175 203890/sshd: root [  
unix  3      [ ]         STREAM     CONNECTED     89120964 203903/sshd: root@p  

6.3、dhclient命令 – 动态获取或释放IP地址

dhclient命令来自于英文词组“DHCP client”的缩写,其功能是用于动态获取或释放IP地址。使用dhclient命令前需要将网卡模式设置成DHCP自动获取,否则静态模式的网卡是不会主动向服务器获取如IP地址等网卡信息的。

语法格式:dhclient 参数 [网卡]

常用参数:

image.png

参考实例

通过指定网卡发起DHCP请求,获取网卡参数:

[root@linuxcool ~]# dhclient ens160

释放系统中已获取的网卡参数:

[root@linuxcool ~]# dhclient -r
Killed old client process

向指定的服务器请求获取网卡参数:

[root@linuxcool ~]# dhclient -s 192.168.10.10

手动停止执行dhclient服务进程:

[root@linuxcool ~]# dhclient -x
Removed stale PID file

6.4、ping命令 – 测试主机间网络连通性

ping命令的功能是用于测试主机间网络连通性,发送出基于ICMP传输协议的数据包,要求对方主机予以回复,若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。

不过值得我们注意的是Linux与Windows相比有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下组合键“Ctrl+c”才能结束,或是发起命令时加入-c参数限定发送个数。

语法格式:ping [参数] 目标主机

常用参数:

image.png

参考实例

测试与指定网站服务器之间的网络连通性(需手动按下“Ctrl+c”组合键结束命令):

[root@linuxcool ~]# ping www.linuxcool.com
PING www.linuxcool.com.w.kunlunar.com (222.85.26.229) 56(84) bytes of data.
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=1 ttl=52 time=22.4 ms
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=2 ttl=52 time=22.4 ms
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=3 ttl=52 time=22.4 ms
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=4 ttl=52 time=22.4 ms
^C
--- www.linuxcool.com.w.kunlunar.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 22.379/22.389/22.400/0.094 ms

测试与指定网站服务器之间的网络连通性,发送请求包限定为4次:

[root@linuxcool ~]# ping -c 4 www.linuxcool.com
PING www.linuxcool.com (222.85.26.234) 56(84) bytes of data.
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=1 ttl=52 time=24.7 ms
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=2 ttl=52 time=24.7 ms
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=3 ttl=52 time=24.7 ms
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=4 ttl=52 time=24.7 ms
--- www.linuxcool.com.w.kunlunar.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 24.658/24.664/24.673/0.111 ms

测试与指定主机之间的网络连通性,发送3次请求包,每次间隔0.2秒,最长等待时间为3秒:

[root@linuxcool ~]# ping -c 3 -i 0.2 -W 3 192.168.10.10
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.166 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.113 ms
--- 192.168.10.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 410ms
rtt min/avg/max/mdev = 0.060/0.113/0.166/0.043 ms

6.5、ifconfig命令 – 显示或设置网络设备参数信息

ifconfig命令来自于英文词组”network interfaces configuring“的缩写,其功能是用于显示或设置网络设备参数信息。在Windows系统中与之类似的命令叫做ipconfig,同样的功能可以使用ifconfig去完成。

通常不建议使用ifconfig命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,还是编写到配置文件中更稳妥。

语法格式:ifconfig [参数] [网卡设备]

常用参数:

image.png

参考实例

显示系统的网络设备信息:

[root@linuxcool ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.30  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::4d16:980c:e0fe:51c2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:60:cd:ee  txqueuelen 1000  (Ethernet)
        RX packets 407  bytes 34581 (33.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 59  bytes 6324 (6.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
………………省略部分输出信息………………

对指定的网卡设备依次进行关闭和启动操作:

[root@linuxcool ~]# ifconfig ens160 down
[root@linuxcool ~]# ifconfig ens160 up

对指定的网卡设备执行修改IP地址操作:

[root@linuxcool ~]# ifconfig ens160 192.168.10.20 netmask 255.255.255.0

对指定的网卡设备执行修改MAC地址操作:

注意Linux系统中的MAC地址间隔符为冒号(:),而在Windows系统中间隔符为减号(-)。

[root@linuxcool ~]# ifconfig ens160 hw ether 00:aa:bb:cc:dd:ee

对指定的网卡设备依次进行ARP协议关闭和开启操作:

[root@linuxcool ~]# ifconfig ens160 -arp
[root@linuxcool ~]# ifconfig ens160 arp

7.设备管理

7.1、mount命令 – 把文件系统挂载到目录

mount命令的功能是用于把文件系统挂载到目录,文件系统指的是被格式化过的硬盘或分区设备,进行挂载操作后,用户便可以在挂载目录中使用硬盘资源了。

默认情况下Linux系统并不会像Windows系统那样自动的挂载光盘和U盘设备,需要自行完成。

语法格式:mount [参数] [设备] [挂载点]

常用参数:

image.png

参考实例

查看当前系统中已有的文件系统信息(可结合管道符与grep命令进行过滤):

[root@linuxcool ~]# mount 
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=99130k,nr_inodes=27835,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
………………省略部分输出信息………………

挂载/etc/fstab文件中所有已定义的设备文件:

[root@linuxcool ~]# mount -a

将光盘设备挂载到指定目录:

[root@linuxcool ~]# mount /dev/cdrom /media/cdrom
mount: /media/cdrom: WARNING: device write-protected, mounted read-only.

强制以xfs文件系统挂载硬盘设备到指定目录:

[root@linuxcool ~]# mount -t xfs /dev/sdb /disk

7.2、lspci命令 – 显示当前设备PCI总线设备信息

lspci命令来自于英文词组“list PCI”的缩写,其功能是用于显示当前设备PCI总线设备信息。

语法格式:lspci [参数]

常用参数:

image.png

参考实例

显示当前主机的所有PCI总线设备信息:

[root@linuxcool ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
………………省略部分输出信息………………

以树状结构显示当前主机的所有PCI总线设备信息:

[root@linuxcool ~]# lspci -t 
-[0000:00]-+-00.0
           +-01.0-[01]--
           +-07.0
           +-07.1
           +-07.3
           +-07.7
           +-0f.0
           +-11.0-[02]----00.0
           +-15.0-[03]----00.0
           +-15.1-[04]--
………………省略部分输出信息………………

7.3、MAKEDEV命令 – 建立设备

MAKEDEV是一个脚本程序, 用于在 /dev 目录下建立设备, 通过这些设备文件可以 访问位于内核的驱动程序。

MAKEDEV 脚本创建静态的设备节点,通常位于/dev目录下。

语法格式:MAKEDEV [参数]

常用参数:

image.png

参考实例

显示出执行的每一个动作:

[root@linuxcool ~]# ./MAKEDEV -v update

删除设备:

[root@linuxcool ~]# ./MAKEDEV -d device

7.4、sensors命令 – 检测服务器硬件信息

sensors命令用于检测服务器硬件信息,例如CPU电压与温度、主板、风扇转速等数据。

语法格式:sensors

参考实例

检查当前CPU处理器得电压和温度信息

[root@linuxcool ~]# sensors 
coretemp-isa-0000 
Core 0:      +48.0°C  (high = +87.0°C, crit = +97.0°C)   
Core 1:      +46.0°C  (high = +87.0°C, crit = +97.0°C)   
Core 2:      +47.0°C  (high = +87.0°C, crit = +97.0°C)   
Core 3:      +46.0°C  (high = +87.0°C, crit = +97.0°C) 

7.5、setleds命令 – 设定键盘上方三个 LED 的状态

setleds即是英文词组“set leds”的合并,翻译为中文就是设置LED灯。setleds命令用来设定键盘上方三个 LED 灯的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。

这是一个十分神奇的命令,竟然可以通过命令来控制键盘的灯的状态。那么下面我一起来学习一下这个命令吧。

语法格式:setleds [参数]

常用参数:

image.png

参考实例

控制键盘灯num灯亮和灯灭:

[root@linuxcool ~]# setleds +num 
[root@linuxcool ~]# setleds -num

控制键盘的大小写键打开或关闭,键盘指示灯亮与灭:

[root@linuxcool ~]# setleds +caps 
[root@linuxcool ~]# setleds -caps 

控制键盘的选项键打开或关闭,键盘指示灯亮与灭:

[root@linuxcool ~]# setleds +scroll 

对三灯的亮与灭的情况进行组合,分别设置为数字灯亮,大小写灯灭,选项键scroll灯灭:

[root@linuxcool ~]# setleds +num -caps -scroll 

8、备份压缩

8.1、zip命令 – 压缩文件

zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成.zip格式的压缩包,里面会附含文件的名称、路径、创建时间、上次修改时间等等信息,与tar命令相似。

语法格式:zip 参数 文件

常用参数:

image.png

参考实例

将指定目录及其内全部文件都打包成zip格式压缩包文件:

[root@linuxcool ~]# zip -r backup1.zip /etc
  adding: etc/fstab (deflated 45%)
  adding: etc/crypttab (stored 0%)
  adding: etc/resolv.conf (stored 0%)
  adding: etc/dnf/ (stored 0%)
  adding: etc/dnf/modules.d/ (stored 0%)
  adding: etc/dnf/modules.d/container-tools.module (deflated 17%)
  adding: etc/dnf/modules.d/llvm-toolset.module (deflated 14%)
………………省略部分输出信息………………

将当前工作目录内所有以.cfg为后缀的文件打包:

[root@linuxcool ~]# zip -r backup2.zip *.cfg
  adding: anaconda-ks.cfg (deflated 44%)
  adding: initial-setup-ks.cfg (deflated 44%)

更新压缩包文件中某个文件:

[root@linuxcool ~]# zip -dv backup2.zip anaconda-ks.cfg 
1>1: updating: anaconda-ks.cfg (deflated 44%)

8.2、unzip命令 – 解压缩zip格式文件

unzip命令用于解压缩zip格式文件,虽然Linux系统中更多的使用tar命令进行对压缩包的管理工作,但有时也会收到同Windows系统常用的.zip和.rar格式的压缩包文件,unzip格式便派上了用场。直接使用unzip命令解压缩文件后,压缩包内原有的文件会被提取并输出保存到当前工作目录下。

语法格式:unzip [参数] 压缩包

常用参数:

image.png

参考实例

将压缩包文件解压到当前工作目录中:

[root@linuxcool ~]# unzip latest.zip
Archive:  latest.zip
   creating: wordpress/
  inflating: wordpress/xmlrpc.php    
  inflating: wordpress/wp-blog-header.php  
  inflating: wordpress/readme.html   
  inflating: wordpress/wp-signup.php  
  inflating: wordpress/index.php     
………………省略部分输出信息………………

将压缩包文件解压到指定的目录中:

[root@linuxcool ~]# unzip latest.zip -d /home
Archive:  latest.zip
   creating: /home/wordpress/
  inflating: /home/wordpress/xmlrpc.php  
  inflating: /home/wordpress/wp-blog-header.php  
  inflating: /home/wordpress/readme.html  
  inflating: /home/wordpress/wp-signup.php  
  inflating: /home/wordpress/index.php  
………………省略部分输出信息………………

测试压缩包文件是否完整,文件有无损坏:

[root@linuxcool ~]# unzip -t latest.zip
Archive:  latest.zip
    testing: wordpress/                     OK
    testing: wordpress/xmlrpc.php           OK
    testing: wordpress/wp-blog-header.php   OK
    testing: wordpress/readme.html          OK
    testing: wordpress/wp-signup.php        OK
    testing: wordpress/index.php            OK
………………省略部分输出信息………………

8.3、gzip命令 – 压缩和解压文件

gzip命令来自于英文单词gunzip的缩写,其功能是用于压缩和解压文件。gzip是一款使用广泛的压缩工具,文件经过压缩后一般会以.gz后缀结尾,与tar命令合用后即为.tar.gz后缀。

据统计,gzip命令对文本文件的压缩比率通常能达到60%~70%,压缩后可以很好的提升存储空间的使用率,还能够在网络传输文件时减少等待时间。

语法格式:gzip [参数] 文件

常用参数:

image.png

参考实例

将指定的文件进行压缩,压缩包默认会以“原文件名.gz”保存到当前工作目录下,原文件会被自动删除:

[root@linuxcool ~]# gzip anaconda-ks.cfg

解压指定的压缩包文件,并显示解压过程。解压后的文件会保存在当前工作目录下,压缩包会被自动删除:

[root@linuxcool ~]# gzip -dv anaconda-ks.cfg.gz 
anaconda-ks.cfg.gz:  44.3% -- replaced with anaconda-ks.cfg

将指定的文件进行压缩,但是不删除原文件:

[root@linuxcool ~]# gzip -k initial-setup-ks.cfg

显示指定文件的压缩信息:

[root@linuxcool ~]# gzip -l initial-setup-ks.cfg.gz 
         compressed        uncompressed  ratio uncompressed_name
                929                1585  43.8% initial-setup-ks.cfg

8.4、zipinfo命令 – 查看压缩文件信息

zipinfo命令来自于英文词组“zip information”的缩写,其功能是用于查看压缩文件信息。zipinfo命令可以查看zip格式压缩包内的文件列表及详细信息。

语法格式:zipinfo [参数] 压缩包

常用参数:

image.png

参考实例

显示压缩包内的文件名称及简要属性信息:

[root@linuxcool ~]# zipinfo file.zip 
Archive:  file.zip
Zip file size: 1937 bytes, number of entries: 2
-rw-------  3.0 unx     1256 tx defN 21-Dec-14 08:42 anaconda-ks.cfg
-rw-r--r--  3.0 unx     1585 tx defN 21-Dec-14 08:43 initial-setup-ks.cfg
2 files, 2841 bytes uncompressed, 1589 bytes compressed:  44.1%

显示压缩包内的文件名称及详细属性信息:

[root@linuxcool ~]# zipinfo -v file.zip 
Archive:  file.zip
There is no zipfile comment.
End-of-central-directory record:
-------------------------------
  Zip archive file size:                      1937 (0000000000000791h)
  Actual end-cent-dir record offset:          1915 (000000000000077Bh)
  Expected end-cent-dir record offset:        1915 (000000000000077Bh)
  (based on the length of the central directory and its expected offset)
  This zipfile constitutes the sole disk of a single-part archive; its
  central directory contains 2 entries.
  The central directory is 175 (00000000000000AFh) bytes long,
  and its (expected) offset in bytes from the beginning of the zipfile
  is 1740 (00000000000006CCh).
………………省略部分输出信息………………

仅显示压缩包内文件大小及数目信息:

[root@linuxcool ~]# zipinfo -h file.zip
Archive:  file.zip
Zip file size: 1937 bytes, number of entries: 2

仅显示压缩包内文件最后修改时间及简要属性信息:

[root@linuxcool ~]# zipinfo -T file.zip 
Archive:  file.zip
Zip file size: 1937 bytes, number of entries: 2
-rw-------  3.0 unx     1256 tx defN 20211214.084220 anaconda-ks.cfg
-rw-r--r--  3.0 unx     1585 tx defN 20211214.084343 initial-setup-ks.cfg
2 files, 2841 bytes uncompressed, 1589 bytes compressed:  44.1%

8.5、gunzip命令 – 解压提取文件内容

gunzip命令来自于英文词组”Gnu unzip“的缩写,其功能是用于解压提取文件内容。gunzip通常被用来解压那些被基于gzip格式压缩过的文件,也就是那些.gz结尾的压缩包。

语法格式:gunzip [参数] 压缩包

常用参数:

image.png

参考实例

解压指定的压缩包文件

[root@linuxcool ~]# gunzip Filename.gz

解压指定的压缩包文件,并输出解压过程:

[root@linuxcool ~]# gunzip -v Filename.gz

测试指定的压缩包文件内容是否损坏,能够正常解压:

[root@linuxcool ~]# gunzip -t Filename.gz

9、其他命令

9.1、hash命令 – 管理命令运行时查询的哈希表

hash命令来自于英文词组“Hash Algorithm”的缩写,中文译为哈希算法或杂凑算法,其功能是用于管理命令运行时查询的哈希表。hash命令可以显示与删除命令运行时系统查询的哈希表信息,如果不加任何参数,则会默认输出路径列表的信息,这份列表会包含先前hash命令调用找到的Shell环境中命令的路径名

语法格式: hash [参数] [目录]

常用参数:

image.png

参考实例

显示哈希表中的命令:

[root@linuxcool ~]# hash -l
builtin hash -p /usr/sbin/ifconfig ifconfig
builtin hash -p /usr/bin/cat cat
builtin hash -p /usr/bin/pidof pidof

删除哈希表中的命令:

[root@linuxcool ~]# hash -r 

向哈希表中添加命令:

[root@linuxcool ~]# hash -p /usr/sbin/adduser myadduser 

在哈希表中清除记录:

[root@linuxcool ~]# hash -d
hits  command
   0  /usr/sbin/adduser

9.2、wait命令 – 等待指令执行完毕

wait命令的功能是用于等待指令执行完毕,常被用于Shell脚本中,用于等待某个指令执行结束后返回终端,然后才会继续执行后面的指令。

例如有个服务进程PID为12345,那么此时可以用“wait 12345”来持续等待此进程的结束,一旦进程结束则会将返回值输出到终端界面。

语法格式:wait 进程号/作业号

常用参数:

NUM 或%NUM 进程号 或 作业号

参考实例

等待执行的进程结束并输出返回值:

[root@linuxcool ~]# wait 12345

9.3、bc命令 – 数字计算器

bc命令来自于英文词组“Binary Calculator”的缩写,中文译为二进制计算器,其功能是用于数字计算。Bash解释器仅能够进行整数计算,而不支持浮点运算,因此有时要用到bc命令进行高精度的数字计算工作。

语法格式:bc [选项]

常用参数:

image.png

参考实例

计算得出指定的浮点数乘法结果:

[root@linuxcool ~]# bc
1.2345*3
3.7035

设定计算精度为小数点后3位,取浮点数除法结果:

[root@linuxcool ~]# bc
scale=3
3/8
.375

分别计算整数的平方与平方根结果:

[root@linuxcool ~]# bc
10^10
10000000000
sqrt(100)
10.000

9.4、history命令 – 显示与管理历史命令记录

history命令来自于英文单词历史,其功能是用于显示与管理历史命令记录。Linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作。

语法格式: history [参数]

常用参数:

image.png

参考实例

显示执行过的全部命令记录:

[root@linuxcool ~]# history 
    1  vim /etc/sysconfig/network-scripts/ifcfg-ens160 
    2  reboot
    3  vim /etc/sysconfig/network-scripts/ifcfg-ens160
    4  vim /etc/yum.repos.d/rhel.repo
    5  mkdir /media/cdrom
    6  vim /etc/fstab
    7  reboot
    8  ping 192.168.10.10
    9  dnf install httpd
   10  exit
………………省略部分输出信息………………

显示执行过的最近5条命令:

[root@linuxcool ~]# history 5
   11  exit
   12  ifconfig
   13  vim /etc/hostname 
   14  reboot
   15  history

将本次缓存区信息写入到历史文件中(~/.bash_history):

[root@linuxcool ~]# history -w

将历史文件中的信息读入到当前缓冲区中:

[root@linuxcool ~]# history -r  

将本次缓冲区信息追加写入到历史文件中(~/.bash_history):

[root@linuxcool ~]# history -a  

清空本次缓冲区及历史文件中的信息:

[root@linuxcool ~]# history -c 

9.5、wget命令 – 下载网络文件

wget命令来自于英文词组”web get“的缩写,其功能是用于从指定网址下载网络文件。wget命令非常稳定,一般即便网络波动也不会导致下载失败,而是不断的尝试重连,直至整个文件下载完毕。

wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件。

语法格式: wget [参数] 网址

常用参数:

image.png

参考实例

下载指定的网络文件:

[root@linuxprobe ~]# wget https://www.linuxprobe.com/docs/LinuxProbe.pdf
--2022-05-11 18:36:42--  https://www.linuxprobe.com/docs/LinuxProbe.pdf
Resolving www.linuxprobe.com (www.linuxprobe.com)... 58.218.215.124
Connecting to www.linuxprobe.com (www.linuxprobe.com)|58.218.215.124|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17676281 (17M) [application/pdf]
Saving to: ‘LinuxProbe.pdf’
LinuxProbe.pdf    100%[=================================>]  16.86M  30.0MB/s    in 0.6s    
2022-05-11 18:36:42 (30.0 MB/s) - ‘LinuxProbe.pdf’ saved [17676281/17676281]

下载指定的网络文件,并定义保存在本地的文件名称:

[root@linuxcool ~]# wget -O Book.pdf https://www.linuxprobe.com/docs/LinuxProbe.pdf

下载指定的网络文件,限速最高每秒300k:

[root@linuxcool ~]# wget --limit-rate=300k https://www.linuxprobe.com/docs/LinuxProbe.pdf

启用断点续传技术下载指定的网络文件:

[root@linuxcool ~]# wget -c https://www.linuxprobe.com/docs/LinuxProbe.pdf

下载指定的网络文件,将任务放至后台执行:

[root@linuxcool ~]# wget -b https://www.linuxprobe.com/docs/LinuxProbe.pdf
Continuing in background, pid 237616.
Output will be written to ‘wget-log’.

10、扩充内容

10.1、xz命令 – POSIX 平台开发工具

XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。

最初 XZ Utils 的是基于 LZMA-SDK 开发,但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性,所以 XZ Utils 为以适应 POSIX 平台作了大幅的修改。XZ Utils 的出现也是为了取代 POSIX 系统中旧的 LZMA Utils。

语法格式: xz [参数]

常用参数:

image.png

参考实例

压缩一个文件 test.txt,压缩成功后生成 test.txt.xz, 原文件会被删除:

[root@linuxcool ~]$ xz test.txt
[root@linuxcool ~]$ ls test.txt*
test.txt.xz

解压 test.txt.xz 文件,并使用参数 -k 保持原文件不被删除:

[root@linuxcool ~]$ xz -d -k test.txt.xz
[root@linuxcool ~]$ ls test.txt*
test.txt.xz test.txt

参数 -H 比使用参数 --help 显示的内容更详细:

[root@linuxcool ~]$ xz -H  | more

借助 xargs 命令并行压缩多文件:

[root@linuxcool ~]find /var/log -type f -iname "*.log" -print0 | xargs -P4 -n16 xz -T1

10.2、gpg命令 – 加密工具

gpg是加密和数字签名的免费工具,大多用于加密信息的传递。除了仅用密码加密外,gpg最大的不同是提供了“公钥/私钥”对。利用你的“公钥”别人加密信息不再需要告诉你密码,随时随地都能发送加密信息。而这种加密是单向的,只有你的“私钥”能解开加密。数字签名又是另一大使用方向。通过签名认证,别人能确保发布的消息来自你,而且没有经过修改。

语法格式:gpg [参数]

常用参数:

image.png

参考实例

对称加密myfile文件:

[root@linuxcool ~]# gpg -c myfile

解密对称加密的文件:

[root@linuxcool ~]# gpg -o mydecrypt -d myfile.gpg

生成密钥对:

[root@linuxcool ~]# gpg --gen-key

查看已有的密钥:

[root@linuxcool ~]# gpg --list-keys

10.3、redis-benchmark命令 – Redis基准性能测试

redis-benchmark命令可以为Redis做基准性能测试,它提供了很多选项帮助开 发和运维人员测试Redis的相关性能。

语法格式:redis-benchmark [参数]

常用参数:

image.png

参考实例

使用默认配置对127.0.0.1:6379运行基准测试:

[root@linuxcool ~]# redis-benchmark

对192.168.1.1使用20个并行客户端,总共10万个请求:

[root@linuxcool ~]# redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20

仅使用SET测试,用大约100万个键填充127.0.0.1:6379:

[root@linuxcool ~]# redis-benchmark -t set -n 1000000 -r 100000000

基准127.0.0.1:6379,用于生成CSV输出的几个命令:

[root@linuxcool ~]# redis-benchmark -t ping,set,get -n 100000 --csv

对特定命令行进行基准测试:

[root@linuxcool ~]# redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0

用10000个随机元素填充列表:

[root@linuxcool ~]# redis-benchmark -r 10000 -n 10000 lpush mylist rand_int

10.4、redis-cli命令 – redis客户端管理工具

Redis是一个开放源码(BSD授权)的内存数据结构存储,用作数据库、缓存和消息中介。同时是一个高性能的key-value数据库。

redis-cli命令是redis-server的命令行客户端。

语法格式:redis-cli [参数]

常用参数:

image.png

参考实例

使用默认端口,连接redis服务器:

[root@linuxcool ~]# redis-cli -h 127.0.0.1

通过指定端口连接redis:

[root@linuxcool ~]# redis-cli -h 192.168.1.1 -p 6380

使用密码认证连接:

[root@linuxcool ~]# redis-cli -h 127.0.0.1 -p 6379 -a myPassword

10.5、whatis命令 – 查询命令执行功能

whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上。

whatis命令在用catman -w命令创建的数据库中查找command参数指定的命令、系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man -f命令。

语法格式: whatis [参数]

常用参数:

其他命令 显示该命令的执行功能

参考实例

ls命令执行情况:

[root@linuxcool ~]# whatis ls
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents

cp命令执行情况:

[root@linuxcool ~]# whatis cp
cp                   (1)  - copy files and directories
cp                   (1p)  - copy files

chown命令执行情况:

[root@linuxcool ~]# whatis chown
chown                (1)  - change file owner and group
chown                (1p)  - change the file ownership
chown                (2)  - change ownership of a file
chown                (3p)  - change owner and group of a file

man命令执行情况:

[root@linuxcool ~]# whatis man
man                  (1)  - format and display the on-line manual pages
man                  (1p)  - display system documentation
man                  (7)  - macros to format man pages
man                 (rpm) - A set of documentation tools: man, apropos and whatis.
man-pages           (rpm) - Man (manual) pages from the Linux Documentation Project.
man.config [man]     (5)  - configuration data for man

10.6、ifplugstatus命令 – 检查网线是否已插到在网络接口

ifplugstatus命令可以查看所有网络接口的状态,或是指定网络接口的状态。

这个命令Ubuntu没有预装,通过下面的命令来安装

sudo apt-get install ifplugd。

语法格式:ifplugstatus

参考实例

显示接口状态:

[root@linuxcool ~]# ifplugstatus
lo:link beat detected
wlan0:link beat detected
eth0:unplugged

10.7、chronyc命令 – 设置时间与时钟服务器同步

chronyc命令来自于英文词组“chrony command-line”的缩写,其功能是用于设置时间与时钟服务器的同步工作。chrony是一个用于保持系统时间与NTP时钟服务器同步的服务,常见的是chronyd是其守护进程的名称,而chronyc命令则是用户的配置工具。

语法格式:chronyc [参数]

常用参数:

sources 时间同步源
sourcestats 时间同步源状态
-v 详细信息模式

参考实例

查看当前系统的时间同步源信息:

[root@linuxcool ~]# chronyc sources -v
  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- 120.25.115.20                 2  10   337   31m    -78us[  -49us] +/-   17ms
^? 10.143.33.49                  0  10     0     -     +0ns[   +0ns] +/-    0ns
^* 100.100.3.1                   2  10   377   671   -128us[ -124us] +/- 3286us
^+ 100.100.3.2                   2  10   377   535  +1377us[+1377us] +/- 4689us
^+ 100.100.3.3                   2  10   175   25m   +151us[ +155us] +/- 4858us
^- 203.107.6.88                  2  10   377   192  -2029us[-2029us] +/-   16ms
^? 10.143.33.50                  0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 10.143.33.51                  0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 10.143.0.44                   0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 10.143.0.45                   0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 10.143.0.46                   0  10     0     -     +0ns[   +0ns] +/-    0ns
^+ 100.100.5.1                   2  10   377   388   +111us[ +111us] +/- 4041us
^+ 100.100.5.2                   2  10   377   732  +1110us[+1114us] +/- 5489us
^+ 100.100.5.3                   2  10   377   629   -638us[ -638us] +/- 4120us

查看当前系统的时间同步源状态信息:

[root@linuxcool ~]# chronyc sourcestats 
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
120.25.115.20              59  31   18h     -0.011      0.019   -536us   875us
10.143.33.49                0   0     0     +0.000   2000.000     +0ns  4000ms
100.100.3.1                64  36   18h     +0.000      0.012    +65us   493us
100.100.3.2                64  33   18h     -0.004      0.011   -189us   498us
100.100.3.3                42  22   17h     +0.006      0.015   +150us   471us
203.107.6.88               64  40   18h     -0.005      0.034    -79us  1467us
10.143.33.50                0   0     0     +0.000   2000.000     +0ns  4000ms
10.143.33.51                0   0     0     +0.000   2000.000     +0ns  4000ms
10.143.0.44                 0   0     0     +0.000   2000.000     +0ns  4000ms
10.143.0.45                 0   0     0     +0.000   2000.000     +0ns  4000ms
10.143.0.46                 0   0     0     +0.000   2000.000     +0ns  4000ms
100.100.5.1                42  24   11h     +0.014      0.017   +344us   378us
100.100.5.2                64  37   18h     -0.000      0.009   -221us   367us
100.100.5.3                64  28   18h     -0.003      0.010   -131us   430us

11、还有好多  中间件命令  和 基础命令(敬请期待)

目录
相关文章
|
23天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
212 65
|
11天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
100 5
|
11天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
41 4
|
1天前
|
Linux Shell 数据安全/隐私保护
|
2天前
|
域名解析 网络协议 安全
|
9天前
|
监控 Linux Shell
|
8天前
|
运维 监控 网络协议
|
12天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
25 3
Linux | Rsync 命令:16 个实际示例(下)
|
15天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
71 2
Linux系统之lsof命令的基本使用
|
23天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
52 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】