Linux系统监控工具链

2024-03-13 06:32
文章标签 工具 linux 系统监控

本文主要是介绍Linux系统监控工具链,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:http://blog.csdn.net/caodinke/article/details/53141350

摘要

对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具。

1. top

Linux下的top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令。top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。对系统管理员来说,top命令式是一个非常有用的,它可用于监控系统并在需要的时候采取正确的处理动作。让我们看看实际中的top命令运行结果:
    
  1. [root@BendSha_RHEL5_5_x64 ~]# top
  2. top - 20:02:50 up 1:56, 1 user, load average: 0.00, 0.00, 0.00
  3. Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie
  4. Cpu(s): 0.4%us, 0.0%sy, 0.0%ni, 99.1%id, 0.0%wa, 0.0%hi, 0.5%si, 0.0%st
  5. Mem: 1926288k total, 811812k used, 1114476k free, 140948k buffers
  6. Swap: 2064344k total, 0k used, 2064344k free, 457388k cached
  7. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  8. 3199 root 15 0 130m 4212 3360 S 0.3 0.2 0:02.81 vmtoolsd
  9. 1 root 15 0 10296 680 564 S 0.0 0.0 0:00.95 init
  10. 2 root RT -5 0 0 0 S 0.0 0.0 0:00.01 migration/0
  11. 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
  12. 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/1
  13. 5 root 34 19 0 0 0 S 0.0 0.0 0:00.94 ksoftirqd/1
  14. 6 root 10 -5 0 0 0 S 0.0 0.0 0:03.27 events/0
  15. 7 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 events/1
  16. 8 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
  17. 25 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
  18. 30 root 10 -5 0 0 0 S 0.0 0.0 0:00.06 kblockd/0
  19. 31 root 10 -5 0 0 0 S 0.0 0.0 0:00.31 kblockd/1
  20. 32 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid

2. vmstat

Linux 的 vmstat命令用于显示虚拟内存、内核线程、磁盘、系统进程、Block I/O、中断、CPU 活动 等的统计信息。缺省情况下, vmstat命令在 Linux 系统下不可用,你需要安装一个包含了 vmstat 程序的 sysstat 软件包。 vmstat支持四种模式,默认是VM MODE, 让我们看看实际中各种模式的执行 结果:
VM MODE:
    
  1. [root@BendSha_RHEL5_5_x64 ~]# vmstat
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  3. r b swpd free buff cache si so bi bo in cs us sy id wa st
  4. 1 0 0 1112220 141508 458428 0 0 41 31 527 76 0 1 97 1 0
每一列的说明:
Procs
r: The number of processes waiting for run time.
b: The number of processes in uninterruptible sleep.
Memory
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.
inact: the amount of inactive memory. (-a option)
active: the amount of active memory. (-a option)
Swap
si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).
 IO
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device (blocks/s).
System
in: The number of interrupts per second, including the clock.
cs: The number of context switches per second.
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

DISK MODE
    
  1. [root@BendSha_RHEL5_5_x64 ~]# vmstat -d
  2. disk- ------------reads------------ ------------writes----------- -----IO------
  3. total merged sectors ms total merged sectors ms cur sec
  4. ram0 0 0 0 0 0 0 0 0 0 0
  5. ram1 0 0 0 0 0 0 0 0 0 0
  6. ram2 0 0 0 0 0 0 0 0 0 0
  7. ram3 0 0 0 0 0 0 0 0 0 0
  8. ram4 0 0 0 0 0 0 0 0 0 0
  9. ram5 0 0 0 0 0 0 0 0 0 0
  10. ram6 0 0 0 0 0 0 0 0 0 0
  11. ram7 0 0 0 0 0 0 0 0 0 0
  12. ram8 0 0 0 0 0 0 0 0 0 0
  13. ram9 0 0 0 0 0 0 0 0 0 0
  14. ram10 0 0 0 0 0 0 0 0 0 0
  15. ram11 0 0 0 0 0 0 0 0 0 0
  16. ram12 0 0 0 0 0 0 0 0 0 0
  17. ram13 0 0 0 0 0 0 0 0 0 0
  18. ram14 0 0 0 0 0 0 0 0 0 0
  19. ram15 0 0 0 0 0 0 0 0 0 0
  20. sda 45992 15956 1155388 343690 11881 24403 290114 379451 0 193
  21. sdb 93 662 2544 195 2662 295042 595468 992799 0 10
  22. fd0 0 0 0 0 0 0 0 0 0 0
  23. sr0 7 10 136 32 0 0 0 0 0 0
  24. md0 0 0 0 0 0 0 0 0 0 0
每一列的说明:
  Reads
total: Total reads completed successfully
merged: grouped reads (resulting in one I/O)
sectors: Sectors read successfully
ms: milliseconds spent reading
Writes
total: Total writes completed successfully
merged: grouped writes (resulting in one I/O)
sectors: Sectors written successfully
ms: milliseconds spent writing
IO
cur: I/O in progress
s: seconds spent for I/O
 DISK PARTITION MODE
   
  1. [root@BendSha_RHEL5_5_x64 ~]# vmstat -p /dev/sda1
  2. sda1 reads read sectors writes requested writes
  3. 226 17829 22 50
reads: Total number of reads issued to this partition
read sectors: Total read sectors for partition
writes : Total number of writes issued to this partition
requested writes: Total number of write requests made for partition

SLAB MODE
    
  1. [root@BendSha_RHEL5_5_x64 ~]# vmstat -m
  2. Cache Num Total Size Pages
  3. ext4_inode_cache 4 4 896 4
  4. ext4_xattr 0 0 88 44
  5. ext4_free_block_extents 0 0 56 67
  6. ext4_alloc_context 0 0 144 27
  7. ext4_prealloc_space 0 0 104 37
  8. ext4_system_zone 0 0 40 92
  9. jbd2_journal_handle 0 0 24 144
  10. jbd2_journal_head 1 40 96 40
  11. jbd2_revoke_table 2 202 16 202
  12. jbd2_revoke_record 0 0 32 112
  13. rpc_buffers 8 8 2048 2
  14. rpc_tasks 8 10 384 10
  15. rpc_inode_cache 6 10 768 5
  16. ip_fib_alias 10 59 64 59
  17. ip_fib_hash 10 59 64 59
  18. ip_conntrack_expect 0 0 136 28
  19. ip_conntrack 2 13 304 13
  20. iser_descriptors 0 0 320 12
  21. ib_mad 0 0 448 8
每一列的说明:
cache: Cache name
num: Number of currently active objects
total: Total number of available objects
size: Size of each object
pages: Number of pages with at least one active object
totpages: Total number of allocated pages
pslab: Number of pages per slab

3. lsof

在许多Linux或者类Unix系统里都有lsof命令,它常用于以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候。使用这条命令,你可以很容易地看到正在使用哪个文件。这条命令最常用的格式如下:
   
  1. [root@BendSha_RHEL5_5_x64 ~]# lsof
  2. bash 4856 root 0u CHR 136,0 2 /dev/pts/0
  3. bash 4856 root 1u CHR 136,0 2 /dev/pts/0
  4. bash 4856 root 2u CHR 136,0 2 /dev/pts/0
  5. bash 4856 root 255u CHR 136,0 2 /dev/pts/0
  6. pdflush 5029 root cwd DIR 8,2 4096 2 /
  7. pdflush 5029 root rtd DIR 8,2 4096 2 /
  8. pdflush 5029 root txt unknown /proc/5029/exe
  9. jbd2/sdb1 5092 root cwd DIR 8,2 4096 2 /
  10. jbd2/sdb1 5092 root rtd DIR 8,2 4096 2 /
  11. jbd2/sdb1 5092 root txt unknown /proc/5092/exe
  12. ext4-dio- 5093 root cwd DIR 8,2 4096 2 /
  13. ext4-dio- 5093 root rtd DIR 8,2 4096 2 /
  14. ext4-dio- 5093 root txt unknown /proc/5093/exe
  15. ext4-dio- 5094 root cwd DIR 8,2 4096 2 /
  16. ext4-dio- 5094 root rtd DIR 8,2 4096 2 /
  17. ext4-dio- 5094 root txt unknown /proc/5094/exe
  18. man 9278 root cwd DIR 8,2 4096 1736705 /root
  19. man 9278 root rtd DIR 8,2 4096 2 /

4. tcpdump

tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析。在几乎所有主要的Linux发布里,tcpdump都可以使用。
   
  1. [root@BendSha_RHEL5_5_x64 ~]# tcpdump -i eth0
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
  4. 20:40:52.811086 IP 192.168.117.129.ssh > 192.168.117.1.29750: P 499354857:499355053(196) ack 1824130863 win 89
  5. 20:40:52.811381 IP 192.168.117.1.29750 > 192.168.117.129.ssh: . ack 196 win 2051
  6. 20:40:52.811556 IP 192.168.117.129.46557 > 192.168.117.2.domain: 1078+ PTR? 1.117.168.192.in-addr.arpa. (44)
  7. 20:40:54.619500 arp who-has 192.168.117.129 (00:0c:29:ae:13:27 (oui Unknown)) tell 192.168.117.1
  8. 20:40:54.619511 arp reply 192.168.117.129 is-at 00:0c:29:ae:13:27 (oui Unknown)
  9. 20:40:54.814372 IP 192.168.117.2.domain > 192.168.117.129.46557: 1078 NXDomain 0/1/0 (99)
  10. 20:40:54.814626 IP 192.168.117.129.55859 > 192.168.117.2.domain: 53381+ PTR? 129.117.168.192.in-addr.arpa. (46)

5. netstat

netstat是一个用于监控进出网络的包和网络接口统计的命令行工具。它是一个非常有用的工具,系统管理员可以用来监控网络性能,定位并解决网络相关问题,netstat命令非常的强大,这里只展示了默认的用法,后期应用过程中可以查看帮助文档深入挖掘。
    
  1. [root@BendSha_RHEL5_5_x64 ~]# netstat
  2. Active Internet connections (w/o servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State
  4. tcp 0 0 192.168.117.129:ssh 192.168.117.1:29750 ESTABLISHED
  5. tcp 0 1 192.168.117.129:53573 192.168.242.198:apc-9952 SYN_SENT
  6. Active UNIX domain sockets (w/o servers)
  7. Proto RefCnt Flags Type State I-Node Path
  8. unix 2 [ ] DGRAM 2240 @/org/kernel/udev/udevd
  9. unix 2 [ ] DGRAM 13146 @/org/freedesktop/hal/udev_event
  10. unix 16 [ ] DGRAM 12186 /dev/log
  11. unix 2 [ ] DGRAM 18551
  12. unix 2 [ ] DGRAM 17778
  13. unix 3 [ ] STREAM CONNECTED 17402 @/tmp/fam-root-
  14. unix 3 [ ] STREAM CONNECTED 17401
  15. unix 3 [ ] STREAM CONNECTED 17388 /var/run/dbus/system_bus_socket
  16. unix 3 [ ] STREAM CONNECTED 17387
  17. unix 3 [ ] STREAM CONNECTED 17385 /tmp/.X11-unix/X0
  18. unix 3 [ ] STREAM CONNECTED 17384
  19. unix 3 [ ] STREAM CONNECTED 17381 /tmp/.X11-unix/X0

6. htop

htop 是一个非常高级的交互式的实时linux进程监控工具。 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。 htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它。

7. iotop

iotop命令同样也非常类似于top命令和htop程序,不过它具有监控并显示实时磁盘I/O和进程的统计功能。在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。
备注:iotop 对内核版本的要求是 kernel 2.6.18-238 及以上,对应操作系统 CentOS 5.6 和 Red Hat Linux 5.6 及以上版本。

8. iostat

iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。
iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
    
  1. [root@BendSha_RHEL5_5_x64 ~]# wget http://linuxinsight.com/files/iostat-2.2.tar.gz
  2. [root@BendSha_RHEL5_5_x64 ~]# tar xvf iostat-2.2.tar.gz
  3. [root@BendSha_RHEL5_5_x64 ~]# cd iostat-2.2
  4. [root@BendSha_RHEL5_5_x64 iostat-2.2]# ls
  5. INSTALL iostat iostat.8 iostat.c LICENSE Makefile README
  6. [root@BendSha_RHEL5_5_x64 iostat-2.2]# make & make install
  7. [root@BendSha_RHEL5_5_x64 iostat-2.2]# which iostat
  8. /usr/local/bin/iostat
  9. [root@BendSha_RHEL5_5_x64 iostat-2.2]# iostat 5 5
  10. sda sdb sr0 cpu
  11. kps tps svc_t kps tps svc_t kps tps svc_t us sy wt id
  12. 43 3 3.3 15 0 3.7 0 0 4.0 0 1 0 99
  13. 14 0 3.0 0 0 0.0 0 0 0.0 0 1 0 99
  14. 1 0 18.0 0 0 0.0 0 0 0.0 0 1 0 99
  15. 0 0 0.0 0 0 0.0 0 0 0.0 0 1 0 99
  16. 0 0 0.0 0 0 0.0 0 0 0.0 0 1 0 99

9. iptraf

iptraf是一个在Linux控制台运行的、开放源代码的实时网络(局域网)监控应用。它采集了大量信息,比如通过网络的IP流量监控,包括TCP标记、ICMP详细信息、TCP/UDP流量分离、TCP连接包和字节数。同时还采集有关接口状态的常见信息和详细信息:TCP、UDP、IP、ICMP、非IP,IP校验和错误,接口活动等。
   
  1. [root@BendSha_RHEL5_5_x64 ~]# iptraf

 10. psacct 

psacct或者acct工具用于监视系统里每个用户的活动状况。这两个服务进程运行在后台,它们对系统上运行的每个用户的所有活动进行近距离监视,同时还监视这些活动所使用的资源情况。
系统管理员可以使用这两个工具跟踪每个用户的活动,比如用户正在做什么,他们提交了那些命令,他们使用了多少资源,他们在系统上持续了多长时间等等。

11. monit        

monit是一个免费的开源软件,也是一个基于网络的进程监控工具。它能自动监控和管理系统进程,程序,文件,文件夹,权限,总和验证码和文件系统。 这个软件能监控像Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH这样的服务。你可以通过命令行或者这个软件提供的网络借口来查看系统状态。

12. nethogs

nethogs是一个开放源源代码的很小程序(与Linux下的top命令很相似),它密切监视着系统上每个进程的网络活动。同时还追踪着每个程序或者应用所使用的实时网络带宽。

13. ifstat

ifstat是一个统计网络接口活动状态的工具。ifstat工具系统中并不默认安装,需要自己下载源码包,重新编译安装,使用过程相对比较简单。
     
  1. [root@BendSha_RHEL5_5_x64 opt]# wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz
  2. [root@BendSha_RHEL5_5_x64 opt]# tar xvf ifstat-1.1.tar.gz
  3. [root@BendSha_RHEL5_5_x64 opt]# cd ifstat-1.1
  4. [root@BendSha_RHEL5_5_x64 ifstat-1.1]# ./configure
  5. [root@BendSha_RHEL5_5_x64 ifstat-1.1]# make & make install
  6. [root@BendSha_RHEL5_5_x64 ifstat-1.1]# which ifstat
  7. /usr/local/bin/ifstat
  8. [root@BendSha_RHEL5_5_x64 ifstat-1.1]# ifstat -tT
  9. Time eth0 Total
  10. HH:MM:SS KB/s in KB/s out KB/s in KB/s out
  11. 00:46:42 0.06 0.20 0.06 0.20
  12. 00:46:43 0.06 0.15 0.06 0.15
  13. 00:46:44 0.06 0.15 0.06 0.15
  14. 00:46:45 0.12 0.15 0.12 0.15
  15. 00:46:46 0.06 0.15 0.06 0.15
  16. 00:46:47 0.12 0.22 0.12 0.22

14. iftop

iftop是另一个在控制台运行的开放源代码系统监控应用,它显示了系统上通过网络接口的应用网络带宽使用(源主机或者目的主机)的列表,这个列表定期更新。iftop用于监视网络的使用情况,而'top'用于监视CPU的使用情况。iftop是'top'工具系列中的一员,它用于监视所选接口,并显示两个主机间当前网络带宽的使用情况。

15. monitorix

monitorix 是一个免费的轻量级应用工具,它的设计初衷是运行和监控Linux/Unix服务器系统和资源等。它有一个HTTP 网络服务器,这个服务器有规律的收集系统和网络的信息并以图形化的形式展示出来。它监控系统的平均负载和使用,内存分配、磁盘健康状况、系统服务、网络端口、邮件统计(Sendmail,Postfix,Dovecot等),MySQL统计,等等。它就是用来监控系统的总体性能,帮助发现失误、瓶颈和异常活动的。

16. arpwitch

arpwatch被设计用来监控Linux上的以太网地址解析 (MAC和IP地址的变化)。他在一段时间内持续监控以太网活动并输出IP和MAC地址配对变动的日志。它还可以向管理员发送邮件通知,对地址配对的增改发出警告。这对于检测网络上的ARP攻击很有用。

17. suricate

suricata 是一个开源的高性能网络安全、入侵检测和反监测工具,可以运行Linux、FreeBSD和Windows上。非营利组织OISF (Open Information Security Foundation)开发并拥有其版权。

18. vnstat php

vnstat php 是流行网络工具"vnstat"的基于web的前端呈现。vnstat php 将网络使用情况呈现在漂亮的图形界面中。他可以显示以小时、日、月计的上传和下载流量并输出总结报告。

19. nagios

nagios是领先而强大的开源监控系统,他可以让网络/系统管理员在问题影响到正常的业务之前发现并解决它们。有了nagios系统,管理员可以在单个窗口内远程检测Linux、Windows、开关、路由器和打印机。它可以危险警告并指出系统/服务器是否有异常,这可以间接帮助你在问题发生之前采取抢救措施。

这篇关于Linux系统监控工具链的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803921

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修