## 一、取出文件aaa.txt的第4到7行
~~~
[root@localhost ~]# cat aaa.txt
1.aaa
2.bbbbbbb
3.ccccccccccccc
4.dddddddddddddddddddddd
5.eeeeeeeeeeeeeeeeee
6.ffffffffffffffffffffffffffffffffff
7.gggggggggggggggggggggg
8.hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
9.iiiiiiiiiiiiiiiiiiii
10.jjjjjjjjjjjjjjjjjjjjjjjjjj
11.kkk
12.llllllllll
~~~
~~~
[root@localhost ~]# sed -n '4,7p' aaa.txt
4.dddddddddddddddddddddd
5.eeeeeeeeeeeeeeeeee
6.ffffffffffffffffffffffffffffffffff
7.gggggggggggggggggggggg
~~~
## 二、找出当前目录下txt结尾的文件
~~~
[root@localhost ~]# ls
1.txt 2.txt 3.pdf aaa.txt anaconda-ks.cfg
[root@localhost ~]# find ./ -name "*.txt"
./aaa.txt
./1.txt
./2.txt
~~~
## 三、查找/usr目录下超过1M的文件
~~~
[root@localhost ~]# find /usr -type f -size +10240k
/usr/lib/locale/locale-archive
/usr/lib64/libicudata.so.50.1.2
~~~
## 四、写一个定时任务5点到8点执行
~~~
* 5-8 * * * /usr/bin/backup
~~~
## 五、mysql主从复制原理
主库db的更新事件(update、insert、delete)被写到binlog。
主库创建一个binlog dump thread,把binlog的内容发送到从库。
从库启动并发起连接,连接到主库。
从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log。
从库启动之后,创建一个SQL线程,从relay log里面读取内容,从Exec\_Master\_Log\_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db。
## 六、正向代理和反向代理
**正向代理**
比如我们国内访问国外网站,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问国外网站,这样由代理去国外网站取到返回数据,再返回给我们,这样我们就能访问了。
**反向代理**
反向代理实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时客户只是访问代理服务器却不知道后面有多少服务器。