Linux 学习笔记之超详细基础linux命令 Part 14

简介: Linux 学习笔记之超详细基础linux命令 Part 14

Linux学习笔记之超详细基础linux命令


---------------------------------接Part 13------------------------------

2.第二、三行为进程和CPU的信息

当有多个CPU时,这些内容可能会超过两行,内容如下

Tasks: 201 total   进程总数

2 running      正在运行的进程数

199 sleeping       睡眠的进程数

0 stopped      停止的进程数

0 zombie       僵尸进程数

 

Cpu(s):

3.5%us         用户空间占用cpu百分比

1.4%sy         内核空间占用cpu百分比

0.0%ni         用户进程空间内改变过优先级的进程占用CPU百分比

94.8%id        空闲CPU百分比

0.3%wa         等待输入输出的cpu时间百分比

0.0%hi

0.0%si

 

第四、第五行为内存信息

Mem:  

3822456k total     物理内存总量=free+used

939888k used       使用的物理内存总量

2882568k free      空闲内存总量

162476k buffers    用作内核缓存的内存量

 

Swap:

4198392k total     交换区总量

0k used            使用的交换区总量

4198392k free      空闲交换区总量

423572k cached     缓存交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但是使用过的交换区未被覆盖。

 

后面的部分是进程信息

列名           含义

PID            进程id(Process Id)

PPID           父进程id(Parent Process Id)

RUSER          进程所有者的真实用户名(Real user name)

UID            进程所有者的用户id(User Id)

USER           进程所有者的用户名(USER Name)

GROUP          进程所有者的组名(Group Name)

TTY            启动进程的终端名。而不是从终端启动的进程则显示为""

PR              进程优先级(Proirity

NI              Nice值。负值表示高优先级,正值则表示低优先级

P              最后使用的CPU(Last used CPU),仅在多CPU环境下有意义

 

%CPU           上次屏幕更新到现在的CPU时间占总的CPU时间的比.

TIME           进程使用的CPU时间总计,单位秒

TIME+          进程使用的CPU时间总计,单位1/100

%MEM           进程使用的物理内存百分比

VIRT           进程使用的虚拟内存(Virtual Image)总量,单位kb.VIRT=SWAP+RES

SWAP           进程使用的虚拟内存中,被换出的大小,单位kb

RES             进程使用的,未被换出的物理内存大小,单位kbRES=CODE+DATA

CODE           可执行代码占用的物理内存大小(Code Size),单位kb

DATA           可执行代码以外的的部分(数据段+)占用的物理内存大小,单位kb

SHR            共享内存大小,单位kb

nFLT           页面错误次数(Page Fault count)

nDRT           最后一次写入到现在,被修改过的页面数(Dirty Pages count)

              进程状态

               D=不可中断的睡眠状态

               R=运行

S               S=睡眠

               T=跟踪/停止

               Z=僵尸进程

              进程状态

COMMAND        命令名/命令行

WCHAN          若该进程在睡眠,则显示睡眠中的系统函数

Flags          任务标志,参考sched.h

---------------------------------------------------------------------------

 

free命令

方法:free [选项]

功能:显示内存和交换分区的相关信息

主要选项:

-mMB为单位显示,默认以KB为单位,类似还有-g-k(-g会向下取整),要精确的话还是默认方式好点

-t(total)增加显示内存和交换分区的总和信息

-s(second)秒数指定动态显示时的刷新频率

例子:显示内存、缓存和交换分区的使用情况。

[laiyu@localhost ~]$ free

            total       used       free     shared    buffers     cached

Mem:       3822456     574968    3247488          0      48324     300428

-/+ buffers/cache:     226216    3596240

Swap:      4198392          0    4198392

 

[debian下测试]

builder:~# free -t

            total       used       free     shared    buffers     cached

Mem:       4006772    3875180     131592          0      12508    2947012

 

 

-/+ buffers/cache:     915660    3091112

Swap:     30719996     134460   30585536

Total:    34726768    4009640   30717128

 

说明:

第一行>> Mem:表示物理内存,针对操作系统来说

total:表示物理内存总量(total = used + free)

used表示总计分配给缓存使用的数量(缓存包含buffers+cached)

free表示未分配的内存

shared共享内存,一般系统不会用到

buffers:系统分配但未被使用的buffers数量。

cached系统分配但未被使用的cache数量。

 

第二行>> -/+ buffers/cache:表示物理内存的缓存统计,对应用程序来说

used2:也就是第一行的used - buffers - cached也就是实际使用的内存总量。//此处used2为第二行的used,以下类推

free2buffers1+cached1+free1,也就是说free2是未被使用的bufferscached和未被分配的内存之和,这就是系统当前实际可用内存

 

第三行>> Swap硬盘上交换分区的使用情况

 

Bufferscache的区别:

A buffer is something that has yet to be "written" to disk.A cache is somthing that has been "read" from the disk and stored for later use.也就是说buffer是指还没写进磁盘的缓冲区,cache是指从磁盘读取进内存,等待被用的部分。

 

对应用程序来说,buffers/cached等于是可用的,因为buffers/cached是为了提高读取的性能,而应用程序需再用到的时候,buffers/cached会很快的被回收。

从应用程序角度:可用内存=系统freeMem+buffers+cached

 

 

应用程序角度和操作系统角度考虑free命令

 对操作系统来讲,bufferscached都是属于被使用,所以它认为free只有131592used - buffers - cached -> 3875180 - 12508 - 2947012 = 915660就是当前真实使用的内存

 

对应用程序来讲是(-/+ buffers/cach).buffers/cached是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。所以,以应用来看看,(-/+ buffers/cache)free2Memused1为参考.

 

常识:

Linux为了提高磁盘和内存存取效率,做了很多精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer CachePage Cache前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了I/O系统调用(比如read,write,getdents)的时间。记住内存是拿来用的,不是拿来看的,不像windows,无论你的真实物理内存有多少,它都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.多无聊呀,所以看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果swap用得很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.


网络基础

配置网络的Shell命令

hostname命令

方法:hostname [主机名]

功能:查看或修改计算机的主机名

例子:查看当前计算机的主机名

[laiyu@localhost ~]$ hostname

localhost.localdomain

 

例子:将主机名设置为mylinux

[laiyu@localhost ~]$ hostname

localhost.localdomain

[laiyu@localhost ~]$ hostname mylinux

hostname: you must be root to change the host name

[laiyu@localhost ~]$ su

Password:

[root@localhost laiyu]# hostname mylinux

[root@localhost laiyu]# hostname

mylinux

注意:hostname命令只能在本次运行中修改主机名,如果需要永久性修改主机名则要修改/etc/sysconfig/network文件,设置其中的hostname

[root@localhost laiyu]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=localhost.localdomain


ifconfig
命令

方法:ifconfig [网卡接口名] [IP地址] [netmask子网掩码] [up|down]

功能:查看网卡接口的配置情况,并可设置网卡的相关信参数,激活或停用网络接口

例子:查看网卡接口的配置情况

[laiyu@localhost ~]$ ifconfig

eth0      Link encap:Ethernet  HWaddr 20:6A:8A:7E:65:A2

         UP BROADCAST MULTICAST  MTU:1500  Metric:1

         RX packets:0 errors:0 dropped:0 overruns:0 frame:0

         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:1000

         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

         Interrupt:19

 

lo        Link encap:Local Loopback

         inet addr:127.0.0.1  Mask:255.0.0.0

         inet6 addr: ::1/128 Scope:Host

         UP LOOPBACK RUNNING  MTU:16436  Metric:1

         RX packets:16 errors:0 dropped:0 overruns:0 frame:0

         TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:0

         RX bytes:960 (960.0 b)  TX bytes:960 (960.0 b)

 

注:使用ficonfig命令,不指定网络设备名,则查看当前所有处于活跃状态的网络接口的配置情况,其中一定包括本地回送接口lo

输出项说明:

Link encap表示网络接口的类型;

UP表示正在使用中

HWaddr称为MAC地址,表示网卡的物理硬件地址。

inet addr表示网卡上设置的ip地址。

Bcast表示网络的广播地址

Mask表示网卡上设置的子网掩码。

RX行表示已接受的数据包信息。

TX行表示已发送的数据包的信息。

MTU数据链路层的最大传送单元

 

目录
相关文章
|
1天前
|
Linux 数据处理 调度
深入探索Linux的renice命令:优化进程优先级
`renice`命令在Linux中用于调整运行进程的优先级,范围-20(最高)至19(最低)。它可以实时改变进程的优先级,无需重启,支持按PID、进程组或用户批量修改。例如,`renice -n 10 -p 1234`将PID为1234的进程优先级设为10。使用时要注意不要滥用高优先级,避免频繁修改,了解系统负载,并记录变更,通常需root权限。
|
1天前
|
Linux 数据处理 Perl
深入探索Linux的rename命令:文件重命名利器
**Linux的`rename`命令是批量重命名文件的利器,基于正则表达式或Perl,支持预览、交互式确认及多种操作模式。常用示例:用`s/ /_/g`替换空格为下划线,`s/$/.txt/`添加扩展名,`s/\..*//`删除扩展名。使用时注意备份、测试命令、权限和正则表达式知识。**
|
1天前
|
Linux Shell
Linux中的realpath命令:深入解析与实用指南
**Linux的`realpath`命令详解** `realpath`用于获取文件或目录的规范化绝对路径,解析相对路径、符号链接及冗余元素。它接受路径输入,返回最短、唯一的绝对路径。支持 `-e`(确保路径存在)、`-m`(允许缺失组件)、`-s`(删除多余斜杠)和`-q`(静默模式)等参数。在脚本中使用能确保路径一致性,但需注意权限和路径检查。了解`pwd`、`find`和`readlink`等命令的用法也有助于选择合适的路径处理工具。
|
1天前
|
缓存 Linux 虚拟化
Linux下top命令指标说明
Linux下top命令指标说明
8 0
|
2天前
|
Linux
Linux的top命令是什么,如何使用
【6月更文挑战第30天】Linux的top命令是什么,如何使用
6 1
|
3天前
|
Linux 数据处理
探索Linux下的readlink命令:解析符号链接的利器
`readlink`命令在Linux中用于揭示符号链接的指向,显示它们所链接的实际文件或目录的路径。它可以显示简洁的绝对路径(-f),处理循环链接(-e),或不加换行符输出(-n)。例如,查看`link.txt`指向:`readlink link.txt`;获取绝对路径:`readlink -f link.txt`。使用时要注意链接是否存在、权限问题和可能的循环链接。
|
3天前
|
Linux 数据处理
探索Linux下的readelf命令:深入了解ELF文件
`readelf`是Linux下分析ELF文件的命令行工具,用于查看文件头、节区、符号表等信息。支持可执行文件、共享库等多种类型。常用选项有`-h`(文件头)、`-l`(程序头)、`-S`(节区)、`-s`(符号表)、`-r`(重定位)和`-d`(动态节区)。结合其他工具如`objdump`,能深入理解二进制文件,助力开发和调试。
|
3天前
|
Linux
常用的Linux系统命令及其使用技巧
常用的Linux系统命令及其使用技巧
|
4天前
|
存储 安全 Linux
深入解析Linux的`read`命令
`read`命令在Linux shell中用于从标准输入读取数据并赋值给变量。它可以用于交互式脚本,提供用户输入或读文件。关键选项包括`-p`(提示用户)、`-r`(禁用转义)、`-s`(静默模式,适合密码)、`-t`(超时)和`-n`(读取特定字符数)。示例包括基本输入、带提示的密码输入和设置超时的输入。注意安全处理密码和验证用户输入。
|
4天前
|
存储 Linux 数据处理
Linux中的raw命令:深入解析与实用指南
Linux的`raw`命令详解:用于直接访问硬件设备,绕过文件系统,提供高灵活性和性能。适用于数据处理,如直接复制文件或设备数据。使用时需谨慎,注意设备理解、数据备份及正确选项选择。结合其他工具可实现更多功能。示例:`raw file1 file2`复制文件,`raw -s 1024 file1 file2`跳过字节复制。