Linux实用技巧
1. linux共享内存的查看和释放
- 查看共享内存命令:ipcs -m
- 删除共享内存明明:ipcrm -m [shmid]
[negivup@negivup mycode]$ ipcs -m 查看共享内存区 ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 196613 negivup 666 1024 0 [negivup@negivup mycode]$ [negivup@negivup mycode]$ ipcrm -m 196613 通过shmid删除共享内存区 [negivup@negivup mycode]$ ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status
说明:
- key:共享内存的key
- shmid:共享内存的编号
- owner:共享内存的创建用户
- perms:共享内存的权限
- bytes:共享内存的大小
- nattch:连接到共享内存的进程数
- status:共享内存的状态
2. linux查看文本小技巧
tail命令查看日志信息
实时监控日志:
tail -f filename
实时监控10行日志信息:
tail -10f filename
查看日志尾部的最后100行日志信息:
tail -n 100 filename
查看日志100行之后的日志信息:
tail -n +100 filename
head命令查看文本信息
查看文本开始的头100行信息:
head -n 100 filename
查看文本最后100行以上的信息:
head -n -100 filename
cat命令查看文本信息
查看全部文本内容:
cat filename
查看文本中间某些行范围的内容,例如查看文件100-120行之间的内容:
cat -n filename |tail -n +100|head -n 20
tac查看文本信息
和cat命令有些相反,cat命令更多的是从头部到尾部的顺序展示文本内容,而tac命令正好是从文本尾部往头部展示日志内容
tac filename
搜索文本内容
grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
在多个文件中查找:
grep "match_pattern" file_1 file_2 file_3 ...
标志匹配颜色 --color=auto 选项:
grep "match_pattern" file_name --color=auto //【这里的color项可以根据文档说明进行选择always,never,auto三种】
2. linux进程间通信有哪些
信号、信号量、共享内存、管道、共享文件、消息队列、套接字(socket)
3. Linux下有哪些socket模型,即poll、select和epoll的原理的不同
epoll、poll和select都是linux下I/O多路复用的实现,可以实现单线程管理多个连接,select是基于轮询的,轮询连接的状态,返回I/O状态,poll和select的原理基本相同,只是poll没有最大连接的限制,因为它是基于链表的,而select是基于数组的,有最大连接次数(1024)的限制。epoll和两者的区别是,epoll不是基于轮询的检查,而是为每个fd注册回调,I/O准备好时,会执行回调,效率比select和poll高很多。