1 grep搜索字符
grep在文件中执行搜索关键词搜索,显示匹配的效果
-c 仅显示找到的行数
-i 忽略大消息
-n 显示行号
-r 递归搜索文件目录
示例:
grep new_capacity string_buffer.c 查找 new_capacity关键字,string_buffer.c文件中查找
grep new_capacity *.c 查找 new_capacity关键字,在当前目录下所有已.c文件中查找
grep new_capacity *.c src/ -rn 在src目录下所有文件中 ,查找new_capacity关键字,并显示行号
2 find查找文件
通过文件名称查找文件位置
find . -name string_buffer.c 当前目录下查找 string_buffer.c文件
find . -iname string_buffer.c 忽略文件名大小写查找
find /mnt -size 20k 在/mnt目录下 小于20k的文件
find /mnt +size 20k 在/mnt目录下 大于20k的文件
同上 -cmin 10 代表10分钟左右修改的文件, -cmin -10 十分钟以内修改的文件
find /mnt -type d 在/mnt目录下查找目录
find /mnt -type f 在/mnt目录下查找文件
3 uptime机器启动时间和负载
查看机器启动时间,登录用户,负载情况
10:20:40 up 40 days,18:00, 4 users, load average: 0.13,0.08,0.05
当前时间:10:20:40
系统已经运行时间:40 days
在线用户:4个,打开终端连接就算一个用户
系统平均负载:0.13,0.08,0.05,最近1分钟,5分钟,15分钟负载情况
4 dos2unix和unix2dos
转换windows和unix文件的换行符,windows下书写的文件内容在unix运行,需要dos2unix
windows文件换行符“\r\n”, unix文件换行符“\n”
5 sed批量修改文件内容
简单的sed命令包含3部分:参数,范围,操作;操作的文件在最后
sed -i 's/abc/666/g' file.ini
将file.ini文件中abc,替换成666,g是所有出现abc全部替换
6 awk同sed修改文件内容
sed擅长取行,awk擅长取列操作
echo '192.168.0.1' | awk -F '.' '{print $2}' 输出 168, 已点为分隔符打印
echo ‘hello world 123’| awk '{print $2,$1,$3}' 输出 world hello 123
netstat -ant | awk '\
BEGIN{print "State","Count" }\
/^tcp/ \
{ if($5=="0.0.0.0:*") rt[$6]++ }\
END{ for(i in rt){print i,rt[i]} }'
输出结果:
State Count
LISTEN 3
7 top进程cpu内存信息
top命令查看活动进程cpu和内存信息,实时显示系统各个进程的资源占用情况
t 切换进程和cpu状态
s 改变刷新时间间隔
查看具体进程下线程
top -Hp pid
8 free内存命令
total used free shared buff/cache available
Mem: 1015508 129956 511992 6932 373560 702524
Swap: 2097148 0 2097148
Mem 内存使用情况
Swap 交换空间使用情况
total 列系统总的可用物理内存和交换空间大小
used 列已经被使用的物理内存和交换空间
free 列还有多少物理和交换空间可用
shared 列被共享使用的物理内存大小
buff/cache 列被buffer和cache使用的物理内存大小
available 列显示还可以被应用程序使用的物理内存大小
加上-h 利于可读显示
加上-s 间隔秒数 free -h -s 3
9 df硬盘使用情况
查看文件系统硬盘挂载点和空间使用情况
例如:df -h
10 du目录文件大小
df -a 显示目录和子目录占用磁盘空间大小
du -s 显示当前目录大小
du -s -h /home 显示/home目录占用磁盘大小 利于可读显示
du -c 显示几个目录或文件占用情况
du -s -h -c /home/ /root
861M /home/
164M /root
1.1G 总用量
du -lh --max--depth=1 查看当前目录下一级子文件和子目录占用情况