文件搜索

我知道文件名,但是忘记文件存在什么地方了,可以使用文件搜索查找命令

find查找

查找 man_db.conf 文件路径

  1. find / -name man_db.conf

image.png

  • / 表示搜索位置 从根目录开始搜索
  • -name 以文件名进行搜索
  • man_db.conf 要查找的文件名

在 /var 目录下搜索名为 messages的文件
image.png

在 / 目录下搜索 文件名中包含 test 的文件

  1. find / -name *test*
    • 表示包含

在 / 目录下搜索 文件名中包含 test 的文件 并统计出来多少个

  1. find / -name *test* | wc

image.png
更多: https://linuxcmd.ee-fans.com/c/find.html

locate 查找

find命令查找的时候,是一个文件一个文件遍历查找的。
locate命令查找是根据索引查找;
先执行updatedb 更新索引。

查找 man_db.conf 文件

  1. updatedb
  2. locate man_db.conf

image.png

字符处理

grep 过滤文本

将 /etc/man_db.conf 文件中的 包含80 的行显示出来

  1. cat /etc/man_db.conf | grep 80

image.png
使用locate 查找 messages文件 过滤出在 /var下的文件。

  1. locate messages | grep /var

image.png

grep 也支持正则表达式

diff 对比文件内容

  1. 使用至少2种方法查找 文件名中 含有 log的文件路径

    1. locate log > /tmp/locate.log
    find / -name *log* > /tmp/find.log
    
  2. 比较 /tmp/locate.log 与 /tmp/find.log 两个文件中的内容差异

    diff /tmp/locate.log  /tmp/find.log
    

    更多命令请参考
    https://www.tecmint.com/best-linux-file-diff-tools-comparison/

进程管理

du 查看磁盘使用

查看 /var 目录的占用空间大小

du -sh /var

image.png

df 查看磁盘空间使用情况

df -h

image.png

top 查看系统使用

top 查看系统使用情况
image.png

mpstat 命令

mpstat 不是CentOS系统自带的命令,使用之前需要进行在线安装,安装命令

yum install sysstat

使用方式,直接在 命令行中输入即可。

mpstat

image.png
可以直接看到cpu的使用情况。

free查看内存

free -m

查看内存

  • -m 以兆为单位

image.png

ps 查看进程

启动应用程序之后 会以进程的方式来运行。
查看服务器程序运行进程

ps -ef

image.png

  • UID 用户id
  • PID 进程号 (每个进程启动的时候 服务器会自动分配一个进程)
  • PPID 父进程号
  • C cpu的使用率
  • STIME 启动日期
  • TTY 终端位置
  • TIME 占用CPU 时间
  • CMD 启动进程命令

  1. 安装 nginx

    yum install nginx
    
  2. 启动 nginx 服务

    systemctl start nginx
    
  3. 打开浏览器, 输入自己的服务器ip地址,比如我的服务器ip地址为 1.117.45.85, 那么在浏览器的地址栏中输入 http://1.117.45.85 那么可以看到如下界面

image.png

  1. 查看 nginx 进程信息
    ps -ef | grep nginx
    
    image.png

kill, killall 杀掉进程

根据上面的操作,可以看到启动 nginx 的主进程号为 32407
image.png
具体的进程号,每台机器都可能不一样。
当你知道这个应用的进程号之后,可以通过 kill 命令来结束这个应用

kill 32407

结束掉这个进程之后, 整个网站不能访问了。
image.png
killall 也可以结束整个应用。
再次启动nginx服务

systemctl start nginx

killall 使用方式后面跟 进程名称,结束所有nginx进程

killall nginx

与kill 不一样的是:
kill 后跟 进程号
killall 后跟 进程名称

另外当某些进程使用kill 结束的时候结束不了,也可以添加 -9 参数, -9 表示强制删除。

练习

前提条件: 已经安装好 nginx 服务。

  1. 将 /usr/share/nginx/html/index.html 文件 备份为 /usr/share/nginx/html/index.backup.html

    cp  /usr/share/nginx/html/index.html  /usr/share/nginx/html/indexbackup.html
    
  2. 使用 vim 命令编辑 /usr/share/nginx/html/index.html ,文件内容为

    <head>
    <meta charset="UTF-8">
    </head>
    <h1>hello world </h1>
    <p> 我是xxx </p>
    

    使用 vim 打开文件,删除文件中使用的内容
    使用

    :1,$d
    

    表示从第1行到最后一行所有都删掉。

  3. 重启 nginx 服务

    重启服务有两种方式 第1种方式:

    • ps -ef | grep nignx 查找进程号
    • 使用kill命令或者 killall 命令结束进程
    • 再次使用 systemctl start nginx 启动服务

    第2种方式: 直接使用 systemctl restart nginx 重启服务。

  4. 在浏览器中访问 http://{ip} {ip} 表示自己的公网ip地址

  5. 请问你看到了什么

image.png

  1. 请关闭nginx 服务

使用 systemctl stop nginx 可以关闭服务
也可以使用ps -ef | grep nginx 找到进程号之后使用 kill命令结束。

netstat 查看端口使用情况

每个网站在服务器上运行的时候都会占用端口,比如 nginx 默认使用的是 80 端口
有些应用占用 8080端口,有些占用3000端口。Mysql数据库默认使用3306端口。
可以使用netstat 命令根据服务器占用的端口号来查找进程对应的信息;

查看服务器端口的使用情况

netstat -anpt

image.png
也可以通过 grep 命令来过滤对应端口号

查找占用80端口的应用信息

netstat -anpt | grep 80

image.png
可以看到nginx 程序正在占用80端口

也可以通过ps 命令根据 pid 查看具体的应用进程信息
image.png

关机重启服务器

关机服务器

poweroff

重启服务器

reboot

作业

  1. 重装CentOS系统,请使用 CentOS7.9 64位操作系统

image.png

  1. 远程登录服务器,请问使用命令是什么?
  2. 切换到/tmp 目录,执行如下命令 下载禅道的安装包

    wget https://www.zentao.net/dl/zentao/15.0.3/ZenTaoPMS.15.0.3.zbox_64.tar.gz
    

    备注: wget 为网络下载命令,会自动从网上下载 ZenTaoPMS.15.0.3.zbox_64.tar.gz 这个文件

  3. 解压ZenTaoPMS.15.0.3.zbox_64.tar.gz 文件到 /opt/ 目录下

    tar -xf ZenTaoPMS.15.0.3.zbox_64.tar.gz -C /opt/
    

    备注: -C 指令是指定解压目录, 这里一定要添加 -C /opt/ 目录, 否则等下启动不了禅道服务。

  4. 启动禅道服务

    /opt/zbox/zbox start
    
  5. Chrome浏览器中 输入http://{ip} ip为自己服务器公网ip ,登录禅道,初始用户名为 admin 密码为123456,登录成功之后按照提示操作点击确定即可。

  6. 查看cpu,内存的使用情况
  7. 查看 /opt 目录占用磁盘的空间大小
  8. 查找 zbox 进程的相关信息
  9. 查找 80 端口的应用信息
  10. 查找 3306 端口的进程 并将此进程结束掉。
  11. 此时,再次在浏览器中访问禅道,你看到了什么?