linux常用命令(三)

简介: linux常用命令

linux常用命令(二)https://developer.aliyun.com/article/1498735


实例7:按照空间大小排序

bash

复制代码

[root@server1 ~]# du |sort -nr|more 
20980 .
9464  ./nginx-1.15.8
940 ./nginx-1.14.2/objs/src/http
888 ./nginx-1.15.8/src/core
388 ./nginx-1.15.8/src/http/v2
140 ./nginx-1.15.8/contrib/vim
136 ./.vim
40  ./nginx-1.15.8/conf
...
0 ./nginx-1.14.2/objs/src/http/modules/perl

实例8:输出当前目录下各个子目录所使用的空间(常用)

bash

复制代码

[root@server1 ~]# du -h --max-depth=1
9.2M  ./nginx-1.14.2
136K  ./.vim
9.3M  ./nginx-1.15.8
21M .

不带--max-depth参数,那么将循环列出文件夹下所有文件和文件夹占用的空间,带此参数,则是指定深入目录的层数。

Linux du命令和df命令区别

1、du :是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。 2、 df: 通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件,df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。 当文件系统也确定删除了该文件后,这时候du与df就一致了。

3、free 显示内存使用情况 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 使用方式

free命令参数

ini

复制代码

-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
  B = bytes
  K = kilos
  M = megas
  G = gigas
  T = teras
  
-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
-V  显示版本信息。

实例1:显示内存使用信息

bash

复制代码

[root@server1 ~]# free
total used free shared buffers cached
Mem: 254772 184568 70204 0 5692 89892
-/+ buffers/cache: 88984 165788
Swap: 524280 65116 459164
Mem行(单位均为M):
    total   系统总的可用物理内存大小
    
    used    已被使用的物理内存大小
    
    free    还有多少物理内存可用
    
    shared  被共享使用的物理内存大小
    
    buff/cache  被 buffer 和 cache 使用的物理内存大小
    
    available   还可以被 应用程序 使用的物理内存大小
    
   (-/+ buffers/cache)行:
    (-buffers/cache): 真正使用的内存数,指的是第一部分的 used - buffers - cached
    (+buffers/cache): 可用的内存数,指的是第一部分的 free + buffers + cached

Swap行指交换分区

实例2:以总和的形式查询内存的使用信息

yaml

复制代码

[root@server1 ~]# free -t
total used free shared buffers cached
Mem: 254772 184868 69904 0 5936 89908
-/+ buffers/cache: 89024 165748
Swap: 524280 65116 459164
Total: 779052 249984 529068

实例3:周期性的查询内存使用信息

yaml

复制代码

[root@server1 ~]# free -s 10 //每10s 执行一次命令
total used free shared buffers cached
Mem: 254772 187628 67144 0 6140 89964
-/+ buffers/cache: 91524 163248
Swap: 524280 65116 459164
total used free shared buffers cached
Mem: 254772 187748 67024 0 6164 89940
-/+ buffers/cache: 91644 163128
Swap: 524280 65116 459164

使用top命令监控系统进程

top:“实时查看” ,按q退出 (实时动态显示)

r

复制代码

-a  # 将进程按照使用内存排序
  -b  # 批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中,配合-n使用,一直打到-n设置的阈值
  -c  # 显示进程的整个命令路径,而不是只显示命令名称
  -d  # 指定每两次屏幕信息刷新之间的时间间隔
  -H  # 指定这个可以显示每个线程的情况,否则就是进程的总的状态
  -i  # 不显示闲置或者僵死的进程状态  
  -n  # top输出信息更新的次数,完成后将推出top命令
  -p  # 显示指定的进程信息

键入 top,显示如下信息

sql

复制代码

top - 14:27:26 up 4:22, 1 user, load average: 0.08, 0.03, 0.05
Tasks:  96 total,   2 running,  94 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1865284 total,  1460360 free,    96264 used,   308660 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.  1595216 avail Mem 
   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND            
  2029 root      20   0       0      0      0 R  0.3  0.0   0:00.14 kworker/0:1

第一行:任务队列信息,同uptime命令的执行结果    

  14:27:26    # 当前系统时间   up  4:26    # 系统已经运行了4个半小时   1 user     # 当前有1个用户登录系统   load average: 0.08, 0.03, 0.05    # 1分钟,5分钟,15分钟的平均负载情况

第二行:Tasks为任务(进程)。上面的信息显示为   共有96个进程,处于运行状态的有2个,94个在休眠,stoped状态0个,zombie状态有0个

第三行:CPU状态信息   us  # 用户空间占用CPU的百分比   sy  # 内核空间占用cpu的百分比   ni  # 改变优先级的进程占用CPU的百分比   id  # 空闲CPU百分比   wa  # I/O等待只用CPU的百分比   hi  # 硬中断占用CPU的百分比   si  # 软中断   st  # 虚拟机占用CPU的百分比

第四行:内存状态

  total  # 物理内存总量   used   # 使用中的内存总量   free   # 空闲内存总量   buffers  # 缓冲的内存量

第五行:swap交换分区信息   total  # 交换分区总量   used   # 使用的交换区总量   free    # 空闲交换区总量   cached  # 缓存的内存量

第六行:空行

第七行:给出的各进程(任务)的状态监控   PID  # 进程iD   USER  # 进程所有者   PR    # 进程优先级   NI    # nice值,负值表示高优先级,正值表示低优先级   VIRT    # 进程使用的虚拟内存总量,单位为KB   RES    # 进程使用的,未被换出的物理内存大小,单位KB   SHR    # 共享内存大小,单位为kb   S      # 进程状态,D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程   %CPU    # 上次更新到现在的CPU时间占用百分比   %MEM    # 进程使用的物理内存百分比   TIME+    # 进程使用的物理内存百分比   COMMAND  # 进程名称

挂起进程

linux后台运行、挂起、恢复进程相关命令_linux 在另一个session回复被挂起的程序-CSDN博客

bash

复制代码

nohup <command> &
相关文章
|
4天前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
22 4
Linux抓包命令tcpdump使用技巧大全
|
4天前
|
监控 数据挖掘 Linux
探索Linux中的`sort`命令:数据处理与分析的得力助手
`sort`命令是Linux下文本数据排序利器,用于按字典、数字顺序等对行排序。关键参数有:-n(数字排序),-r(逆序),-u(去重),-k(指定字段),-t(字段分隔符)和-o(输出到文件)。在处理大文件时注意内存使用,确保字符编码一致,灵活运用管道和重定向。通过熟练使用`sort`,能提升数据分析效率。
|
4天前
|
数据挖掘 Linux 数据处理
Linux命令sprof详解
**`sprof`是Linux下的共享库性能分析工具,补充`gprof`,专注分析`.profile`文件以识别性能瓶颈。通过调用次数、执行时间数据优化资源和代码。使用参数如`-F`、`-I`、`-d`进行定制化分析。示例:先设置`LD_PROFILE`环境变量,运行程序生成`.profile`,然后用`sprof`分析。注意需用`-g`编译程序,并在代表性的负载下分析。结合其他工具如`perf`、`valgrind`提升分析效果。**
|
4天前
|
存储 数据挖掘 Linux
Linux命令split详解:大文件处理的得力助手
`split`命令是Linux用于将大文件分割成小文件的工具,常用于日志处理、备份。它支持按行数(-l)、字节数(-b)分割,并能自定义输出文件名(-a, -d)。例如,`split -b 10M largefile.txt smallfile_`会按10MB切割`largefile.txt`,生成`smallfile_`开头的文件。注意确保磁盘空间充足,避免文件名冲突,并备份原始文件。结合其他命令使用,能提高文件管理效率。
|
4天前
|
数据挖掘 大数据 Linux
探索Linux中的snice命令:一个虚构但启发性的数据分析工具
`snice`是一个想象中的Linux命令,用于低优先级地从大数据集中抽样数据。它结合`nice`和`sampling`,支持多种抽样策略,如随机和分层。参数包括指定样本数、策略、输入输出文件和进程优先级。示例:`snice -n 1000 -s random -i large_log.txt -o sample_log.txt`。使用时注意资源管理、数据完整性及权限,并与其它工具结合使用。虽然虚构,但体现了Linux工具在数据分析中的潜力。
|
1天前
|
关系型数据库 MySQL Linux
Linux命令systemctl详解
`systemctl`是Linux系统用于管理systemd服务的核心命令,它与systemd守护进程交互,实现启动、停止、重启服务及查看服务状态等功能。主要参数包括`start`、`stop`、`restart`、`status`、`enable`和`disable`等。例如,启动Apache服务使用`systemctl start httpd.service`,查看服务状态用`systemctl status &lt;service&gt;`。使用时需注意权限,服务名通常以`.service`结尾,但命令中可省略。最佳实践包括利用tab键补全、定期查看服务状态和合理配置服务自启。
|
1天前
|
存储 安全 Linux
Linux命令sync详解
`sync`命令在Linux中用于将内存缓冲区的数据强制写入磁盘,保证数据持久性和一致性。它在关机、重启或重要文件操作前后使用,以防数据丢失。工作原理是强制将内存中的数据同步到磁盘,特点是阻塞式执行且通常无需参数。常见用法包括安全关机、数据备份和配置文件修改后确保更改生效。应注意,过度使用可能影响性能,应适时使用`fsck`检查文件系统一致性。
|
1天前
|
存储 算法 安全
Linux命令sum详解
`sum`命令在Linux中用于计算文件的校验和与磁盘块数,确保文件传输或存储时的完整性。它使用加法运算生成校验和,可与文件内容比较验证变化。支持不同算法(如CRC),能处理多个文件。基本用法包括:`sum file.txt`来计算校验和,`sum -c checksum.txt`来验证文件完整性。但要注意,更强的校验算法如MD5或SHA家族可能更适合安全性需求。结合`find`和`xargs`可用于目录的递归校验。定期校验和记录校验和是最佳实践。
|
1天前
|
安全 数据管理 Shell
Linux命令su详解
`su`命令在Linux中用于切换用户身份,常用于权限管理。它允许用户无须注销当前会话就切换到另一个用户,尤其是root。`su`有多种选项,如`-`或`--login`加载目标用户环境,`-c`执行指定命令后返回。使用时需注意权限安全,建议用`sudo`以减少风险。通过限制`/etc/pam.d/su`可加强访问控制。`su`在系统维护和数据管理中扮演角色,但不直接处理数据。
|
4天前
|
监控 安全 Linux
Linux命令truss详解:系统调用跟踪的利器
`truss`(或`strace`)是Linux调试利器,用于跟踪系统调用和信号。它帮助开发者优化性能、调试错误和进行安全审计。通过附加到进程,记录调用细节、参数、返回值和错误。使用参数如`-d`显示调试信息,`-e`跟踪特定调用,`-o`输出到文件,`-p`跟踪指定进程。注意其对性能的影响,通常需要root权限,并建议过滤输出和结合其他工具分析。