1,打印文件file1空行行号
awk '{if($0~/^$/) print NR }' file1
2,打印以abc结尾的行以及行号
grep -n abc$ file1
3,打印文件2到3行
sed -n '2,3p' file1
4,11月份每天早上6点到12点之间,每隔两小时执行脚本httpd.sh
0 6-12/2 * 11 * /usr/bin/httpd.sh
5,打印文件夹下大小超过300的文件
#!/bin/bash for file in `ls ./` do if [ -f $file ]; then if [ `ls -l $file | awk '{print $5}'` -gt 300 ]; then ls -l $file fi fi done
6,简述raid0 raid1 raid5工作原理和特点
raid0:连续以位或字节为单位分割数据,并行读写于多个磁盘,具有很高数据传输率,没有数据冗余,没有为数据可靠性提供保障。
raid1:通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。原始数据繁忙时,可以从镜像拷贝读取数据。单位成本最高
raid10:高可靠性高效磁盘结构
raid5:分布式奇偶校验独立磁盘结构,任何一个磁盘损坏都可通过别的磁盘奇偶校验恢复,不影响运行
7,查看端口8080占用进程
lsof -i:8080
8,apache2.X版本的两种工作模式原理
prefork:多进程,每个进程产生子进程
worker:多进程,每个进程产生子线程
httpd -l查看运行在哪种模式下
9,通过apache 访问日志access.log 统计IP 和每个地址访问的次数,按访问量列出前10 名。
日志格式样例如下
192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10
10,如何用mysql命令进行恢复和备份
mysqldump -u root -p test > test.sql mysql -u root -p test < test.sql
11,统计域名访问次数
http://a.domain.com/1.html
http://b.domain.com/1.html
http://c.domain.com/1.html
http://a.domain.com/2.html
http://b.domain.com/2.html
http://a.domain.com/3.html
awk -F '/' '{arr[$3]++} END{for(i in arr){print arr[i],i}}' file1 | sort -rn
12,列举传输文件的协议
http https ftp rsync samba nfs scp
13,查看linux运行多少时间
uptime
14,自动ftp与自动ssh
自动ftp 上传
#!/bin/sh ftp -n<<END_FTP open 192.168.1.4 user username passed //用户名username 密码passwd binary prompt off //关闭提示 mput test //上传test close bye END_FTP
自动ssh 登陆 从A 到B 然后再到c
#!/usr/bin/expect -f set timeout 30 spawn ssh username@ipaddr expect "password:" send "passwd\r" expect "]*" send "ssh username@ipaddr2\r" expect "password:" send "passwd\r" interact
15,一个EXT3 的文件分区,当使用touch test.file 命令创建一个新文件时报错,报错的
信息是提示磁盘已满,但是采用df -h 命令查看磁盘大小时,只使用了,60%的磁盘空间,
为什么会出现这个情况,说说你的理由。
答:两种情况,一种是磁盘配额问题,另外一种就是EXT3 文件系统的设计不适合很多小
文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode 耗尽了。
16,FTP 协议有两种工作模式,说说它们的大概的一个工作流程?
FTP 两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
在主动模式下,FTP 客户端随机开启一个大于1024 的端口N 向服务器的21 号端口发起
连接,然后开放N+1 号端口进行监听,并向服务器发出PORT N+1 命令。
服务器接收到命令后,会用其本地的FTP 数据端口(通常是20)来连接客户端指定的端口
N+1,进行数据传输。
在被动模式下,FTP 客户端随机开启一个大于1024 的端口N 向服务器的21 号端口发起
连接,同时会开启N+1 号端口。然后向服务器发送PASV 命令,通知服务器自己处于被动
模式。服务器收到命令后,会开放一个大于1024 的端口P 进行监听,然后用PORT P 命
令通知客户端,自己的数据端口是P。客户端收到命令后,会通过
N+1 号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP 是指服务器主动连接客户端的数据端口,被动模式的FTP 是指
服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP 通常用在处于防火墙之后的FTP 客户访问外界FTp 服务器的情况,因为在
这种情况下,防火墙通常配置为不允许外界访问防火墙之
后主机,而只允许由防火墙之后的主机发起的连接请求通过。
因此,在这种情况下不能使用主动模式的FTP 传输,而被动模式的FTP 可以良好的工作。