首页
关于
Search
1
给你10个市场数据调研报告的免费下载网站!以后竞品数据就从这里找!
182 阅读
2
php接口优化 使用curl_multi_init批量请求
144 阅读
3
《从菜鸟到大师之路 ElasticSearch 篇》
107 阅读
4
2024年备考系统架构设计师
104 阅读
5
PHP 文件I/O
92 阅读
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
登录
Search
标签搜索
php函数
php语法
性能优化
安全
错误和异常处理
问题
vue
Composer
Session
缓存
框架
Swoole
api
并发
异步
正则表达式
php-fpm
mysql 索引
开发规范
协程
dafenqi
累计撰写
786
篇文章
累计收到
28
条评论
首页
栏目
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
副业
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
页面
关于
搜索到
45
篇与
的结果
2024-01-14
9个Linux系统信息命令
通过这些命令可以查看 Linux 系统硬件、内核、发行版、主机名、正常运行时间等详细信息。1. uname – 打印系统信息uname 命令可打印 Linux 系统内核、硬件架构、主机名和操作系统的详细信息。其中包括版本号和机器信息。uname(Unix name的缩写)打印可操作的系统信息,当您知道当前的Linux版本时,这些信息很方便。大多数情况下,您将使用-a(–all)标志,因为默认输出没有那么有用:[root@xx ~] uname Linux [root@xx ~] uname -a Linux 10-10-50-210 4.19.188-10.el7.ucloud.x86_64 #1 SMP Wed Apr 28 09:54:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux解释uname -a 输出每个部分的含义:10-10-50-210:这是系统的主机名(hostname),它是您的计算机在网络上的标识符。在这个例子中,主机名是"10-10-50-210"。4.19.188-10.el7.ucloud.x86_64:这是Linux内核的版本号。在这个例子中,内核版本是4.19.188-10.el7.ucloud.x86_64。#1 SMP Wed Apr 28 09:54:38 UTC 2021:这是系统的内核编译信息,包括编译日期和时间。在这个例子中,内核是在2021年4月28日09:54:38(UTC时间)编译的。x86_64 x86_64 x86_64:这表示系统的体系结构(architecture),也就是处理器的类型。在这个例子中,体系结构是x86_64,表示使用的是64位的x86架构处理器。GNU/Linux:这表示系统的操作系统类型。GNU/Linux是一种自由和开放源代码的操作系统,它基于GNU工具和Linux内核。uname 对于查询这些核心系统详细信息非常有用。一些选项包括:-a – 打印所有可用的系统信息-r – 只打印内核版本号上述命令打印了扩展系统信息,包括内核名称/版本、硬件架构、主机名和操作系统。[root@xx ~] uname -r 4.19.188-10.el7.ucloud.x86_64这将只打印内核版本号。 uname 命令显示 Linux 系统核心组件的详细信息。2. hostname – 显示或设置系统主机名hostname 命令将打印或设置网络中 Linux 系统的主机名标识符。在没有参数的情况下,它会显示当前的主机名。传递名称将更新主机名。例子:[root@linuxserver ~] hostname linuxserver将显示配置的系统主机名 linuxserver。[root@linuxserver ~] hostname UbuntuServer # 不用reboot,打开新窗口后显示[root@UbuntuServer ~] hostnames 标识网络上的系统。 hostname 获取或配置网络上系统的标识名称。第二条命令可以帮助你将本地主机名更改为 UbuntuServer。PS:使用 hostname 命令修改主机名只会暂时更改主机名,并不会永久保存。当你重启系统或注销用户会话后,主机名会恢复到原来的设置。永久修改主机名需要执行命令:hostnamectl set-hostname newhostname 或者vim /etc/hostname,同样即时生效不用reboot3. uptime – 系统运行了多久uptime 命令显示 Linux 系统自上次重启以来已经运行了多长时间。它会打印出运行时间和当前时间。只需运行以下命令即可获取系统运行时间数据:uptime 23:51:26 up 2 days, 4:12, 1 user, load average: 0.00, 0.01, 0.05这将打印系统正常运行时间,显示系统自上次启动以来的运行时间。还输出了两点信息,记不清的伙伴请看 6个Linux进程管理命令 - top 的第一行4. whoami – 打印有效用户 IDwhoami 命令将打印当前登录系统用户的有效用户名。该命令(who am I的缩写)显示当前使用的whoami用户名:whoami # root使用echo和环境变量$USER可以得到相同的结果:echo $USER # root这将打印当前用户登录和操作的有效用户名,在脚本或诊断中非常有用,可用于识别正在执行操作的用户账户。5. id – 打印真实有效的用户和组 IDid 命令打印有关当前用户有效 ID 和名称的详细用户和组信息。其中包括有用的选项:-u:显示当前用户的用户ID(UID)。-g:显示当前用户所属的主要组ID(GID)。-G:显示当前用户所属的所有组ID(GID),以空格分隔。-n:显示当前用户的用户名。-un:显示当前用户的用户名和用户ID(UID)。这些示例可以帮助您了解如何使用id命令来获取用户的不同信息。根据您的需求,选择适当的选项即可。要使用 id 命令,只需键入:[root@xx ~]# id uid=1000(john) gid=1000(john) groups=1000(john),10(wheel),998(developers) [root@xx ~]# id apache uid=48(apache) gid=48(apache) groups=48(apache)id命令输出内容的意思:uid=1000(john): 这表示用户"john"的用户ID(UID)为1000。gid=1000(john): 这表示用户"john"所属的主要组ID(GID)为1000。groups=1000(john),10(wheel),998(developers): 这表示用户"john"所属的附加组ID(GID)列表为1000(组名为"john")、10(组名为"wheel")、998(组名为"developers")。简而言之,输出显示了用户"john"的用户ID、主要组ID以及附加组ID的信息。用户"john"的UID为1000,所属的主要组ID也为1000,同时还属于其他两个附加组,分别是"wheel"(GID为10)和"developers"(GID为998)。这些信息对于了解用户的身份和所属组是很有用的,可以用于控制访问权限和资源共享等方面。6. lscpu – 显示 CPU 架构信息lscpu 命令显示详细的 CPU 架构信息,包括CPU 内核数接口数量型号名称缓存大小CPU 频率地址大小要使用 lscpu 命令,只需键入:lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15lscpu 详细列出 CPU 架构,如内核数、插口、型号名称、缓存等。进一步介绍:[root@xx ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Vendor ID: GenuineIntel BIOS Vendor ID: Red Hat Model name: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz BIOS Model name: RHEL 7.6.0 PC (i440FX + PIIX, 1996) CPU family: 6 Model: 79 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 Stepping: 1 BogoMIPS: 5000.05 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdp e1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnow prefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc _adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat umip md_clear arch_capabilities Virtualization features: Virtualization: VT-x Hypervisor vendor: KVM Virtualization type: full Caches (sum of all): L1d: 32 KiB (1 instance) L1i: 32 KiB (1 instance) L2: 256 KiB (1 instance) L3: 40 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0,1 Vulnerabilities: Itlb multihit: Not affected L1tf: Mitigation; PTE Inversion; VMX flush not necessary, SMT disabled Mds: Mitigation; Clear CPU buffers; SMT Host state unknown Meltdown: Mitigation; PTI Mmio stale data: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown Retbleed: Not affected Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected Srbds: Not affected Tsx async abort: Mitigation; Clear CPU buffers; SMT Host state unknown关于系统CPU的信息解释:Architecture: x86_64: 这表示系统的体系结构是x86_64,也就是64位的x86架构。CPU op-mode(s): 32-bit, 64-bit: 这表示CPU支持32位和64位操作模式。Address sizes: 46 bits physical, 48 bits virtual: 这表示物理地址大小为46位,虚拟地址大小为48位。Byte Order: Little Endian: 这表示系统使用小端字节序。CPU(s): 2: 这表示系统有两个CPU核心。On-line CPU(s) list: 0,1: 这表示在线的CPU核心列表是0和1。Vendor ID: GenuineIntel: 这表示CPU供应商是Intel。BIOS Vendor ID: Red Hat: 这表示BIOS供应商是Red Hat。Model name: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz: 这表示CPU的型号名称是Intel Xeon E5-2682 v4,主频为2.50GHz。BIOS Model name: RHEL 7.6.0 PC (i440FX + PIIX, 1996): 这表示BIOS的型号名称是RHEL 7.6.0 PC,基于i440FX + PIIX架构。CPU family: 6: 这表示CPU系列是第6代。Model: 79: 这表示CPU型号是79。Thread(s) per core: 1: 这表示每个CPU核心只支持1个线程。Core(s) per socket: 2: 这表示每个CPU插槽有2个核心。Socket(s): 1: 这表示系统中只有1个CPU插槽。Stepping: 1: 这表示CPU的版本号是1。BogoMIPS: 5000.05: 这是一个性能指标,表示每秒钟可以执行的虚拟指令数。Flags: ...: 这是一系列标志位,表示CPU支持的特性和指令集。Virtualization: VT-x: 这表示CPU支持虚拟化技术VT-x。Hypervisor vendor: KVM: 这表示系统运行在KVM虚拟化平台上。Virtualization type: full: 这表示系统支持完全虚拟化。Caches (sum of all): ...: 这是关于CPU缓存的信息,包括L1、L2和L3缓存的大小。NUMA node(s): 1: 这表示系统中有1个NUMA节点。NUMA node0 CPU(s): 0,1: 这表示NUMA节点0上有CPU核心0和1。Vulnerabilities: ...: 这是关于CPU安全漏洞的信息,包括对各种漏洞的缓解措施。这些信息提供了关于系统CPU的详细描述,包括体系结构、核心数量、缓存大小、支持的特性、虚拟化技术、安全漏洞缓解措施等。这些信息对于了解系统的硬件配置、性能特征和安全性非常有用。7. lsblk – 列出块设备lsblk 命令列出所有可用块设备的信息,包括本地磁盘、分区和逻辑卷。输出包括设备名称、标签、大小和挂载点。lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk |-sda1 8:1 0 512M 0 part /boot |-sda2 8:2 0 16M 0 part `-sda5 8:5 0 1.8T 0 part `-lvm1 254:0 0 1.8T 0 lvm /lsblk 列出所有块设备,包括磁盘、分区和逻辑卷。提供存储设备概览。进一步介绍:[root@xx ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 60G 0 disk └─vda1 253:1 0 60G 0 part /每一列的解释:NAME: 显示了块设备的名称,通常以字母开头,后面可能跟着数字或其他字符。MAJ:MIN: 显示了块设备的主设备号(Major Device Number)和次设备号(Minor Device Number)。主设备号用于标识设备类型,次设备号用于标识设备的具体实例。RM: 显示了设备是否为可移动设备(Removable)。如果为0,则表示设备不可移动;如果为1,则表示设备可移动。SIZE: 显示了设备的总大小,以字节、千字节(KB)、兆字节(MB)、千兆字节(GB)或其他适当的单位表示。RO: 显示了设备是否为只读(Read-Only)。如果为0,则表示设备可读写;如果为1,则表示设备只读。TYPE: 显示了设备的类型,如磁盘(disk)、分区(part)等。MOUNTPOINT: 显示了设备当前挂载的路径。如果设备未挂载,则显示为空。有两行输出:第一行表示一个名为"vda"的磁盘设备,大小为60GB,它没有挂载点。第二行表示"vda"设备的一个分区"vda1",大小也为60GB,它被挂载在根目录"/"下。这些信息可以帮助您了解系统中的块设备及其挂载情况。8. lsmod – 显示 Linux 内核模块的状态lsmod 命令会打印当前加载的内核模块(如设备驱动程序)。这包括 Linux 内核用于连接内部和外部设备的网络、存储和其他硬件相关模块。[root@xx ~]# lsmod Module Size Used by ipv6 406206 27 evdev 17700 0 crct10dif_pclmul 16384 1 crc32_pclmul 16384 0 ghash_clmulni_intel 16384 0 aesni_intel 399871 0 aes_x86_64 20274 1 aesni_intel可以看到,它列出了当前加载的内核模块(如设备驱动程序)。在本例中,它显示了网络、输入、加密和加密模块的使用情况。详细介绍:Module: 列出了加载的内核模块的名称。Size: 显示了模块在内存中的大小,以字节为单位。Used by: 显示了使用该模块的其他模块或进程的数量。示例输出:模块名称是"ipv6"。模块大小为406206字节。该模块被27个模块或进程所使用。常用的lsmod命令选项结合使用的命令:modinfo <module_name>: 使用modinfo命令结合lsmod输出中的模块名称,可以获取有关特定模块的更详细信息,如作者、描述、版本等。grep : 使用grep命令结合lsmod输出和关键字,可以过滤出包含指定关键字的模块信息。例如,lsmod | grep bluetooth将只显示与蓝牙相关的模块。awk 或 cut: 使用awk或cut命令结合lsmod输出的文本处理功能,可以提取出特定列或信息。例如,lsmod | awk "{print $1}"将只打印出模块名称的列。例子:[root@xx ~]# lsmod | grep "xfs" xfs 2048000 1 libcrc32c 16384 1 xfs"xfs"的模块它依赖于"libcrc32c"模块。9. dmesg – 打印或控制内核环缓冲区dmesg 命令从内核环形缓冲区转储信息。其中包括内核在启动和运行过程中记录的重要系统事件。dmesg | grep -i error [ 12.345678] Error receiving batched read response: -110 [ 23.456789] tplink_mdio 0000:03:00.0: Direct firmware load for tplink-mdio/leap_p8_v1_0.bin failed with error -2 [ 40.567890] iwlwifi 0000:09:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-59.ucode failed with error -2搜索 “错误” 会显示加载特定固件时出现的问题。这将打印缓冲的内核日志信息,包括启动、错误、警告等系统事件。
2024年01月14日
23 阅读
0 评论
0 点赞
2024-01-13
8个Linux软件包管理命令
软件包管理器允许在 Linux 发行版上轻松安装、更新和删除软件。常用的软件包管理器包括 APT、YUM、DNF、Pacman 和 Zypper。1. apt – Debian/Ubuntu 软件包管理器apt 命令使用 APT 软件库管理 Debian/Ubuntu 系统上的软件包。它允许安装、更新和删除软件包。例子:apt update该命令从软件仓库获取最新的软件包版本和元数据。apt install nginx使用上述命令可以从配置的 APT 软件源安装 nginx 软件包。apt upgrade该命令将软件包和依赖关系升级到更新版本。apt 通过从软件源获取软件包,让安装软件变得更简单。2. pacman – Arch Linux 软件包管理器pacman 管理 Arch Linux 上来自 Arch 用户资源库的软件包。它可以安装、升级和删除软件包。例子:pacman -S nmap从配置的软件源安装 nmap 软件包。pacman -Syu 与软件源同步并升级所有软件包。pacman 使 Arch Linux 保持最新,并可轻松管理软件包。3. dnf – Fedora 软件包管理器dnf 使用 RPM 软件包在 Fedora Linux 发行版上安装、更新和删除软件包。它取代 Yum 成为新一代软件包管理器。例子:dnf install util-linux安装 util-linux 软件包。dnf upgrade将所有已安装的软件包升级到最新版本。dnf 使 Fedora 软件包管理快速高效。4. yum – Red Hat 软件包管理器yum 使用 RPM 软件包管理 RHEL 和 CentOS Linux 发行版上的软件包。它从 Yum 软件库中获取软件包进行安装和更新。例子:yum update将所有已安装的软件包更新到最新版本。yum install httpd上述命令安装 Apache httpd 软件包。yum 是保持 Red Hat 发行版更新的主要软件包管理器。5. zypper – OpenSUSE 软件包管理器zypper 在 SUSE/openSUSE Linux 上管理软件包。它可以添加软件源、搜索、安装和升级软件包。例子:zypper refresh zypper 的刷新命令会刷新已添加软件源的软件源元数据。zypper install python该命令从配置的软件源中安装 Python 软件包。 zypper 让 SUSE/openSUSE 系统上的软件包管理变得轻松自如。6. flatpak – Flatpak 应用程序软件包管理器flatpak 命令可帮助你管理 Flatpak 应用程序和运行时。 flatpak 允许在 Linux 上发布沙盒桌面应用程序。例子:flatpak install flathub org.libreoffice.LibreOffice例如,上述命令将从 Flathub 软件源安装 LibreOffice。flatpak run org.libreoffice.LibreOffice这将启动了沙盒LibreOfficeFlatpak应用程序。 flatpak 提供了一个集中的跨发行版 Linux 应用程序软件仓库,因此你不再局限于特定发行版软件包库中的软件包。7. appimage – AppImage 应用程序软件包管理器AppImage 软件包是独立的应用程序,可在大多数 Linux 发行版上运行。appimage 命令可运行现有的 AppImage。例子:chmod +x myapp.AppImage ./myapp.AppImage这样就可以直接运行 AppImage 二进制文件。AppImage 允许在不进行全系统安装的情况下部署应用程序。可以把 AppImage 想象成一个小型容器,其中包含所有文件,使应用程序无需过多外部依赖即可运行。8. snap – Snappy 应用程序软件包管理器snap 命令管理 Snaps 封装的软件包。Snaps 与 Flatpak 类似,能自动更新并跨 Linux 发行版运行。例子:snap install vlc这条简单的命令会安装 VLC 媒体播放器快照。snap run vlc安装完成后,你可以使用上述命令运行通过 snap 安装的软件包。快照将应用程序从基本系统中分离出来,以实现可移植性,并允许更简洁的安装。
2024年01月13日
22 阅读
0 评论
0 点赞
2024-01-12
9个Linux网络命令
这些命令用于监控连接、排除网络故障、路由选择、DNS 查询和接口配置。1. ping – 向网络主机发送 ICMP ECHO_REQUESTping 是用于测试网络连接的最流行的网络终端工具。ping 有很多选项,但在大多数情况下,您将使用它来请求域或IP地址:ping google.com PING google.com (142.251.42.78): 56 data bytes 64 bytes from 142.251.42.78: icmp_seq=0 ttl=112 time=8.590 ms 64 bytes from 142.251.42.78: icmp_seq=1 ttl=112 time=12.486 ms 64 bytes from 142.251.42.78: icmp_seq=2 ttl=112 time=12.085 ms 64 bytes from 142.251.42.78: icmp_seq=3 ttl=112 time=10.866 ms --- google.com ping statistics --- 4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 8.590/11.007/12.486/1.518 ms有用的 ping 选项:-c :指定要发送的 ICMP 请求的次数。例如,ping -c 5 192.168.0.1 将发送 5 个 ICMP 请求给 IP 地址为 192.168.0.1 的主机,并显示结果统计信息。-s :指定要发送的数据包的大小,以字节为单位。默认情况下,每个 ICMP 请求包含 56 字节的数据。例如,ping -s 100 192.168.0.1 将发送包含 100 字节数据的 ICMP 请求。-i :指定发送 ICMP 请求的时间间隔,以秒为单位。默认情况下,两个 ICMP 请求之间的间隔为 1 秒。例如,ping -i 0.5 192.168.0.1 将以 0.5 秒的间隔发送 ICMP 请求。-w :指定超时时间,即等待响应的最大时间,以秒为单位。例如,ping -w 5 192.168.0.1 将等待 5 秒以获取响应。-q:以静默模式(quiet mode)运行 ping 命令,只显示结果统计信息,而不输出每个 ICMP 请求的详细信息。-v:以详细模式(verbose mode)运行 ping 命令,显示关于每个 ICMP 请求的更多信息。使用上述命令,你可以 ping http://google.com,并输出显示连接性和延迟的往返统计信息。一般来说, ping 命令用于检查你试图连接的系统是否存在并已连接到网络。2. ifconfig – 配置网络接口ifconfig 命令显示并配置网络接口设置,包括 IP 地址、网络掩码、广播、MTU 和硬件 MAC 地址。例子:ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::a00:27ff:fe1e:ef1d prefixlen 64 scopeid 0x20<link> ether 08:00:27:1e:ef:1d txqueuelen 1000 (Ethernet) RX packets 23955654 bytes 16426961213 (15.3 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12432322 bytes 8710937057 (8.1 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0在没有其他参数的情况下运行 ifconfig ,将显示所有可用网络接口的列表,以及 IP 和其他网络信息。ifconfig 还可用于设置地址、启用/禁用接口以及更改选项。3. netstat – 网络统计netstat 命令可显示网络连接、路由表、接口统计信息、伪装连接和组播成员信息。有用的选项:-a:显示所有的网络连接,包括TCP和UDP连接。-l:显示正在监听的端口。-t:仅显示TCP连接。-u:仅显示UDP连接。-n:以数字形式显示地址和端口号,而不进行反向DNS解析。-p:显示与网络连接相关联的进程ID(PID)和进程名称。-r:显示路由表信息。-s:显示网络接口的统计信息。-i:检查网络接口的统计信息。-c:持续显示网络连接和统计信息,每隔一段时间刷新一次。例子:监控网络连接:可以使用netstat来监控当前活动的网络连接,以了解系统的网络状况。[root@xx ~]# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 localhost:cslistener 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN tcp6 0 0 [::]:33060 [::]:* LISTEN tcp6 0 0 [::]:mysql [::]:* LISTEN tcp6 0 0 [::]:sunrpc [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN [root@xx ~]# netstat -atn Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 ::1:25 :::* LISTEN tcp6 0 0 :::33060 :::* LISTEN tcp6 0 0 :::3306 :::* LISTEN tcp6 0 0 :::111 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN 检查端口占用情况:使用netstat可以查看哪些端口正在被进程占用。[root@xx ~]# netstat -tln | grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 查找网络连接的进程:有时候你可能想知道某个网络连接是由哪个进程创建的。使用netstat可以找到与特定连接相关联的进程。例如,如果你想知道与远程地址为192.168.1.100的连接相关的进程,可以运行以下命令:[root@xx ~]#netstat -ntp |grep 192.168.1.100 tcp 0 0 10.50.189.64:21564 192.168.1.100:873 TIME_WAIT - 检查网络接口的统计信息:netstat还可以提供网络接口的统计信息,包括接收和发送的数据包数量、错误数量等。[root@xx ~]# 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 1452 21671488 0 0 0 19669898 0 0 0 BMRU lo 65536 40994 0 0 0 40994 0 0 0 LRU各列的解释:Iface:网络接口的名称。MTU:最大传输单元(Maximum Transmission Unit),表示网络接口支持的最大数据包大小。RX-OK:接收到的正确数据包的数量。RX-ERR:接收过程中发生错误的数据包数量。RX-DRP:丢弃的接收数据包数量,通常是因为接收缓冲区已满。RX-OVR:接收缓冲区溢出的次数,表示接收速度超过了处理速度。TX-OK:成功传输的数据包数量。TX-ERR:传输过程中发生错误的数据包数量。TX-DRP:丢弃的传输数据包数量,通常是因为发送缓冲区已满。TX-OVR:传输缓冲区溢出的次数,表示传输速度超过了处理速度。Flg:接口的标志和状态。在示例输出中,有两个网络接口:eth0和lo。eth0接口的MTU为1452,表示支持的最大数据包大小为1452字节。接收到的数据包数量为21671488,没有接收错误、丢弃或溢出的数据包。成功传输的数据包数量为19669898,没有传输错误、丢弃或溢出的数据包。标志为BMRU,表示该接口是广播、多播、运行和上线的。lo接口是回环接口(loopback interface),用于本地主机内部通信。它的MTU为65536,接收到的数据包数量为40994,没有接收错误、丢弃或溢出的数据包。成功传输的数据包数量也为40994,没有传输错误、丢弃或溢出的数据包。标志为LRU,表示该接口是回环接口。通过查看这些统计信息,可以了解网络接口的使用情况和性能状况,例如接收和传输的数据包数量,错误和丢弃的情况,以及缓冲区溢出的次数。这对于网络故障排除和性能优化非常有帮助。4. ss – 套接字统计ss 命令将转储与 netstat 类似的套接字统计信息。它可以显示打开的 TCP 和 UDP 套接字、发送/接收缓冲区大小等。有用的选项:-t:仅显示TCP连接。过滤只显示TCP连接,有助于查看与TCP相关的网络连接,如Web服务器连接。-u:仅显示UDP连接。过滤只显示UDP连接,有助于查看与UDP相关的网络连接,如DNS服务器或其他UDP服务。-l:显示正在监听的端口。显示所有正在监听的端口及其相关的进程信息,有助于查找正在运行的服务以及它们使用的端口。-p:显示与网络连接相关联的进程ID(PID)和进程名称。显示每个网络连接所关联的进程ID和进程名称,有助于确定哪个进程正在使用特定的网络连接。-n:以数字形式显示地址和端口号,而不进行反向DNS解析。以IP地址和端口号的数字形式显示网络连接,而不进行反向DNS解析。这可以提高命令执行速度和避免DNS查询的延迟。-s:显示套接字统计信息。显示套接字的统计信息,包括每个协议(TCP、UDP、RAW等)的统计数据。这对于查看网络连接的整体统计信息非常有用。-a:显示所有的网络连接,包括TCP和UDP连接。显示所有的网络连接,包括TCP和UDP连接,以及其他类型的套接字。-o:显示计时器信息,包括计时器的类型和剩余时间。显示与套接字相关的计时器信息,包括计时器的类型和剩余时间。这对于查看套接字的计时器状态非常有用。例子:ss -t -a #打印所有打开的 TCP 套接字。比 netstat 更有效。 [root@xx ~]# netstat -tln |grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN [root@xx ~]# ss -lpn | grep :80 tcp LISTEN 0 511 *:80 *:* users:(("nginx",pid=41140,fd=6),("nginx",pid=4481,fd=6)) [root@xx ~]# netstat -pln |grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4481/nginx: master [root@xx ~]# ps -ef | grep nginx root 4481 1 0 2023 ? 00:00:00 nginx: master process /www/nginx/sbin/nginx nobody 41140 4481 0 2023 ? 00:00:02 nginx: worker process root 97901 93006 0 12:57 pts/0 00:00:00 grep --color=auto nginx5. traceroute – 追踪到主机的路由traceroute 命令打印数据包到网络主机的路径,显示沿途的每一跳和传输时间。对网络调试很有用。例子:traceroute google.com跟踪到达 http://google.com 的路径,并输出每个网络跳转。6. dig – DNS 查找dig 命令执行 DNS 查找并返回域的 DNS 记录信息。例子:# 它会查询 DNS 服务器中与 http://google.com 相关的记录,并打印详细信息。 [root@xx ~]# dig google.com ; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17558 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 67 IN A 172.217.16.238 ;; AUTHORITY SECTION: . 173 IN NS i.root-servers.net. . 173 IN NS e.root-servers.net. . 173 IN NS m.root-servers.net. . 173 IN NS h.root-servers.net. . 173 IN NS d.root-servers.net. . 173 IN NS g.root-servers.net. . 173 IN NS a.root-servers.net. . 173 IN NS k.root-servers.net. . 173 IN NS c.root-servers.net. . 173 IN NS j.root-servers.net. . 173 IN NS f.root-servers.net. . 173 IN NS l.root-servers.net. . 173 IN NS b.root-servers.net. ;; Query time: 1 msec ;; SERVER: 10.50.255.1#53(10.50.255.1) ;; WHEN: Sat Jan 13 13:17:40 GMT 2024 ;; MSG SIZE rcvd: 266 # 跟踪到达 http://google.com 的路径,并输出每个网络跳转。 [root@xx ~]# traceroute google.com traceroute to google.com (172.217.16.238), 30 hops max, 60 byte packets 1 * * * 2 172.30.52.120 (172.30.52.120) 0.958 ms 0.943 ms 172.30.52.98 (172.30.52.98) 1.073 ms 3 172.30.52.2 (172.30.52.2) 13.548 ms 13.886 ms 13.159 ms 4 mta-out-96-232.unaccountableauditorium.com (23.236.96.232) 4.555 ms 4.539 ms 4.519 ms 5 104.166.160.114 (104.166.160.114) 11.024 ms 104.166.160.162 (104.166.160.162) 1.268 ms 104.166.160.112 (104.166.160.112) 10.961 ms 6 * * * 7 * ldn-bb1-link.ip.twelve99.net (62.115.127.100) 2.316 ms * 8 * * ldn-b2-link.ip.twelve99.net (62.115.122.189) 1.340 ms 9 62.115.62.194 (62.115.62.194) 3.438 ms 3.777 ms 2.285 ms 10 * * 142.251.52.149 (142.251.52.149) 1.912 ms 11 209.85.252.180 (209.85.252.180) 4.183 ms 142.251.232.211 (142.251.232.211) 2.065 ms 216.239.58.129 (216.239.58.129) 3.056 ms 12 142.251.52.149 (142.251.52.149) 1.942 ms 192.178.97.168 (192.178.97.168) 2.118 ms mad08s04-in-f14.1e100.net (172.217.16.238) 1.848 ms [root@xx ~]# traceroute 58heshihu.com traceroute to 58heshihu.com (193.134.211.123), 30 hops max, 60 byte packets 1 * * * 2 172.30.52.98 (172.30.52.98) 1.364 ms 1.176 ms 1.160 ms 3 172.30.52.2 (172.30.52.2) 12.029 ms 12.276 ms 12.657 ms 4 mta-out-96-232.unaccountableauditorium.com (23.236.96.232) 6.158 ms 6.139 ms 6.122 ms 5 104.166.160.114 (104.166.160.114) 1.522 ms 104.166.160.162 (104.166.160.162) 1.443 ms 104.166.160.114 (104.166.160.114) 1.484 ms 6 lon-tel-01gw.voxility.net (195.66.226.180) 1.406 ms 1.175 ms 104.166.160.178 (104.166.160.178) 1.186 ms 7 * * * 8 * * * 9 * *^C从中看出什么了吗,自己悟。7. nslookup – 交互式查询 DNS 服务器nslookup 命令以交互方式查询 DNS 服务器,以执行名称解析查询或显示 DNS 记录。它进入一个交互式 shell,允许你手动查询主机名、反向 IP 地址、查找 DNS 记录类型等。例如,一些常见的 nslookup 使用方法。在命令行中键入 nslookup:nslookup接下来,我们将设置 Google 8.8.8.8 DNS 服务器用于查询。> server 8.8.8.8现在,让我们查询 http://stackoverflow.com 的 A 记录,找到它的 IP 地址。> set type=A > stackoverflow.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: stackoverflow.com Address: 104.18.32.7 Name: stackoverflow.com Address: 172.64.155.249现在,让我们查找 http://github.com 的 MX 记录,查看其邮件服务器。> set type=MX > github.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: github.com mail exchanger = 1 aspmx.l.google.com. github.com mail exchanger = 5 alt1.aspmx.l.google.com. github.com mail exchanger = 5 alt2.aspmx.l.google.com. github.com mail exchanger = 10 alt3.aspmx.l.google.com. github.com mail exchanger = 10 alt4.aspmx.l.google.com.交互式查询使 nslookup 对探索 DNS 和排除名称解析问题非常有用。总结 nslookup是一个常用的网络工具,用于查询域名系统(DNS)记录。它可以用于查找域名的IP地址、反向查找IP地址的域名、查询特定类型的DNS记录等。下面是nslookup的使用介绍:打开终端或命令提示符:在计算机上打开终端(Linux和Mac)或命令提示符(Windows)。输入命令:在终端或命令提示符中输入nslookup命令,然后按Enter键。进入nslookup交互模式:输入要查询的域名或IP地址,然后按Enter键。例如,输入example.com。查找域名的IP地址:输入要查询的域名,nslookup将返回与该域名关联的IP地址。例如,输入example.com。反向查找IP地址的域名:输入要查询的IP地址,nslookup将返回与该IP地址关联的域名。例如,输入8.8.8.8。查询特定类型的DNS记录:使用set type命令设置要查询的DNS记录类型,然后输入要查询的域名。例如,要查询example.com的邮件交换(MX)记录,可以执行以下步骤:输入set type=mx,设置查询类型为MX记录。输入要查询的域名,例如example.com。退出nslookup:要退出nslookup交互模式,可以输入exit或按Ctrl+C。8. iptables – IPv4 数据包过滤和 NAT使用 iptables 命令可以配置 Linux netfilter 防火墙规则,以过滤和处理网络数据包。它为系统如何处理不同类型的入站和出站连接及流量设置了策略和规则。例子:iptables -A INPUT -s 192.168.1.10 -j DROP上述命令将阻止来自 IP 192.168.1.10 的所有输入。iptables 为 Linux 内核防火墙提供了强大的控制功能,可以处理路由、NAT、数据包过滤和其他流量控制。它是确保 Linux 服务器安全的重要工具。iptables可以用于多种用途,如网络安全、流量控制和网络地址转换等。下面是一些常见的使用案例,并提供简要的教程来演示如何使用iptables进行配置。防火墙规则:试了下有点问题,有开放关闭端口的需求看这里 linux笔记 - 防火墙端口 添加规则以允许特定端口的连接:iptables -A INPUT -p tcp --dport 80 -j ACCEPT以上命令将允许TCP端口80的连接通过防火墙。阻止特定IP地址的访问:iptables -A INPUT -s 192.168.0.100 -j DROP以上命令将阻止来自IP地址为192.168.0.100的访问。设置默认策略:iptables -P INPUT DROP以上命令将将输入链的默认策略设置为拒绝(DROP)。网络地址转换(NAT):实现源地址转换(SNAT):iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE以上命令将对从192.168.0.0/24网络发出的流量进行源地址转换,并通过eth0接口发送出去。实现目标地址转换(DNAT):iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.10:80以上命令将将所有进入eth0接口的TCP端口80的流量转发到内部服务器192.168.0.10的端口80。端口转发:设置端口转发规则:iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.10:80 iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.10 --dport 80 -j SNAT --to-source <公共IP地址>以上命令将将所有进入防火墙的TCP端口8080的流量转发到内部服务器192.168.0.10的端口80,并将响应流量的源地址设置为公共IP地址。限制连接数:限制特定IP地址的连接数:iptables -A INPUT -p tcp -s 192.168.0.100 --syn -m connlimit --connlimit-above 10 -j DROP以上命令将阻止IP地址为192.168.0.100的主机建立超过10个TCP连接。日志记录:配置日志规则:iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH Connection: " --log-level 7以上命令将记录所有进入防火墙的SSH连接流量,并在日志中添加"SSH Connection: "前缀。9. ip – 管理网络设备和路由使用 ip 命令可以管理和监控各种与网络设备相关的活动,如分配 IP 地址、设置子网、显示链接详情和配置路由选项。有用的选项:ip addr:显示网络接口的地址信息,包括IP地址、MAC地址、状态等。ip addr show:显示所有网络接口的详细信息。ip addr add <IP地址>/<子网掩码> dev <网络接口>:添加一个IP地址到指定的网络接口。ip addr del <IP地址>/<子网掩码> dev <网络接口>:从指定的网络接口删除一个IP地址。ip link:管理网络接口的状态和属性。ip link show:显示所有网络接口的详细信息。ip link set <网络接口> up:启用指定的网络接口。ip link set <网络接口> down:禁用指定的网络接口。ip route:管理路由表。ip route show:显示当前的路由表。ip route add <目标网络>/<子网掩码> via <下一跳IP> dev <出口网络接口>:添加一个路由规则。ip route del <目标网络>/<子网掩码> via <下一跳IP> dev <出口网络接口>:删除一个路由规则。ip neigh:管理邻居表(ARP缓存)。ip neigh show:显示当前的邻居表。ip neigh add <IP地址> lladdr <MAC地址> dev <网络接口>:添加一个邻居表项。ip neigh del <IP地址> lladdr <MAC地址> dev <网络接口>:删除一个邻居表项。ip tunnel:管理隧道接口。ip tunnel add <隧道接口> mode <隧道模式> remote <远程IP> local <本地IP>:添加一个隧道接口。ip tunnel del <隧道接口>:删除一个隧道接口。例子:ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:8a:5c:04 brd ff:ff:ff:ff:ff:ff上述命令显示了所有网络接口、它们的状态和其他信息。该命令旨在用更现代的 Linux 网络管理功能取代 ifconfig。 ip 可以控制网络设备、路由表和其他网络协议栈设置。
2024年01月12日
34 阅读
0 评论
0 点赞
2024-01-11
5个Linux用户管理命令
在使用多用户系统时,你可能需要一些命令来帮助你管理用户和组,以控制访问权限。下面我们就来介绍一下这些命令。1. useradd – 创建新用户useradd 命令用于创建新用户账户和主目录。它会设置新用户的 UID、组、shell 和其他默认值。useradd 实用选项:-c, --comment COMMENT:为新用户账户添加注释(通常是用户的全名)。示例:useradd -c "John Doe" username-d, --home HOME_DIR:指定用户的主目录路径。示例:useradd -d /home/username username-g, --gid GROUP:指定用户的初始用户组(GID)。示例:useradd -g groupname username-G, --groups GROUPS:将用户添加到其他附属组中。多个组名可以用逗号隔开。示例:useradd -G group1,group2 username-s, --shell SHELL:指定用户的默认登录 Shell。示例:useradd -s /bin/bash username-u, --uid UID:指定用户的用户标识号(UID),要求是一个唯一的数字。示例:useradd -u 1001 username-m, --create-home:创建用户时同时创建主目录。示例:useradd -m username-p, --password PASSWORD:为用户设置密码。注意,密码应以加密形式提供。示例:useradd -p encrypted_password username例子:useradd -m john上述命令将创建一个新用户 “john”,用户名和主目录均为 /home/john。2. usermod – 修改用户账户usermod 命令可修改现有用户账户的设置。这可以更改用户名、主目录、shell、组、有效期等。usermod 参数选项跟useradd一样。3. userdel – 删除用户账户userdel 命令用于删除用户账户、主目录和邮件 spool。例子:userdel -rf johnuserdel 有用选项:-r – 删除用户的主目录和邮件线轴。-f – 即使用户仍在登录,也强制删除。这将强制删除用户 “john”,并删除相关文件。在 userdel 中指定 -r 和 -f 等选项可确保完全删除用户账户,即使该用户仍在登录或有活动进程。4. groupadd – 添加一个组groupadd 命令用于创建一个新的用户组。就权限而言,组代表团队或角色。例子:groupadd -r sysadmin有用的 groupadd 选项:-r – 创建用于核心系统功能的系统组。-g – 指定新组的 GID,而不是使用下一个可用的 GID。上述命令创建了一个具有系统权限的新 “sysadmin” 组。创建新组时, -r 或 -g 有助于正确设置。5. passwd – 更新用户的身份验证令牌passwd 允许您更改用户帐户的密码。首先,它会提示您输入当前密码,然后要求您输入新密码并确认。它类似于您在其他地方看到的任何其他密码更改,但在本例中,它直接在您的终端中:passwd例子:passwd john这会提示用户 “john” 以交互方式输入新密码。如果你丢失了某个账户的密码,可以用 sudo 或 su 权限登录 Linux,然后用同样的方法修改密码。使用时要小心-一不小心可能会混肴用户密码!
2024年01月11日
18 阅读
0 评论
0 点赞
2024-01-11
5个Linux性能监控命令
这些命令提供了宝贵的系统性能统计数据,有助于分析资源利用率、识别瓶颈和优化效率。1. vmstat – 报告虚拟内存统计数据vmstat 命令可打印有关内存、交换、I/O 和 CPU 活动的详细报告。其中包括已用/可用内存、交换入/出、磁盘块读/写和 CPU 进程/闲置时间等指标。例子:vmstat 5其他有用的 vmstat 选项:-a – 显示活动和非活动内存-s – 显示事件计数器和内存统计信息-S – 以 KB 而不是块为单位输出5 – 每 5 秒刷新一次输出。上面的示例每 5 秒输出一次内存和 CPU 数据,直到中断为止,这对监控实时系统性能非常有用。[root@xx web]# vmstat 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 115732 0 952956 0 0 0 2 2 4 0 0 99 0 0每一列代表的意思: procs: 进程统计信息r: 运行队列中正在运行的进程数b: 等待运行的进程数memory: 内存统计信息swpd: 使用的交换空间大小(单位为KB)free: 空闲内存大小(单位为KB)buff: 用于缓冲的内存大小(单位为KB)cache: 用于缓存的内存大小(单位为KB)swap: 交换空间统计信息si: 从磁盘读取到交换空间的数据大小(单位为KB/s)so: 从交换空间写入到磁盘的数据大小(单位为KB/s)io: I/O 统计信息bi: 块设备接收的块数(单位为块/s)bo: 块设备发送的块数(单位为块/s)system: 系统统计信息in: 每秒中断的数量cs: 每秒上下文切换的数量cpu: CPU 统计信息us: 用户进程使用 CPU 的时间百分比sy: 系统进程使用 CPU 的时间百分比id: CPU 处于空闲状态的时间百分比wa: CPU 正在等待 I/O 完成的时间百分比st: 被虚拟化环境(例如虚拟机)偷取的时间百分比2. iostat – 报告 CPU 和 I/O 统计数据iostat 命令监控并显示 CPU 利用率和磁盘 I/O 指标。其中包括 CPU 负载、IOPS、读/写吞吐量等。一些 iostat 选项:c – 显示 CPU 使用率信息t – 为每份报告打印时间戳x – 显示服务时间和等待计数等扩展统计信息d – 显示每个磁盘/分区的详细统计信息,而不是合计总数p – 显示特定磁盘设备的统计信息下面每 5 秒钟显示一次 sda 每个设备的详细 I/O 统计信息。iostat -d -p sda 5iostat 可帮助分析磁盘子系统的性能,找出硬件瓶颈。[root@xx web]# iostat Linux 4.19.188-10.el7.ucloud.x86_64 (10-50-90-250) 01/11/2024 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.41 0.00 0.36 0.00 0.00 99.23 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 0.45 0.10 4.60 433948 19644449每一列参数代表的意思: avg-cpu:这一行统计了 CPU 使用情况的平均值。%user:用户态进程使用 CPU 的百分比。%nice:以较高优先级运行的用户态进程使用 CPU 的百分比(优先级较低的用户态进程)。%system:内核进程使用 CPU 的百分比。%iowait:CPU 等待 I/O 完成的百分比。%steal:当 hypervisor(虚拟化环境中的宿主机)需要让出 CPU 给其他虚拟机时,该 CPU 被偷取的百分比。%idle:CPU 空闲时间的百分比。Device:这一行显示了每个磁盘设备的统计数据。tps:每秒传输的 I/O 请求数。这个值反映了磁盘设备的工作负载。kB_read/s:每秒从设备读取的数据量,以千字节 (KB) 为单位。kB_wrtn/s:每秒写入设备的数据量,以千字节 (KB) 为单位。kB_read:从设备读取的总数据量,以千字节 (KB) 为单位。kB_wrtn:写入设备的总数据量,以千字节 (KB) 为单位。3. free – 显示可用和已用内存量free 命令显示系统中物理内存和交换内存的总量、已用量和空闲量。这将提供可用内存的总体情况。例子:free -hfree 命令的一些选项:b – 以字节为单位显示输出k – 以 KB(而非默认字节)为单位显示输出结果m – 以 MB 为单位显示输出,而不是以字节为单位h – 以 GB、MB 等人类可读格式打印统计数据,而不是字节。以人类可读格式(GB、MB 等)打印内存统计数据。当你想快速了解内存容量时,它非常有用。4. df – 报告文件系统磁盘空间使用情况df 命令显示文件系统的磁盘空间使用情况。它会显示文件系统名称、总/已用/可用空间和容量。常用的参数选项:-h :以人类可读的格式显示磁盘使用情况,以 K、M、G 等单位表示文件系统的大小和可用空间。-T :显示文件系统类型。-i :显示 inode 的使用情况而不是磁盘空间。-a :显示所有文件系统,包括系统特有的文件系统。-x type :排除指定类型的文件系统。例如,-x tmpfs 将排除 tmpfs 类型的文件系统。-hT :同时使用 -h 和 -T 参数,以人类可读的格式显示文件系统以及各个文件系统类型。--total :在最后一行显示所有文件系统的总空间和已使用空间。--help :显示 df 命令的帮助信息,包括所有可用的参数选项和用法示例。例子:df -h上述命令将以人类可读的格式打印磁盘利用率。也可以不带参数运行该命令,以块大小获得相同的数据。[root@xx web]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on devtmpfs devtmpfs 891628 0 891628 0% /dev tmpfs tmpfs 904464 0 904464 0% /dev/shm tmpfs tmpfs 904464 107052 797412 12% /run tmpfs tmpfs 904464 0 904464 0% /sys/fs/cgroup /dev/vda1 xfs 62903276 4308344 58594932 7% / tmpfs tmpfs 180896 0 180896 0% /run/user/0各列的含义:Filesystem:文件系统的名称或挂载点名称。Type:文件系统的类型。1K-blocks:文件系统的总块数(以千字节为单位)。Used:已使用的块数(以千字节为单位)。Available:可用的块数(以千字节为单位)。Use%:已使用空间占总空间的百分比。Mounted on:文件系统的挂载点。5. sar – 收集和报告系统活动sar 工具收集并记录一段时间内 CPU、内存、I/O、网络等系统活动信息。通过分析这些数据,可以发现性能问题。语法:sar [options] [interval [count]]其中,[options] 是可选的命令选项,[interval] 是数据收集的时间间隔(以秒为单位),[count] 是指定收集的次数。一些常用的 sar 参数选项和示例:-u:显示 CPU 使用率统计数据。示例:sar -u-r:显示内存使用情况统计数据。示例:sar -r-b:显示磁盘 I/O 统计数据。示例:sar -b-n DEV:显示网络接口的统计数据,其中 DEV 是网络接口的名称,如 eth0。示例:sar -n DEV-q:显示运行队列和负载平均值的统计数据。示例:sar -q-A:显示所有可用的统计数据。示例:sar -A-s HH:MM:SS:从指定的起始时间开始显示统计数据。示例:sar -s 10:00:00-e HH:MM:SS:显示到指定的结束时间的统计数据。示例:sar -e 12:00:00-f FILE:指定 sar 数据文件的路径,用于读取预先记录的数据。在 Linux 系统上,默认情况下,sar 数据文件存储在 /var/log/sa/ 目录下,文件名以 sa 开头,后面跟着日期的数字表示,如 sa01、sa02 等。每个数据文件包含了特定日期的系统活动报告数据。示例:sar -f /var/log/sa/sa01-o OUTPUT_FILE:将统计数据写入指定的输出文件中,以便后续使用。示例:sar -o output.txt例子:sar -u 5 60每 5 秒采样一次 CPU 使用情况,持续 60 次。sar 提供了实时工具无法提供的详细历史系统性能数据。
2024年01月11日
27 阅读
0 评论
0 点赞
1
2
3
...
9