find指令将从指定目录下递归地遍历各个子目录,将满足条件的文件显示在终端
find【path】【选项】
可使用的选项有二三十个之多,在此只介绍最常用的部份
| 选项 | 功能 |
| -name<查询方式> | 按照指定的文件名查找模式查找文件 |
| -user<用户名> | 查找属于指定用户名所有文件 |
| -size<文件大小> | 按照指定的文件大小查找文件,单位为: b —— 块(512字节) c —— 字节 w —— 字(2字节) k —— 千字节 M —— 兆字节 G —— 吉字节 查找大于200m的文件 +n大于 -n小于 n等于 |
可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2 ! expr -not expr exp1 -or exp2 exp1, exp2
1.将目前目录及其子目录下所有延伸档名是 c 的文件列出来。
# find . -name "*.c"
2. 将目前目录其其下子目录中所有一般文件列出
# find . -type f
3. 将目前目录及其子目录下所有最近 20 天内更新过的文件列出
# find . -ctime -20
4. 查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
# find /var/log -type f -mtime +7 -ok rm {} \;
5. 查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
# find . -type f -perm 644 -exec ls -l {} \;
6. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
# find / -type f -size 0 -exec ls -l {} \;

7.服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除。
解决1: find / -size +500M -print0|xargs -0 du -m|sort -nr
find指令为找出500M以上的文件,print0和xargs -0配合使用,用来解决文件名中有空格或特殊字符问题。du -m是查看这些文件的大小,并以m为单位显示。最后sort -nr是按照数字反向排序(大的文件在前)
解决2:上述方法从根路径查找,可能列出一些系统文件。可以在这个查找之前先进行一下过滤。
使用du -m -d 1 /|sort -nr 先看看根路径下,哪个文件夹比较大,并且有嫌疑是导致磁盘满的罪魁祸首。然后再基于那个目录进行find。
8. 记得写过一个xxx.c的文件,但是忘了放哪里了
解决: find / -name *xxx*.c 模糊查找下这个文件
locate指令利用实现建立的系统中所有文件名称及路径的locate数据库实现快速定位定给的文件
locate指令无需遍历整个文件系统,查询速度较快
为了保证查询结果的准确度,管理员必须定期更新locate时刻
locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
如果未安装: yum -y install mlocate

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 【选项】【查找内容】【源文件】
(1)在当前目录中,查找后缀有file字样的文件中包含hello字符串的文件,并打印出该字符串的行

(2)以递归的方式查找符合条件的文件(-r)。

(3)反向查找(-v)

gzip 文件 (功能:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能:解压缩文件)
zip 【选项】 【文件名.zip】【要压缩的文件】 (功能:压缩文件和目录)
unzip 【选项】【文件名.zip】 (功能:解压缩文件)
| zip选项 | 功能 |
| -r | 压缩目录 |
| unzip选项 | 功能 |
| -d<目录> | 指定解压后文件的存放目录 |
zip 压缩命令在window/Linux都通用,可以压缩目录且保留源文件

tar 【选项】 【目标名称.tar.gz】【将要打包的文件】 (功能:打包目录,压缩后的文件格式.tar.gz)
| 选项 | 功能 |
| -c | 产生.tar打包文件 |
| -v | 显示详细信息 |
| -f | 指定压缩后的文件名 |
| -z | 打包同时压缩 |
| -x | 解包.tar文件 |
ps:process status 进程状态
ps -aux | grep xxx (功能:查看系统中所有进程)
ps -ef | grep xxx (功能:查看子父进程之间的关系)
| 选项 | 功能 |
| -a | 选择所有进程 |
| -u | 显示所有用户的所有进程 |
| -x | 显示没有终端的进程 |
(1)ps -aux显示信息说明
(2)ps -ef显示信息说明
如果想看进程的CPU占用率和内存占用率,可以用aux
如果想查看进程的父进程ID可以使用ef
kill 【选项】【进程号】 (功能:通过进程号杀死进程)
killall 【进程名称】 (功能:通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时有用)
| 选项 | 功能 |
| -9 | 表示强迫进程立即停止 |
pstree 【选项】
| 选项 | 功能 |
| -p | 显示进程的PID |
| -u | 显示进程的所属用户 |
top【选项】
| 选项 | 功能 |
| -d 秒数 | 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: |
| -i | 使top不显示任何闲置或者僵死进程。 |
| -p | 通过指定监控进程ID来仅仅监控某个进程的状态。 |
| 操作 | 功能 |
| P | 以CPU使用率排序,默认就是此项 |
| M | 以内存的使用率排序 |
| N | 以PID排序 |
| q | 退出top |
第一行信息为任务队列信息
| 内容 | 说明 |
| 12:26:46 | 系统当前时间 |
| up 1 day, 13:32 | 系统的运行时间,本机已经运行1天13小时32分钟 |
| 2 users | 当前登录了两个用户 |
| load average: 0.00, 0.00, 0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。 |
第二行为进程信息
| Tasks: 95 total | 系统中的进程总数 |
| 1 running | 正在运行的进程数 |
| 94 sleeping | 睡眠的进程 |
| 0 stopped | 正在停止的进程 |
| 0 zombie | 僵尸进程。如果不是0,需要手工检查僵尸进程 |
第三行为CPU信息
| Cpu(s): 0.1%us | 用户模式占用的CPU百分比 |
| 0.1%sy | 系统模式占用的CPU百分比 |
| 0.0%ni | 改变过优先级的用户进程占用的CPU百分比 |
| 99.7%id | 空闲CPU的CPU百分比 |
| 0.1%wa | 等待输入/输出的进程的占用CPU百分比 |
| 0.0%hi | 硬中断请求服务占用的CPU百分比 |
| 0.1%si | 软中断请求服务占用的CPU百分比 |
| 0.0%st | st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。 |
第四行为物理内存信息
| Mem: 625344k total | 物理内存的总量,单位KB |
| 571504k used | 已经使用的物理内存数量 |
| 53840k free | 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 |
| 65800k buffers | 作为缓冲的内存数量 |
第五行为交换分区(swap)信息
| Swap: 524280k total | 交换分区(虚拟内存)的总大小 |
| 0k used | 已经使用的交互分区的大小 |
| 524280k free | 空闲交换分区的大小 |
| 409280k cached | 作为缓存的交互分区的大小 |
netstat -anp | grep 进程号 (功能:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能:查看网络端口号占用情况)
| 选项 | 功能 |
| -n | 拒绝显示别名,能显示数字的全部转化成数字 |
| -l | 仅列出有在listen(监听)的服务状态 |
| -p | 表示显示哪个进程在调用 |
| -a | 所有 |
service crond restart
crontab【选项】
| 选项 | 功能 |
| -e | 编辑crontab定时任务 |
| -l | 查询crontab任务 |
| -r | 删除当前用户所有的crontab任务 |
原文:https://www.cnblogs.com/hyunbar/p/13164401.html