文章目录

  • 1.7 搜索查找类
  • 1.7.1 find 查找文件或者目录
  • 1.7.1.1按文件名:根据名称查找/目录下的bigbig.txt文件
  • 1.7.1.2按拥有者:查找/opt目录下,用户名称为-user的文件
  • 1.7.1.3按文件大小:在/home目录下查找大于2k的文件(+n 大于 -n小于 n等于)
  • 1.7.2 locate 快速定位文件路径
  • 1.7.3 grep 过滤查找及“|”管道符
  • 1.7.3.1查看initial-setup-ks.cfg中dhcp在第几行
  • 1.8 压缩和解压类
  • 1.8.1 gzip/gunzip 压缩
  • 1.8.1.1经验技巧
  • 1.8.1.2压缩xue.txt文件
  • 1.8.1.3解压xue.txt.gz压缩包
  • 1.8.2 zip/unzip 压缩
  • 1.8.2.1经验技巧
  • 1.8.2.2压缩xue.txt和bigbig.txt文件命名为mymy.zip
  • 1.8.2.3解压mymy.zip
  • 1.8.2.4解压mymy.zip到pig文件下
  • 1.8.3 tar 打包
  • 1.8.3.1压缩多个文件
  • 1.8.3.2压缩目录
  • 1.8.3.3解压到当前目录
  • 1.8.3.4解压到指定目录
  • 1.9 磁盘查看和分区类
  • 1.9.1 du 查看文件和目录占用的磁盘空间
  • 1.9.1.1查看所有目录占用磁盘大小
  • 1.9.1.2查看当前用户主目录占用的磁盘空间大小
  • 1.9.1.3查看子目录深度为第一层
  • 1.9.2 df 查看磁盘空间使用情况
  • 1.9.2.1查看磁盘使用情况
  • 1.9.3 lsblk 查看设备挂载情况
  • 1.9.3.1查看设备挂载情况
  • 1.9.4 fdisk 分区
  • 1.9.4.1经验技巧
  • 1.9.4.2功能说明
  • 1.9.4.2.1Linux 分区
  • 1.9.4.2.2分区操作按键说明
  • 1.9.4.3查看系统分区情况
  • 1.9.5 添加一块新的硬盘
  • 1.9.5.1第一步在外部先开辟一块硬盘
  • 1.9.5.2第二步挂载这块硬盘
  • 1.9.5.3第三步对sdb1指定文件系统,对他格式化
  • 1.9.5.3.1mkfs 创建文件系统
  • 1.9.5.3.2开始指定文件系统
  • 1.9.5.4第四步对sdb1进行挂载
  • 1.9.5.5第五步卸载sdb1
  • 1.9.6 mount/umount 挂载/卸载
  • 1.9.6.1挂载前准备(必须要有光盘或者已经连接镜像文件)
  • 1.9.6.2基本语法
  • 1.9.6.3参数说明
  • 1.9.6.4挂载光盘镜像文件
  • 1.9.6.4.1建立挂载点
  • 1.9.6.4.2设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom 中
  • 1.9.6.5设置开机自动挂载
  • 1.10 进程管理类
  • 1.10.1 ps 查看当前系统进程状态
  • 1.10.1.1基本语法
  • 1.10.1.2选项说明
  • 1.10.1.3功能说明
  • 1.10.1.4经验技巧
  • 1.10.1.5内存置换算法LRU
  • 1.10.1.5查看当前的所有进程的CPU占用率和内存占用率
  • 1.10.1.6查看当前的所有进程的父进程ID
  • 1.10.1.7查看与sshd相关进程
  • 1.10.2 kill 终止进程
  • 1.10.2.1基本语法
  • 1.10.2.2选项说明
  • 1.10.2.3杀死cat用户登录进程
  • 1.10.2.4误把sshd后台守护进程kill
  • 1.10.2.5 用-9强行杀死
  • 1.10.2.6用killall 杀死所有进程
  • 1.10.3 pstree 查看进程树
  • 1.10.3.1基本语法
  • 1.10.3.2选项说明
  • 1.10.3.3在使用pstree之前要先安装下pstree
  • 1.10.3.4显示进程
  • 1.10.3.5显示进程pid (-p)
  • 1.10.3.6显示所属用户 (-u)
  • 1.10.4 top 实时监控系统进程状态
  • 1.10.4.1基本命令
  • 1.10.4.2选项说明
  • 1.10.4.3操作说明
  • 1.10.4.4查询结果字段解释
  • 1.10.4.5案例
  • 1.10.4.5.1按占用内存排序
  • 1.10.4.5.2按占用CPU排序
  • 1.10.4.5.3按PID从大到小排
  • 1.10.4.5.4top -d
  • 1.10.4.5.5top -i
  • 1.10.4.5.6top -p
  • 1.10.4.5.6在top里想监控某个用户
  • 1.10.4.5.6在top里想杀死某个进程
  • 1.10.4.5.7初始进程
  • 1.10.4.5.8kill -l的信息
  • 1.10.5 netstat 显示网络状态和端口占用信息
  • 1.10.5.1基本语法
  • 1.10.5.2选项说明
  • 1.10.5.3查看网络信息
  • 1.10.5.4通过进程号查看sshd进程的网络信息
  • 1.10.5.5查看某端口号是否被占用
  • 1.11 crontab 系统定时任务
  • 1.11.1 crontab 服务管理
  • 1.11.1.1重新启动 crond 服务
  • 1.11.2 crontab 定时任务设置
  • 1.11.2.1 基本语法
  • 1.11.2.1 选项说明
  • 1.11.2.1 参数说明
  • 1.11.2.1.1进入 crontab 编辑界面。会打开 vim 编辑你的工作。
  • 1.11.2.1.2特殊符号
  • 1.11.2.1.3特定时间执行命令
  • 1.11.2.1.4每隔 1 分钟,向/root/bailongma.txt 文件中添加hello,linux! 的数字
  • 1.11.2.1.5查询 crontab 任务
  • 1.11.2.1.6删除当前用户所有的 crontab 任务


1.7 搜索查找类

1.7.1 find 查找文件或者目录

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端

find [搜索范围] [选项]

选项

功能

-name<查询方式>

按照指定的文件名查找模式查找文件

-user<用户名>

查找属于指定用户名所有文件

-size<文件大小>

按照指定的文件大小查找文件,单位为: b —— 块(512 字节) c —— 字节 w —— 字(2 字节) k —— 千字节 M —— 兆字节 G —— 吉字节

1.7.1.1按文件名:根据名称查找/目录下的bigbig.txt文件

grep 搜索目录 排除目录_服务器

1.7.1.2按拥有者:查找/opt目录下,用户名称为-user的文件

grep 搜索目录 排除目录_grep 搜索目录 排除目录_02

1.7.1.3按文件大小:在/home目录下查找大于2k的文件(+n 大于 -n小于 n等于)

grep 搜索目录 排除目录_linux_03

1.7.2 locate 快速定位文件路径

locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给 定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确 度,管理员必须定期更新 locate 时刻。

locate 搜索文件

由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创 建 locate 数据库。

grep 搜索目录 排除目录_hadoop_04

1.7.3 grep 过滤查找及“|”管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

grep 选项 查找内容 源文件

选项

功能

-n

显示匹配行及行号

1.7.3.1查看initial-setup-ks.cfg中dhcp在第几行

grep 搜索目录 排除目录_服务器_05

1.8 压缩和解压类

1.8.1 gzip/gunzip 压缩

gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)

1.8.1.1经验技巧

(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
(3)同时多个文件会产生多个压缩包

1.8.1.2压缩xue.txt文件

grep 搜索目录 排除目录_运维_06

1.8.1.3解压xue.txt.gz压缩包

grep 搜索目录 排除目录_服务器_07

1.8.2 zip/unzip 压缩

zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)

zip 选项

功能

-r

压缩目录

unzip 选项

功能

-d<目录>

指定解压后文件的存放目录

1.8.2.1经验技巧

zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件。

1.8.2.2压缩xue.txt和bigbig.txt文件命名为mymy.zip

[root@hadoop100 home]# zip mymy.zip xue.txt bigbig.txt

grep 搜索目录 排除目录_linux_08

1.8.2.3解压mymy.zip

[root@hadoop100 home]# unzip mymy.zip

grep 搜索目录 排除目录_linux_09

1.8.2.4解压mymy.zip到pig文件下

[root@hadoop100 home]# unzip mymy.zip -d /home/pig

grep 搜索目录 排除目录_linux_10

1.8.3 tar 打包

tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的 文件格式.tar.gz)

选项

功能

-c

产生.tar 打包文件

-C

解压到指定目录

-v

显示详细信息

-f

指定压缩后的文件名

-z

打包同时压缩

-x

解包.tar 文件

1.8.3.1压缩多个文件

[root@hadoop100 home]# tar -zcvf mymy.tar.gz xue.txt bigbig.txt

grep 搜索目录 排除目录_服务器_11

1.8.3.2压缩目录

[root@hadoop100 home]# tar -zcvf ddd.tar.gz ddd/

grep 搜索目录 排除目录_服务器_12

1.8.3.3解压到当前目录

[root@hadoop100 home]# tar -zxvf ddd.tar.gz

grep 搜索目录 排除目录_linux_13

1.8.3.4解压到指定目录

[root@hadoop100 home]# tar -zxvf mymy.tar.gz -C /home/pig

grep 搜索目录 排除目录_grep 搜索目录 排除目录_14

1.9 磁盘查看和分区类

1.9.1 du 查看文件和目录占用的磁盘空间

du: disk usage 磁盘占用情况

du 目录/文件 (功能描述:显示目录下每个子目录的磁盘使用情况)

选项

功能

-h

以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示

-a

不仅查看子目录大小,还要包括文件

-c

显示所有的文件和子目录大小后,显示总和

-s

只显示总和

–max-depth=n

指定统计子目录的深度为第 n 层

1.9.1.1查看所有目录占用磁盘大小

[root@hadoop100 home]# du

grep 搜索目录 排除目录_linux_15

1.9.1.2查看当前用户主目录占用的磁盘空间大小

[root@hadoop100 ~]# du -sh

grep 搜索目录 排除目录_linux_16

1.9.1.3查看子目录深度为第一层

[root@hadoop100 ~]# du --max-depth=1 -ah

grep 搜索目录 排除目录_linux_17

1.9.2 df 查看磁盘空间使用情况

df: disk free 空余磁盘

df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占 用情况)

选项

功能

-h

以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示

1.9.2.1查看磁盘使用情况

grep 搜索目录 排除目录_服务器_18

1.9.3 lsblk 查看设备挂载情况

lsblk (功能描述:查看设备挂载情况)

选项

功能

-f

查看详细的设备挂载情况,显示文件系统信息

1.9.3.1查看设备挂载情况

grep 搜索目录 排除目录_hadoop_19


这里的UUID是为当前的每一个分区创建唯一的标识符为什么是sda呢,因为使用的硬盘是SCSI

grep 搜索目录 排除目录_grep 搜索目录 排除目录_20

如果硬盘使用了IDE则这里的命名为hda

1.9.4 fdisk 分区

fdisk -l (功能描述:查看磁盘分区详情)
fdisk 硬盘设备名 (功能描述:对新增硬盘进行分区操作)

选项

功能

-l

显示所有硬盘的分区列表

1.9.4.1经验技巧

该命令必须在 root 用户下才能使用

1.9.4.2功能说明
1.9.4.2.1Linux 分区

Device:分区序列
Boot:引导
Start:从X磁柱开始
End:到Y磁柱结束
Blocks:容量
Id:分区类型ID
System:分区类型

1.9.4.2.2分区操作按键说明

m:显示命令列表
p:显示当前磁盘分区
n:新增分区
w:写入分区信息并退出
q:不保存分区信息直接退出

1.9.4.3查看系统分区情况

grep 搜索目录 排除目录_grep 搜索目录 排除目录_21


Boot的意思是是不是引导分区

1.9.5 添加一块新的硬盘

1.9.5.1第一步在外部先开辟一块硬盘

点虚拟机里的设置:

grep 搜索目录 排除目录_运维_22

grep 搜索目录 排除目录_服务器_23


选择硬盘点添加

grep 搜索目录 排除目录_hadoop_24

  • 一直点下一步就可以了






    完成后多了一块新硬盘

grep 搜索目录 排除目录_服务器_25


目前不显示新加的那块硬盘,这时候需要重启下虚拟机

grep 搜索目录 排除目录_运维_26

1.9.5.2第二步挂载这块硬盘

由于这块硬盘还没有挂载,这时候需要挂载一下

grep 搜索目录 排除目录_运维_27

a toggle a bootable flag(切换可引导标志)
b edit bsd disklabel (编辑bsd磁盘标签)
c toggle the dos compatibility flag (切换dos兼容性标志)
d delete a partition (删除分区)
g create a new empty GPT partition table (创建新的空GPT分区表)
G create an IRIX (SGI) partition table (创建IRIX(SGI)分区表)
l list known partition types (列出已知分区类型)
m print this menu (打印此菜单)
n add a new partition (添加新分区)
o create a new empty DOS partition table (创建一个新的空DOS分区表)
p print the partition table (打印分区表)
q quit without saving changes (退出而不保存更改)
s create a new empty Sun disklabel (创建新的空Sun磁盘标签)
t change a partition’s system id (更改分区的系统id)
u change display/entry units (更改显示/输入单位)
v verify the partition table (验证分区表)
w write table to disk and exit (将表写入磁盘并退出)
x extra functionality (experts only) (额外功能(仅限专家))

  • 最长用的是n(添加新分区) q(退出而不保存更改) w(将表写入磁盘并退出)

grep 搜索目录 排除目录_linux_28


然后在命令中输入n开始添加新分区

p primary 是主分区

e extended 是扩展分区

linux目前有4个主分区,可以将用扩展分区替代主分区,这样的话可以扩展出若干个逻辑分区,最多有12个逻辑分区,主分区的编号为1-4, 逻辑分区的编号为5-16,可以说是sdb1-sdb16,选择了p之后,要是没有什么改动的话就一直回车就是默认值,如下图:

grep 搜索目录 排除目录_hadoop_29


现在分区表有内容了

grep 搜索目录 排除目录_linux_30


然后保存退出w

grep 搜索目录 排除目录_运维_31


这时候在查看分区sdb就有内容了

grep 搜索目录 排除目录_服务器_32


用lsblk -f可以查看文件系统信息这时候sdb1是没有任何信息的,因为没有对sdb1格式化

grep 搜索目录 排除目录_服务器_33

1.9.5.3第三步对sdb1指定文件系统,对他格式化

接下来对sdb1指定文件系统,对他格式化

1.9.5.3.1mkfs 创建文件系统

mkfs(make file system)命令用于在特定的分区上建立 linux 文件系统
使用方式

  • mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

选项

功能

device

预备检查的硬盘分区,例如:/dev/sdb1

-V

详细显示模式

-t

给定档案系统的型式,Linux 的预设值为 xfs

-c

在制做档案系统前,检查该partition 是否有坏轨

-l bad_blocks_file

将有坏轨的block资料加到 bad_blocks_file 里面

block

给定 block 的大小

1.9.5.3.2开始指定文件系统

grep 搜索目录 排除目录_运维_34


指定完成后再次查看类型也有了UUID也有了

1.9.5.4第四步对sdb1进行挂载

[root@hadoop100 ~]# mount /dev/sdb1 /home/pig

挂载到home下的pig,这样的话凡是放到pig下面的文件都是存到sdb1里,而不会占用sda的内存,当把sdb1的卸载之后,在sdb1里的文件也就没有了

grep 搜索目录 排除目录_运维_35


可以使用df -h查看磁盘占用情况,

1.9.5.5第五步卸载sdb1

[root@hadoop100 ~]# umount /dev/sdb1

可以使用名称/dev/sdb1或者挂载点/home/pig

卸载之后再使用lsblk -f的时候就看不到sdb1的挂载点了

grep 搜索目录 排除目录_grep 搜索目录 排除目录_36


使用df -h也看不到sdb1的磁盘占用情况了

grep 搜索目录 排除目录_grep 搜索目录 排除目录_37

1.9.6 mount/umount 挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根 目录、一个独立且唯一的文件结构。 Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理 方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来, 要载入的那个分区将使它的存储空间在这个目录下获得

1.9.6.1挂载前准备(必须要有光盘或者已经连接镜像文件)

快捷键ctrl+d

grep 搜索目录 排除目录_linux_38


因为要手动挂载,则在操作这个步骤的时候要先将虚拟机注销

1.9.6.2基本语法

mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)

1.9.6.3参数说明

参数

功能

-t vfstype

指定文件系统的类型,通常不必指定。mount 会自动选择正确的类 型。常用类型有

光盘或光盘镜像:iso9660

DOS fat16 文件系统:msdos

Windows 9x fat32 文件系统:vfat

Windows NT ntfs 文件系统:ntfs

Mount Windows 文件网络共享:smbfs

UNIX(LINUX) 文件网络共享:nfs

-o options

主要用来描述设备或档案的挂接方式。常用的参数有:

loop:用来把一个文件当成硬盘分区挂接上系统

ro:采用只读方式挂接设备

rw:采用读写方式挂接设备

iocharset:指定访问文件系统所用字符集

device

要挂接(mount)的设备

dir

设备在系统上的挂接点(mount point)

1.9.6.4挂载光盘镜像文件
1.9.6.4.1建立挂载点

[root@hadoop100 ~]# mkdir /mnt/cdrom

1.9.6.4.2设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom 中

[root@hadoop100 ~]# mount /dev/cdrom /mnt/cdrom/

grep 搜索目录 排除目录_运维_39

1.9.6.5设置开机自动挂载

[root@hadoop100 ~]# vim /etc/fstab

然后加一条下面的语句就可以了

grep 搜索目录 排除目录_服务器_40

1.10 进程管理类

一般守护进程是以d结尾的

在Centos7里面服务在/usr/lib/systemd/system里面

grep 搜索目录 排除目录_运维_41


利用管道筛选以d.service结尾的服务

grep 搜索目录 排除目录_运维_42

这些基本上都是守护进程了

  • 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地 址空间,并占用一定的系统资源。

1.10.1 ps 查看当前系统进程状态

ps:process status 进程状态

1.10.1.1基本语法

ps aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

1.10.1.2选项说明

选项

功能

a

列出带有终端的所有用户的进程

x

列出当前用户的所有进程,包括没有终端的进程

u

面向用户友好的显示风格

-e

列出所有进程

-u

列出某个用户关联的所有进程

-f

显示完整格式的进程列表

1.10.1.3功能说明

(1)ps aux 显示信息说明
USER:该进程是由哪个用户产生的
PID:进程的 ID 号
%CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源; %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源; VSZ:该进程占用虚拟内存的大小,单位 KB;
RSS:该进程占用实际物理内存的大小,单位 KB;
TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端, tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、 Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示 、<:表示当前进程是比较高的优先级、N:表示当前进程是比较低的优先级
START:该进程的启动时间
TIME:该进程占用 CPU 的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
(2)ps -ef 显示信息说明
UID:用户 ID
PID:进程 ID
PPID:父进程 ID
C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算, 执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数

1.10.1.4经验技巧

如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;
如果想查看进程的父进程 ID 可以使用 ef

1.10.1.5内存置换算法LRU

最近最少使用(最长时间)淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的页面
LRU 关键是看页面最后一次被使用到发生替换的时间长短,时间越长,页面就会被置换

1.10.1.5查看当前的所有进程的CPU占用率和内存占用率
  • [root@hadoop100 ~]# ps aux

grep 搜索目录 排除目录_hadoop_43

1.10.1.6查看当前的所有进程的父进程ID

[root@hadoop100 ~]# ps -ef

grep 搜索目录 排除目录_grep 搜索目录 排除目录_44

1.10.1.7查看与sshd相关进程

[root@hadoop100 ~]# ps -ef | grep sshd

grep 搜索目录 排除目录_grep 搜索目录 排除目录_45


在开一个进程

grep 搜索目录 排除目录_hadoop_46


grep 搜索目录 排除目录_运维_47


在以cat用户开一个进程

grep 搜索目录 排除目录_grep 搜索目录 排除目录_48

grep 搜索目录 排除目录_hadoop_49

1.10.2 kill 终止进程

1.10.2.1基本语法

kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用)

1.10.2.2选项说明

选项

功能

-9

表示强迫进程立即停止

1.10.2.3杀死cat用户登录进程

grep 搜索目录 排除目录_grep 搜索目录 排除目录_50


不管杀死2827还是2823都是把cat用户登录删除,作用是一样的

grep 搜索目录 排除目录_grep 搜索目录 排除目录_51

1.10.2.4误把sshd后台守护进程kill

grep 搜索目录 排除目录_运维_52


grep 搜索目录 排除目录_grep 搜索目录 排除目录_53

这时候没有了sshd守护进程了,那么远程登录就都登录不上了,只有再把sshd守护进程开启才可以再次远程登录,如果没有开启sshd守护进程,把所有的root进程的远程登录关掉,那么只能用主机操作了

  • [root@hadoop100 ~]# systemctl start sshd

grep 搜索目录 排除目录_运维_54

1.10.2.5 用-9强行杀死
  • [root@hadoop100 ~]# kill -9 3092

grep 搜索目录 排除目录_grep 搜索目录 排除目录_55

1.10.2.6用killall 杀死所有进程

用这个的时候一定要谨慎使用比如将sshd全部杀死,这样的话远程登录的全部停了,而且也不能再次远程登录了,只能在主机上打开sshd守护进程才可以,这个就不演示了
命令是killall sshd
有兴趣的小伙伴可以去尝试一下

1.10.3 pstree 查看进程树

1.10.3.1基本语法

pstree [选项]

1.10.3.2选项说明

选项

功能

-p

显示进程的 PID

-u

显示进程的所属用户

1.10.3.3在使用pstree之前要先安装下pstree
  • [root@hadoop100 ~]# yum install pstree
1.10.3.4显示进程
  • [root@hadoop100 ~]# pstree

grep 搜索目录 排除目录_服务器_56

1.10.3.5显示进程pid (-p)
  • [root@hadoop100 ~]# pstree -p

grep 搜索目录 排除目录_linux_57

1.10.3.6显示所属用户 (-u)
  • [root@hadoop100 ~]# pstree -u

grep 搜索目录 排除目录_grep 搜索目录 排除目录_58

1.10.4 top 实时监控系统进程状态

1.10.4.1基本命令

top [选项]

1.10.4.2选项说明

选项

功能

-d 秒数

指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当 中可以执行的命令

-i

使 top 不显示任何闲置或者僵死进程。

-p

通过指定监控进程 ID 来仅仅监控某个进程的状态。

1.10.4.3操作说明

操作

功能

P

以 CPU 使用率排序,默认就是此项

M

以内存的使用率排序

N

以 PID 排序

q

退出 top

1.10.4.4查询结果字段解释
  • 第一行信息为任务队列信息

内容

说明

18:16:49

系统当前时间

up 1:27

系统的运行时间,本机1 小时 27 分钟

4 users

当前登录了四个用户

load average:0.00,0.01,0.05

系统在之前 1 分钟,5 分钟,15 分钟的平均负 载。一般认为小于 1 时,负载较小。如果大于 1,系统已经超出负荷。

  • 第二行为进程信息

内容

说明

Tasks: 224 total

系统中的进程总数

1 running

正在运行的进程数

223 sleeping

睡眠的进程

0 stopped

正在停止的进程

0 zombie

僵尸进程。如果不是 0,需要手工检查僵尸进程

  • 第三行为 CPU 信息

内容

说明

%Cpu(s): 0.1%us

用户模式占用的 CPU 百分比

0.1%sy

系统模式占用的 CPU 百分比

0.0%ni

改变过优先级的用户进程占用的 CPU 百分比

99.8%id

空闲 CPU 的 CPU 百分比

0.0%wa

等待输入/输出的进程的占用 CPU 百分比

0.0%hi

硬中断请求服务占用的 CPU 百分比

0.0%si

软中断请求服务占用的 CPU 百分比

0.0%st

st(Steal time)虚拟时间百分比。就是当有虚拟 机时,虚拟 CPU 等待实际 CPU 的时间百分比

  • 第四行为物理内存信息

内容

说明

Mem: 4026156k total

物理内存的总量,单位 KB

1772056k free

空闲的物理内存数量

901876k used

已经使用的物理内存数量

1352224k buffers

作为缓冲的内存数量

  • 第五行为交换分区(swap)信息

内容

说明

Swap: 4194300k total

交换分区(虚拟内存)的总大小

4194300k free

空闲交换分区的大小

0k used

已经使用的交互分区的大小

2854860k avail Men

作为缓存的交互分区的大小

1.10.4.5案例
1.10.4.5.1按占用内存排序

shift+m 从大到小

grep 搜索目录 排除目录_linux_59

1.10.4.5.2按占用CPU排序

shift+p 从大到小

grep 搜索目录 排除目录_grep 搜索目录 排除目录_60

1.10.4.5.3按PID从大到小排

shift + n 从大到下

grep 搜索目录 排除目录_linux_61

1.10.4.5.4top -d
  • [root@hadoop100 ~]# top -d 1


d


1.10.4.5.5top -i
  • [root@hadoop100 ~]# top -i

grep 搜索目录 排除目录_运维_62

1.10.4.5.6top -p
  • [root@hadoop100 ~]# top -p 1

grep 搜索目录 排除目录_linux_63

1.10.4.5.6在top里想监控某个用户

在top里按u然后输入用户

grep 搜索目录 排除目录_grep 搜索目录 排除目录_64

grep 搜索目录 排除目录_服务器_65

1.10.4.5.6在top里想杀死某个进程

在top里按k然后杀死4148进程然后再输入9,(9是kill -l中的一个命令下面一会附上图)

grep 搜索目录 排除目录_linux_66

grep 搜索目录 排除目录_hadoop_67

grep 搜索目录 排除目录_运维_68

1.10.4.5.7初始进程

grep 搜索目录 排除目录_服务器_69

1.10.4.5.8kill -l的信息

grep 搜索目录 排除目录_hadoop_70

1.10.5 netstat 显示网络状态和端口占用信息

1.10.5.1基本语法

netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

1.10.5.2选项说明

选项

功能

-a

显示所有正在监听(listen)和未监听的套接字(socket)

-n

拒绝显示别名,能显示数字的全部转化成数字

-l

仅列出在监听的服务状态

-p

表示显示哪个进程在调用

1.10.5.3查看网络信息
  • [root@hadoop100 ~]# netstat -anp

grep 搜索目录 排除目录_服务器_71

选项

功能

Proto

协议

Recv-Q

还没有拷贝出来的字节数量

Send-Q

远程主机还没有确认收到的字节数量

Local Address

本地地址

Foreign Address

远程地址

State

状态

PID/Program name

PID和进程的名字

1.10.5.4通过进程号查看sshd进程的网络信息
  • [root@hadoop100 ~]# netstat -anp | grep sshd
1.10.5.5查看某端口号是否被占用
  • [root@hadoop100 ~]# netstat -nltp | grep 22

grep 搜索目录 排除目录_hadoop_72

1.11 crontab 系统定时任务

1.11.1 crontab 服务管理

1.11.1.1重新启动 crond 服务
  • [root@hadoop100 ~]# systemctl restart crond

grep 搜索目录 排除目录_linux_73

1.11.2 crontab 定时任务设置

1.11.2.1 基本语法

crontab [选项]

1.11.2.1 选项说明

选项

功能

-e

编辑 crontab 定时任务

-l

查询 crontab 任务

-r

删除当前用户所有的 crontab 任务

1.11.2.1 参数说明
1.11.2.1.1进入 crontab 编辑界面。会打开 vim 编辑你的工作。

* * * * * 执行的任务

项目

含义

范围

第一个“*”

一小时当中的第几分钟

0-59

第二个“*”

一天当中的第几小时

0-23

第三个“*”

一个月当中的第几天

1-31

第四个“*”

一年当中的第几月

1-12

第五个“*”

一周当中的星期几

0-7( 0 和 7 都 代 表 星 期 日)

1.11.2.1.2特殊符号

特殊符号

含义

*

代表任何时间。比如第一个“*”就代表一小时中每分钟 都执行一次的意思。


代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表 在每天的 8 点 0 分,12 点 0 分,16 点 0 分都执行一次命令

-

代表连续的时间范围。比如“0 5 * * 1-6 命令”,代表在 周一到周六的凌晨 5 点 0 分执行命令

*/n

代表每隔多久执行一次。比如“*/10 * * * * 命令”,代 表每隔 10 分钟就执行一遍命令

1.11.2.1.3特定时间执行命令

时间

含义

30 18 * * * 命令

每天18点30分执行命令

20 5 * * 1 命令

每周一的5点20分执行命令

20 5 1,20 * * 命令

每月1号和20号的凌晨5点20执行命令

20 5 * * 1-5 命令

每周一到周五凌晨5点20执行命令

*/10 5 * * * 命令

每天的凌晨5点每隔10分钟执行一次命令

20 5 1,20 * 1命令

每月1号和20号,每周1的5点20分都会执行命令

注 意:星期几和几号最好不要同时出现,因为他们定义的都 是天。非常容易让管理员混乱

1.11.2.1.4每隔 1 分钟,向/root/bailongma.txt 文件中添加hello,linux! 的数字

*/1 * * * * echo “hello,linux!” >> /root/hellolinux

grep 搜索目录 排除目录_运维_74

grep 搜索目录 排除目录_服务器_75

1.11.2.1.5查询 crontab 任务
  • [root@hadoop100 ~]# crontab -l

grep 搜索目录 排除目录_linux_76

1.11.2.1.6删除当前用户所有的 crontab 任务
  • [root@hadoop100 ~]# crontab -r