文章目录
- 一、服务管理
- 1 service
- 2 chkconfig设置后台服务器的自启配置
- 3 systemctl
- 设置后台服务器自启配置
- 防火墙关闭
- 4 开关机重启
- 5 搜索查找类
- 6 locate快速定位文件路径
- 二、压缩、解压
- 1 gzip
- 2 zip
- 3 tar
- 三、磁盘查看和分区类
- 1 du
- 2 df
- 3 lsblk
- 4 mount
- 5 fdisk
- 四、进程管理类
- 1 iotop
- 2 ps
- 3 kill
- 4 pstree
- 5 top
- 6 netstat
- 7 crontab
- 五、软件包管理
- 1 RPM
- 2 YUM
一、服务管理
1 service
# Centos 6 服务都在/etc/init.d/*
service 服务名 start|stop|restart|status
2 chkconfig设置后台服务器的自启配置
chkconfig # Centos 6查看所有服务器自启配置
chkconfig [--level 指定级别] 服务名 off|on|--list
3 systemctl
# Centos7 服务都在/usr/lib/systemd/system
systemctl start|stop|restart|status 服务名
设置后台服务器自启配置
systemctl list-unit-files # 查看服务开机启动状态
systemctl disable 服务名 # 关闭指定的服务器启动
systemctl enable 服务器名 # 开启指定服务的自启动
防火墙关闭
systemctl status firewalld # 查看防护墙状态
systemctl stop firewalld # 临时关闭防火墙
systemctl enable firewalld.service # 启动
systemctl disable firewalld.service # 关闭
4 开关机重启
sync # 将数据由内存同步到硬盘
halt # 停机、关闭系统、不断电
poweroff # 关机、断电
reboot # 重启
shutdown -h # 停机
shutdown -r # 重启
shutdown now # 立刻关机
shutdown time # 经过time关机
5 搜索查找类
find [搜索范围] [选项]
选项
-name:按指定的文件名查找;-user:按指定的用户名所有文件;-size:按文件大小;b:块;c:字节;w:字;k:千字节;M:兆字节;G:吉字节;

6 locate快速定位文件路径
updateedb # 第一次运行前需要使用updateedb创建local数据库;
locate tmp
二、压缩、解压
1 gzip
gzip 文件名 # 压缩文件
gunzip 文件名.gz # 解压缩
特点
- 只能压缩文件不能压缩目录;
- 不保留原来的文件;
- 同时多个文件会产生多个压缩包;

2 zip
zip [选项] 文件名.zip 要压缩的文件名 # 压缩
unzip [选项] 文件名.zip # 解压缩
选项
-r:压缩目录;-d:解压缩后文件的存放目录;

3 tar
tar [选项] 文件名.tar.gz # 将要打包进去的内容
tar -zcvf 文件名.tar.gz 目录 # 压缩
tar -zxvf 文件名.tar.gz -C 目录 # 解压
选项
-c:产生.tar打包文件-v:显示详细信息;-f:指定压缩后的文件名;-z:打包同时压缩;-x:解包.tar文件;-C:解压到指定目录;

三、磁盘查看和分区类
1 du
du 目录/文件 # 显示目录下每个子目录的磁盘使用情况
选项
-h:显示格式;-a:包括显示文件大小;-c:显示所有的文件和子目录大小后,显示总和;--max-depth=n:指定统计子目录的深度为第n层;

2 df
df 选项 # 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
选项
-h:显示格式;

3 lsblk
lsblk # 查看设备挂载情况
选项
-f:查看详细的设备挂载情况,显示文件系统信息;

4 mount
5 fdisk
fdisk -l # 查看所有磁盘分区详情
fdisk 硬盘设备名称 # 对新增硬盘进行分区操作
分区

分区操作
m:显示命令列表;p:显示当前磁盘分区;n:新增分区;w:写入分区信息并退出;q:不保存分区信息直接退出;
四、进程管理类
1 iotop
yum install iotop
2 ps
ps aux | grep xxx # 查看系统中所有进程
ps -ef | grep xxx # 查看父子进程的关系
选项
a:列出带有终端的所有用户的进程;x:列出当前用户的所有进程;u:面向用户友好的显示风格;-e:所有进程;-u:列出某用户关联的所有进程;-f:显示完整格式的进程列表;
ps aux

进程状态
R:运行状态;S:睡眠状态;T:暂停状态;Z:僵尸状态;s:包含子进程;l:多线程;+:前台显示;
ps -ef

3 kill
kill [选项] 进程号 # 通过进程号杀死进程
killall 进程名称 # 杀死进程
4 pstree
pstree [选项] # 查看进程树
选项
-p:显示进程的PID;
-u:显示进程的所属用户;
安装
【Mac OS】:brew install pstree
【Fedora/Red Hat/CentOS】:yum -y install psmisc
【Ubuntu/Debian】:apt-get install psmisc
5 top
top [选项] # 监控系统进程状态
选项
d:指定top命令每个几秒更新;-i:使top不显示任何闲置或僵死进程;-p:通过指定监控进程ID来仅仅监控某个进程的状态;
操作
P:以CPU使用率排序;M:以内存的使用率排序;N:以PID排序;q:退出;
字段





6 netstat
netstat -nap | grep 进程号 # 查看该进程网络信息
netstat -nlp | grep 端口号 # 查看网络端口号占用情况
选项
-a:显示所有正在监听和未监听的套接字;-n:拒绝显示列名,能显示数字的全部转化成数字;-l:仅列出监听的服务状态;-p:显示哪个进程在调用;
安装:yum install net-tools
7 crontab
crontab [选项] # 系统定时任务
选项
-e:编辑crontab定时任务;-l:查询crontab任务;-r:删除当前用户所有的crontab任务;
参数
***** 执行的任务
[第一个*] # 1小时的第几分钟;
[第二个*] # 1天中的第几个小时;
[第三个*] # 1个月中的第几天;
[第四个*] # 1年中第几个月;
[第五个*] # 一周中的星期几;
# 特殊符号
* # 任何时间
, # 代表不连续的时间 `0 2,3 ***` 表示2点0分、3点0分都执行
- # 表示连续时间段
*/n # 代表每个多久执行一次
五、软件包管理
1 RPM
rpm -qa # 查询所安装的所有rpm软件包 可结合grep
rpm -e --nodeps 软件包 # 卸载
rpm -ivh 软件包 # 安装
选项
e:卸载软件包;--nodeps:卸载软件时,不检查依赖;-i:安装;-v:显示信息;-h:进度条;
2 YUM
yum [选项] [参数] # 能够自动处理依赖性关系
选项
-y:yes;
参数
install:安装;update:更新;remove:删除;check-update:检查是否有可用更新包;list:显示软件包信息;clean:清理yum过期的缓存;deplist:显示yum软件包的所有依赖关系;
修改YUM源
yum install wget
cp CentOS-Base.repo CentOS-Base # 备份默认的repos文件
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo # http://mirrors.aliyun.com/repo/Centos-7.repo
mv CentOS7-Base-163.repo CentOS-Base.repo # 替换
yum clean all
yunm makecache # 缓存新数据

















![[Leetcode] 二叉树的深度、平衡二叉树](https://img-blog.csdnimg.cn/img_convert/6e0d7da902a479298f7981bfc78b8efc.png)

