磁盘、进程和服务管理
设备/硬盘管理
查看所有设备挂载情况
lsblk 或者 lsblk -f
Linux分区简介
增加硬盘
#虚拟机中增加硬盘步骤
虚拟机菜单中,选择【设置】,硬件中点击【添加】,设备列表中添加硬盘,然后不断【下一步】,重启。
#注意,选择磁盘大小的地方需要修改,完成后必须重启。
#对硬盘就行分区 (sdb是指需要分区的硬盘名称)
fdisk /dev/sdb
【选项】
m 显示命令列表
p 显示磁盘分区
n 新增分区
d 删除分区
w 写入并退出
q 不保存退出
说明: 开始分区后输入n,新增分区然后选择p,分区类型为主分区,分区号:默认为1,输入几个代表新建几个分区,两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存直接退出输入q 。
#分区格式化,分配UUID
mkfs -t ext4 /dev/sdb1
ext4为分区类型
#手动挂载 将分区和目录绑定
mount 设备名称 挂载目录
eg: mount /dev/sdb1 /newdisk
#卸载
umount 设备名称 或 挂载目录
eg: umount /dev/sdb1
mount -f 卸载位置: 代表强制卸载
#注: 命令行进行挂载,每次重启后都会失效,需要重新挂载
#永久挂载/自动挂载
修改 /etc/fatab 实现挂载
添加完成后,执行mount -a 即可生效
#文件的挂载 :插入u盘没有响应时,需要进行挂载
mount 挂载文件的路径 挂载的位置 (一般放在/mnt下)
umount 卸载位置 , mount -f 卸载位置: 代表强制卸载
磁盘管理
df 列出文件系统整体磁盘的使用量 df -h
du 检查磁盘空间的使用量 du -a 查看全部的文件及使用量
#【选项】
-h /目录 #查询指定目录的磁盘占用情况,默认当前目录
-s #指定目录占用大小汇总
-h #带计量单位
-a #含文件
--max-depth=1 #子目录深度
-c #列出明细的同时,增加汇总值
du -sm /* 检查根目录下每个目录所占用的容量
树状显示目录结构
tree 目录 默认情况下,tree未安装, yum install tree 进行指令的安装
eg: tree /home
进程管理
ps 查看系统中当前正在运行的进程的信息
ps -help #可以查看帮助文档
ps -a #当前运行的进程的信息(一个)
ps -u #当前用户开启了哪些进程
ps -x #显示后台运行的进程的参数
命令可以叠加,如:ps -aux
grep 查找文件中符合条件的字符串
如:ps -aux|grep mysql 只查看所有有关于mysql相关进程的信息。
ps -ef :可以查看父进程的信息
ps -e #显示全部进程信息
ps -f #全格式显示
ps -ef|grep mysql #查看mysql的父进程的信息
pstree -pu #(以树形结构来查看父进程,推荐!)
-p #显示父ID
-u #显示进程所属用户
结束进程 : kill -9 进程ID ,通过ID强制结束进程
kill 【选项】 进程号 (通过进程号杀死进程)
killall 进程名称 (通过进程名称杀死进程,支持通配符,杀死这个进程以及和这个进程相关的进程包括子进程 全部杀死)
服务管理
服务的本质就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,因此我们又称为守护进程,是Linux中非常重要的知识点。
Service指令:
service 【服务名】 【start|stop|restart|reload|status】 #在centos7.0+以后大部分服务都使用systemctl
service指令的查看:/etc/init.d
设置服务的自启动或关闭 chconfig
通过chconfig命令可以给服务的各个运行级别设置 启动/关闭
chconfig管理的服务在 etc/init.d 查看
基本语法:
chconfig –list | 【支持 grep 过滤】 #查看服务
chconfig –level 【运行级别】 【服务名】 on/off #服务在运行级别下是否自启动(重启后生效)
systemctl 服务管理指令
指令管理地址 /usr/lib/systemctl/system
systemctl 【start|stop|restart|reload|status】 【服务名】
systemctl list-unit-files 【grep xxx】 #查看服务的开机启动状态
systemctl enabled 【服务名】 #设置服务开机自启动
systemctl disabled 【服务名】 #关闭开机自动
systemctl is-enabled 【服务名】 #查询服务是否自启动
firewall指令
firewall-cmd --permanent --add-port=端口号/协议 #打开端口
firewall-cmd --permanent --remove-port=端口号/协议 #关闭端口
firewall-cmd --reload #重新载入生效
firewall-cmd --query-port=端口号/协议 #查询端口是否开放