Linux常用系统命令

时间:2021-04-14 17:04:29

命令
说明
用法和备注
stat
显示指定文件的相关信息,比ls命令显示内容更多
stat -option file ;
事实上,stat命令显示的是文件的I节点信息。Linux文件系统以块为单位存储信息,为了找到某一个文件所在存储空间的位置,用I节点对每个文件进行索引。所谓的I节点,是文件系统管理的一个数据结构,是一个64字节长的表,包含了描述文件所必要的全部信息,其中包含了文件的大小,类型,存取权限,文件的所有者
查询rc.d文件的信息
文件属性时间说明:
1.当读取文件时只有access time改变,ls和stat不会改变access time
2.修改文件时access modify和change都会改变
3.修改文件属性时change改变,access和modify不变
who
显示在线登录用户
w显示所有用户,whoami显示当前你登陆用户的简略信息
w +用户名:查看该用户执行命令的情况
hostname
显示主机名称

uname
显示系统信息
-a或--all  显示全部的信息。
-m或--machine  显示电脑类型。
-n或-nodename  显示在网络上的主机名称。
-r或--release  显示操作系统的发行编号。
-s或--sysname  显示操作系统名称。
-v  显示操作系统的版本。
--help  显示帮助。
--version  显示版本信息。
top
显示当前系统中耗费资源最多的进程
top命令中字段的含义:
VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
内部命令如下:
s – 改变画面更新频率
l – 关闭或开启第一部分第一行 top 信息的表示
t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
h – 显示帮助
n – 设置在进程列表所显示进程的数量
q – 退出 top
s – 改变画面更新周期
ps
显示瞬间的进程状态
参数:
-A :所有的进程均显示出来,与 -e 具有同样的效用;
-a : 显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
-x :通常与 a 这个参数一起使用,可列出较完整信息
-l :较长、较详细的将该PID 的的信息列出;
-j :工作的格式 (jobs format)
-f :做一个更为完整的输出
含义:
F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
S 代表这个程序的状态 (STAT);
UID 代表执行者身份
CPU使用的资源百分比
PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;
NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。
ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』
SZ 使用掉的内存大小;
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;
TTY 登入者的终端机位置;
TIME 使用掉的 CPU 时间。

ps -ef列的含义:
进程用户 进程ID 父进程ID CPU 开始时间 启用终端 CPU占用时间 命令
root 2071 1 0 00:32 ? 00:01:05 redis-server *:6379
root 3002 2864 0 17:36 pts/3 00:00:00 redis-cli
root 3003 2909 0 17:36 pts/4 00:00:00 redis-cli
root 3228 3212 0 22:21 pts/0 00:00:00 grep --color=auto redis

du
显示指定的文件(目录)已使用的磁盘空间的总量
disk usage
常用命令:
查看某个目录的大小:du -hs /home/master/documents
查看目录下所有目录的大小并按大小降序排列:du -sm /etc/* | sort -nr | less
df
显示文件系统磁盘空间的使用情况
disk free
常用命令:
df -h
free
显示当前内存和交换空间的使用情况

ifconfig
显示网络接口信息

ping
测试网络的连通性

netstat
显示网络状态信息

clear
清屏

kill
杀死一个进程
当你执行一个"kill"命令,你实际上发送了一个信号给系统,让它去终结不正常的应用。
用法:kill -信号 PID

总共有60个你可以使用的信号kill -l查看所有信号,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)
·SIGTERM - 此信号请求一个进程停止运行。此信号是可以被忽略的。进程可以用一段时间来正常关闭,一个程序的正常关闭一般需要一段时间来保存进度并释放资源。换句话说,它不是强制停止。
·SIGKILL - 此信号强制进程立刻停止运行。程序不能忽略此信号,而未保存的进度将会丢失。
systemctl

netstat
用于显示各种网络相关信息
-a (all)显示所有选项,netstat默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该netstat命令

netstat -tunlp|grep 8080 查看8080端口的占用情况
free
查看系统内存情况free -h

本博客为Swagger-Ranger的笔记分享,文中源码地址: https://github.com/Swagger-Ranger
欢迎交流指正,如有侵权请联系作者确认删除: liufei32@outlook.com