文件搜索

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

find查找

查找 man_db.conf 文件路径
find / -name man_db.conf
Linux03 - 图1
Linux03 - 图2
/ 表示搜索位置 从根目录开始搜索
-name 以文件名进行搜索
man_db.conf 要查找的文件名
在 /var 目录下搜索名为 messages的文件
Linux03 - 图3

在 / 目录下搜索 文件名中包含 test 的文件
Linux03 - 图4
* 表示包含
在 / 目录下搜索 文件名中包含 test 的文件 并统计出来多少个

locate 查找

find命令查找的时候,是一个文件一个文件遍历查找的。
locate命令查找是根据索引查找;
先执行updatedb 更新索引。
查找 man_db.conf 文件
updatedb
locate man_db.conf
Linux03 - 图5
部分路径、文件类型无法更新
这个updatedb文件,在etc/目录下面,有个/etc/updatedb.conf的配置文件
第一行PRUNE_BIND_MOUNTS=”yes”的意思是:是否进行限制搜索。
第二行是排除检索的文件系统类型,即列出的文件系统类型不进行检索。
第二行表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。
第四行是排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。updatedb之后使用locate仍然找不到想要文件 可以检查挂载的目录是否被忽略了

vi进去,改下最后一行的目录,把要updatedb的目录删除,保存一下退出,下次updatedb之后就应该能找到了

字符处理

文件链接ln 命令
ln 命令链接两个文件,一个修改了,另一个也会被修改
Linux03 - 图6

直接ln硬链接:

  1. 不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
  2. 不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,这个文件都可以被访问。
  3. 硬链接不会建立新的 inode 信息,也不会更改 inode 的总数。
  4. 硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode 号是重新计算的。
  5. 硬链接不能链接目录,因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接,这对当前的 Linux 来讲过于复杂

    软链接 ln -s:

  6. 不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。

  7. 删除软链接文件,源文件不受影响。而删除原文件,软链接文件将找不到实际的数据,从而显示文件不存在。
  8. 软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。
  9. 软链接可以链接目录。
  10. 软链接可以跨分区

    grep 过滤文本 history 查看历史命令

    例如history命令,过滤rm
    Linux03 - 图7

将 /etc/man_db.conf 文件中的 包含80 的行显示出来
cat /etc/man_db.conf | grep 80
Linux03 - 图8
Linux03 - 图9

使用locate 查找 messages文件 过滤出在 /var下的文件。
Linux03 - 图10

diff 对比文件内容

  1. 使用至少2种方法查找 文件名中 含有 log的文件路径
    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

进程管理

du 查看磁盘使用

du -sh

df 查看磁盘空间使用情况

Linux03 - 图11
查看 /var 目录的占用空间大小
Linux03 - 图12

df -h
Linux03 - 图13

top 查看系统使用cpu

Linux03 - 图14

mpstat 命令 和sar 命令

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

使用方式,直接在 命令行中输入即可。
mpstat
Linux03 - 图15
可以直接看到cpu的使用情况。
sar 1 3可以记录当下时间几次
Linux03 - 图16

free查看内存

free -m
查看内存

  • -m 以兆为单位

Linux03 - 图17

ps 查看进程

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

ps -ef
Linux03 - 图18

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

安装 nginx

yum install nginx
启动 nginx 服务
systemctl start nginx
打开浏览器, 输入自己的服务器ip地址,比如我的服务器ip地址为 1.117.45.85, 那么在浏览器的地址栏中输入 http://1.117.45.85 那么可以看到如下界面
Linux03 - 图19
查看 nginx 进程信息
ps -ef | grep nginx
Linux03 - 图20

kill, killall 杀掉进程

根据上面的操作,可以看到启动 nginx 的主进程号为 32407
Linux03 - 图21
具体的进程号,每台机器都可能不一样。
当你知道这个应用的进程号之后,可以通过 kill 命令来结束这个应用
kill 32407
结束掉这个进程之后, 整个网站不能访问了。
Linux03 - 图22
killall 也可以结束整个应用。
再次启动nginx服务
systemctl start nginx
killall 使用方式后面跟 进程名称,结束所有nginx进程
killall nginx
与kill 不一样的是:
kill 后跟 进程号
killall 后跟 进程名称
另外当某些进程使用kill 结束的时候结束不了,也可以添加 -9 参数, -9 表示强制删除。

netstat 查看端口使用情况

每个网站在服务器上运行的时候都会占用端口,比如 nginx 默认使用的是 80 端口
有些应用占用 8080端口,有些占用3000端口。Mysql数据库默认使用3306端口。
可以使用netstat 命令根据服务器占用的端口号来查找进程对应的信息;
查看服务器端口的使用情况
netstat -anpt
Linux03 - 图23
也可以通过 grep 命令来过滤对应端口号
查找占用80端口的应用信息
netstat -anpt | grep 80
Linux03 - 图24
可以看到nginx 程序正在占用80端口
也可以通过ps 命令根据 pid 查看具体的应用进程信息
Linux03 - 图25

关机重启服务器

关机服务器

poweroff

重启服务器

reboot