磁盘、进程、服务和日志管理

159 阅读7分钟

磁盘管理

df命令

检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息

df [-ahikHTm] [目录/文件名]
#选项
-a 列出所有的文件系统,包括系统特有的`/proc`等文件系统
-k 以kBytes的容量显示各文件系统
-m 以MBytes的容量显示个文件系统
-h 以人们较易阅读的GByte,MByte,KByte等格式自行显示
-H 以M=1000K取代M=1024K的进位方式
-T 显示文件系统类型,连同该partition的filesystem名称(例如 ext3)也列出
-i 不用硬盘容量,而以inode的数量来显示

du命令

使用du命令查看一个或多个文件占用了多大的硬盘空间

du [选项] [文件或目录]
#选项
-h human-readable,以人类可读的形式显示单位(K、M、G等)
-s summarize,仅显示后边参数的总数

查看磁盘分区挂载情况

lsblk 选项 文件
#选项
-f file system文件系统

#查看系统分区挂在情况
lsblk -f

fdisk指令

fdisk是Linux的磁盘分区表操作工具

fdisk 选项 装置名称
#选项与参数
-l 输出后面接的装置所有的分区内容。若仅有`fdisk -l`时,则系统将会把整个系统内能够
    搜索的装置的分区均列出来
m         menu 显示命令列表
n         new新增分区
p         partition显示磁盘分区
d         delete删除分区
w         wite & exit 写入并退出    

格式化

mkfs(make filesystem)格式化指定分区

mkfs [-t 文件系统格式] 装置文件名
#选项
-t 可接文件格式,例如:ext3,ext2,vfat等(系统有支持才会生效)

磁盘挂载

Linux的磁盘挂载使用mount命令,卸载使用umount命令

命令含义
mount 设备名称 挂载目录建立设备分区和系统目录的映射关系
umount 设备名称 挂载目录取消设备分区和系统目录的映射关系

进程管理

查看正在运行的进程ps

ps [选项]
#选项
a 显示一个终端的所有进程
u 显示进程的归属用户及内存的使用情况
x 显示没有控制终端的进程
-l 长格式显示更加详细的信息
-e 显示所有进程

实时监听正在运行进程top

top [选项]
#选项
-d 秒数:指定top命令每隔几秒更新。默认是3秒
-b 使用批处理模式输出。一般和`-n`选项合用,用于把top命令重定向到文件中
-n 次数:指定top命令执行的次数。一般和`-`选项合用
-p 进程PID:仅查看指定ID的进程
-s 使用top命令在安全模式中运行,避免在交互模式中出现错误
-u 用户名:只监听某个用户的进程

#在top命令的显示窗口中,还可以使用如下按键进行以下交互操作
?或h:显示交互模式的帮助
P 按照CPU的使用率排序,默认就是此选项
M 按照内训的使用率排序
N 按照PID排序
T 按照CPU的累积运算时间排序,也就是按照TIME+项排序
k 按照PID给某个进程一个信号。一般用于终止某个进程,信号9是强制终止的信号
r 按照PID给某个进程重设优先级(Nice)值
q 退出top指令

查看进程数pstree

#安装
yum install psmisc

pstree [选项] [PID或用户名]
#选项
-a 显示启动每一个进程对应的完整指令,包括启动进程的路径、参数等
-c 不使用精简法显示进程信息,即现实的进程中包含子进程和父进程
-n 根据进程PID号来排序输出,默认是以程序名排序输出
-p 显示进程的PID
-u 显示进程对应的用户名称 

列出进程调用或打开文件信息lsof

#安装
yum install lsof

lsof [选项]
#选项
-c 字符串 只列出以字符串开头的进程打开的文件
+d 目录名 列出某个目录中所有被进程调用的文件
+D 目录名 同上,但会搜索目录下的所有目录,时间相对较长
-u 用户名 只列出某个用户的进程打开的文件
-p PID 列出某个PID进程打开的文件

终止进程kill

kill [信号] PID
信号编号信号名含义
0EXIT程序退出时收到该信息
1HUP挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化
2INT表示结束进程,但并不是强制性的,常用CTRL+C组合键发出就是一个kill -2的信号
3QUIT退出
9KILL杀死进程,即强制结束进程
11SEGV段错误
15TERM正常结束进程。是kill命令默认的信号

按照终端剔除当前登录用户pkill

pkill [信号] 进程名

将后台命令脱离终端运行nohup

nohup [命令] &

服务管理

service

#查看所有服务当前的运行状态
service --status-all
#查看指定服务(vsftpd)的运行状态
service vsftpd status
#停止指定服务(vsftpd)
service vsftpd stop
#重启网络服务
service network restart

chkconfig

CentOS7之后就不能再使用了

systemctl

#启动服务
systemctl start
#停止服务
systemctl stop
#重启服务
systemctl restart
#服务状态
systemctl status
#重新加载
systemctl reload
#设置服务开机启动
systemctl enable
#设置服务禁止开机启动
systemctl disable
#系统关机
systemctl poweroff
#重新启动
systemctl reboot
#进入睡眠模式
systemctl suspend
#进入休眠模式
systemctl hibernate
#强制进入救援模式
systemctl rescue
#强制进入紧急救援模式
systemctl emergency
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机禁用防火墙
systemctl disable firewalld.service
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#检查防火墙状态
systemctl status firewalld

日志管理

系统常用日志

日志文件说明
/var/log/boot.log系统启动日志
/var/log/cron记录与系统定时任务相关的日志
/var/log/cups记录打印信息的日志
/var/log/dmesg记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp记录错误登录日志,这个文件时二进制文件,不能直接用vi查看,而要使用lastb命令查看
/var/log/lasllog记录系统中所有用户最后一次的登录时间的日志。这也是二进制文件,要是有lastb命令查看
/var/log/maillog记录邮件信息的日志
/var/log/message记录系统重要消息的日志,这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题,首先要检查的应该就是这个日志文件
/var/log/secure记录验证和授权方面的信息,只要涉及到账户和密码的程序都会记录,比如系统登录、SSH登录、su切换用户、sudo授权,甚至添加用户和修改用户密码都会记录在这个文件中
/var/log/wtmp永久记录所有用户的登录、注销信息,同时系统的启动、重启、关机事件。是二进制文件,要使用lastb命令查看
/var/log/ulmp记录当前已登录的用户信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登陆用户信息,这个文件不能用vi查看,而要使用wwhousers等命令查看