(一)进程
程序是存放在磁盘中的二进制文件,是静态的。进程是程序的一次执行过程,是动态的。运行程序就会创建进程,分配资源(内存空间等),程序被放入内存才会被CPU执行,CPU管理进程。
1、查看进程
查看进程的命令:ps(process status) ,top
- 查看当前终端下的进程:ps
- 查看当前用户的进程:ps x
- 查看所有进程(含cpu占用、内存):ps -aux
- 查看所有进程(含父进程id):ps -ef
- 查看命令ps的说明文档:man ps
- 动态查看进程状态(类似Windows中的任务管理器,按键Ctrl+C退出top):top
2、以树状形式查看进程
可以安装pstree,以树状形式查看进程之间的关系结构。
- 查看哪个软件包有pstree命令:yum provides pstree
- 安装 有pstree命令的软件包psmisc:yum install psmisc -y
- 查看进程之间树状关系结构:pstree
- 查看pstree的所有选项(参数):pstree --help
3、结束进程
结束进程的命令:kill,pkill
- 结束指定PID的进程:pkill 进程ID
- 结束指定名字的所有进程(可能误删):pkill 进程名
- 强制结束进程(万不得已):kill -9 进程ID
- 强制结束指定名字的所有进程(万不得已):pkill -9 进程名
通过ssh服务远程连接Linux,终端类型是pts,若希望结束远程连接,只结束pts相关的进程并不能结束连接,需结束sshd进程则该进程下所有子进程全部结束,且远程连接断开。
若使用kill无法正常结束进程,可以使用"kill -9 进程id",但此方法是迫使进程突出终止,则不能自我清理,资源也无法释放,万不得已才使用。
(二)查看硬件信息
1、查看cpu信息
lscpu:查看cpu架构信息。lscpu命令是从sysfs和/proc/cpuinfo中获取的cpu信息。
查看cpu:lscpu
查看lscpu所有选项:lscpu --help
查看lscpu说明文档:man lscpu
/proc/cpuinfo文件记录cpu的供应商和其他相关信息,部分字段说明如下:
- 字段 "processor" 是cpu内核的编号(从0开始)。
- 字段"physical id " 是物理cpu的编号(从0开始)。
- 字段 "cpu cores" 是一个物理cpu的内核数量。
- 字段 "siblings" 是一个物理cpu的逻辑cpu数量(若siblings=cpu cores则没有启用超线程,若siblings=cpu cores * 2则启用超线程)。
查看物理cpu数量:cat /proc/cpuinfo | grep "physical id " | sort | uniq
查看1个cpu的内核数量:cat /proc/cpuinfo | grep "cpu cores" | uniq
查看是否启用超线程(两数字不同,则启用超线程):cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
查看逻辑cpu数量:cat /proc/cpuinfo | grep "processor" | wc -l
2、查看内存使用情况
free:查看内存使用情况。包括虚拟交换内存,共享内存,系统核心使用的缓冲区等。
查看内存:free -h
查看内存(并显示总和):free -ht
查看free所有选项:free --help
查看free说明文档:man free
/proc/meminfo,是虚拟文件,可查看最完整的内存使用情况的实时信息。free命令也是通过它获取得数据。
3、查看块设备信息、磁盘使用情况
(3-1)查看块设备信息
Linux中"一切皆文件",设备也作为文件管理。
块设备:以"块"为单位,存储数据的设备。一般有磁盘、光盘(例如CD-ROM)、闪存盘(例如U盘)等。
lsblk(list block):查看块设备信息,包括文件系统类型,权限等。
查看所有块设备信息(包括磁盘分区): lsblk -a
查看块设备信息(包括磁盘分区,显示完整路径): lsblk -p
查看scsi设备:lsblk -S(大写)
查看块设备的文件系统类型和uuid:lsblk -f
查看块设备的权限和所有权:lsblk -m
查看已经被系统识别的设备:cat /proc/partitions
查看可以使用的块设备信息(含uuid):blkid
(3-2)查看磁盘使用情况
磁盘中除了存储文件数据,还存储inode。
inode(index node)索引节点是存储文件和目录信息(文件路径,大小,文件权限,所属用户等)的数据结构。文件系统通过inode快速定位文件数据块。
df(disk free):查看磁盘使用情况。
查看磁盘空间(包括分区):df -h
查看inode空间:df -ih
查看磁盘空间(并显示总和):df -h --total
查看磁盘使用的文件系统信息:df test
查看磁盘所有的使用情况(并显示文件类型和总和):df -ahT --total
查看df所有选项:df --help
查看df说明文档:man df
查看所有分区:fdisk -l
查看所有交换分区:swapon -s
查看挂接的分区状态:mount | column -t
补充:若报错 No space left on device
原因:① 磁盘空间满了,df -h 查看。② inode空间满了,df -ih 查看。可能创建了很多空文件或小文件。
(三)定时任务
1、日期时间、时间同步
查看日期和时间(默认格式):date
查看日期(年-月-日):date +%F
查看时间(时:分:秒):date +%T
查看日期和时间(年-月-日 时:分:秒):date +%F\ %T
修改日期时间:date -s '20240517 09:27:30'
安装时间同步软件包:yum install chrony -y
查看时间同步服务状态:systemctl status chronyd
开启时间同步服务:systemctl start chronyd
重启时间同步服务:systemctl restart chronyd
2、定时任务
查看crond服务状态:systemctl status crond
重启定时任务:systemctl restart crond
查看定时任务的进程:ps -ef | grep cron
查看定时任务:crontab -l(小写字母l)
写定时任务(进入编辑界面,写定时任务):crontab -e
删除所有定时任务:crontab -r
查看crontab所有选项:crontab --help
编辑定时任务:
格式(分钟 小时 日 月 周几 命令): * * * * * 命令
注:若命令无效,尝试使用which查看命令的完整路径。
crontab:定时执行任务。
anacrontab:若关机,某任务不能执行,则anacrontab在开机后的特定时间重新执行。
定时任务相关的文件和目录:
- /var/spool/cron/,目录,存放所有用户(包括root)的定时任务。
- /etc/crontab,文件,root编辑的系统例行性任务,负责调度各种管理和维护任务,可以查看定时任务的格式。
- /etc/cron.d/,目录,存放要执行的crontab文件或脚本,例如:0hourly文件。
- /etc/cron.hourly,目录,每小时运行一次该目录下的文件。
- /etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly,目录,定期(分别对应每日,每周,每月)运行该目录下的文件。根据/etc/cron.hourly目录下0anacron中的运行方式定期执行相应的目录。
- /etc/cron.deny,文件,记录不允许使用crontab的用户。
- /var/log/cron*,文件,定时任务的日志,包括执行情况和错误。
- /etc/anacrontab,文件,anacrontab的配置文件。
- /var/spool/anacron/,目录,该目录下一般有三个文件:cron.daily、cron.weekly和cron.monthly,记录上一次执行的时间。
(四)查看文件信息
查看文件属性:ll 文件名
查看文件属性(目录):ll -d 目录名
查看文件类型:file 文件名
查看文件信息:stat 文件名
文件类型:
符号 意义 – 普通文件。文件详细信息中以中划线 - 开头。 d 目录文件。文件详细信息中以英文字母 d 开头。 l 链接文件。文件详细信息中以英文字母 l 开头。 c 字符设备文件。文件详细信息中以英文字母 c 开头。 s Socket 文件。文件详细信息中以英文字母 s 开头。 p 命名管道文件。文件详细信息中以英文字母 p 开头。 b 块文件。文件详细信息中以英文字母 b 开头。 /proc目录:
- 是虚拟文件系统(VFS,virtual filesystem)。
- 存储的是内核运行状态的一系列特殊文件,可以查看系统硬件相关的信息和进程信息等。
- 该目录下的文件几乎都是虚拟文件,文件大小为0,通过这些文件可以查看系统相关的实时信息。
- 该目录下很多文件的名字都是数字,这些数字是正在运行的各个进程号。
还没有评论,来说两句吧...