文件搜索
我知道文件名,但是忘记文件存在什么地方了,可以使用文件搜索查找命令
find查找
查找 man_db.conf 文件路径
find / -name man_db.conf

/ 表示搜索位置 从根目录开始搜索
-name 以文件名进行搜索
man_db.conf 要查找的文件名
在 /var 目录下搜索名为 messages的文件
在 / 目录下搜索 文件名中包含 test 的文件
* 表示包含
在 / 目录下搜索 文件名中包含 test 的文件 并统计出来多少个
locate 查找
find命令查找的时候,是一个文件一个文件遍历查找的。
locate命令查找是根据索引查找;
先执行updatedb 更新索引。
查找 man_db.conf 文件
updatedb
locate man_db.conf
部分路径、文件类型无法更新
这个updatedb文件,在etc/目录下面,有个/etc/updatedb.conf的配置文件
第一行PRUNE_BIND_MOUNTS=”yes”的意思是:是否进行限制搜索。
第二行是排除检索的文件系统类型,即列出的文件系统类型不进行检索。
第二行表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。
第四行是排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。updatedb之后使用locate仍然找不到想要文件 可以检查挂载的目录是否被忽略了
vi进去,改下最后一行的目录,把要updatedb的目录删除,保存一下退出,下次updatedb之后就应该能找到了
字符处理
文件链接ln 命令
ln 命令链接两个文件,一个修改了,另一个也会被修改
直接ln硬链接:
- 不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
- 不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,这个文件都可以被访问。
- 硬链接不会建立新的 inode 信息,也不会更改 inode 的总数。
- 硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode 号是重新计算的。
硬链接不能链接目录,因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接,这对当前的 Linux 来讲过于复杂
软链接 ln -s:
不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
- 删除软链接文件,源文件不受影响。而删除原文件,软链接文件将找不到实际的数据,从而显示文件不存在。
- 软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。
- 软链接可以链接目录。
- 软链接可以跨分区
grep 过滤文本 history 查看历史命令
例如history命令,过滤rm
将 /etc/man_db.conf 文件中的 包含80 的行显示出来
cat /etc/man_db.conf | grep 80

使用locate 查找 messages文件 过滤出在 /var下的文件。
diff 对比文件内容
- 使用至少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 查看磁盘使用
df 查看磁盘空间使用情况

查看 /var 目录的占用空间大小
df -h
top 查看系统使用cpu

mpstat 命令 和sar 命令
mpstat 不是CentOS系统自带的命令,使用之前需要进行在线安装,安装命令
yum install -y sysstat
使用方式,直接在 命令行中输入即可。
mpstat
可以直接看到cpu的使用情况。
sar 1 3可以记录当下时间几次
free查看内存
free -m
查看内存
- -m 以兆为单位

ps 查看进程
启动应用程序之后 会以进程的方式来运行。
查看服务器程序运行进程
ps -ef
ps -ef 
- 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 那么可以看到如下界面
查看 nginx 进程信息
ps -ef | grep nginx
kill, killall 杀掉进程
根据上面的操作,可以看到启动 nginx 的主进程号为 32407
具体的进程号,每台机器都可能不一样。
当你知道这个应用的进程号之后,可以通过 kill 命令来结束这个应用
kill 32407
结束掉这个进程之后, 整个网站不能访问了。
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
也可以通过 grep 命令来过滤对应端口号
查找占用80端口的应用信息
netstat -anpt | grep 80
可以看到nginx 程序正在占用80端口
也可以通过ps 命令根据 pid 查看具体的应用进程信息
关机重启服务器
关机服务器
重启服务器
reboot
