文章目录
- 一、服务管理
- 1 service
- 2 chkconfig设置后台服务器的自启配置
- 3 systemctl
- 设置后台服务器自启配置
- 防火墙关闭
- 4 开关机重启
- 5 搜索查找类find
- 6 locate快速定位文件路径
- 7 其他命令
- 7.1 sort
- 7.2 uniq
- 7.3 wc
- 7.4 xargs
- 二、压缩、解压
- 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
find [搜索范围] [选项] [-print -exec -ok ...]
选项
-name # 按照文件名查找文件。
find . -name "1.txt"
-perm # 按照文件权限来查找文件。
find . -perm 660
-user # 按照文件属主来查找文件。
-group # 按照文件所属的组来查找文件。
-mtime -n +n # 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-atime # 访问时间
-ctime # 创建时间
-nogroup # 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser # 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 # 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
-exec
find . -name "*.txt" -exec gzip {} \;
# 查找当前目录下的txt文件并且打包成为gzip
# 每找到一个文件,就会执行exec后面的命令
gzip ./a/2.txt
gzip ./a/6.txt
# 最后是一个\; 反斜杠不能省,作为当前exec后面命令的结束符
-ok # 跟-exec用法一样,但是每找到一个文件要执行后面的命令前会给用户确认
6 locate快速定位文件路径
updateedb # 第一次运行前需要使用updateedb创建local数据库;
locate tmp
7 其他命令
7.1 sort
- 命令从标准输入中读取数据然后按照字符串内容进行排序
-f 忽略字符大小写
-n 比较数值大小
-t 指定分割符,默认是空格或者tab
-k 指定分割后进行比较字段
-u 重复的行只显示一次
-r 反向排序
-R 打乱顺序
将/etc/passwd 根据用户id来排序
sort -t: -k3 -n < /etc/passwd
7.2 uniq
- 去除重复的行,前提是重复的行连续
-c 显示每行重复的次数
-d 仅显示重复过的行
-u 仅显示不曾重复的行
sort < test.txt | uniq
7.3 wc
-l 统计行数
-c 统计字节数
-w 统计单词数
7.4 xargs
- 将标准输入的参数整齐的拼凑在一行里边,要配合其他命令来使用
docker ps -aq | xargs docker rm -f
find . -name "*.txt" | xargs -I{} mv {} xxx/
-I{} 指定一个替换字符串作为参数替换
二、压缩、解压
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 # 缓存新数据