1.企业面试题:一个100M的磁盘分区,分别写入1k文件,及写入1M的文件,分别可以写多少个?
一块磁盘被分区格式化成系统文件后,有Inode和Block;一个文件一般占用一个Inode和一个Block。一般block和inode都是够用的。 一个分区中一般block的数量是大于inode数量,所以inode一般情况下是够用的,而block是不够用的。
但如果是空文件或者小文件,则Inode会满。
一般Inode是存放属性的,大小为128byte 或者 256byte
block 是存放内容的,大小是1k(boot),4k(非系统分区默认给4k)
1)1k文件: 假设如果blcok是4k ,则1k文件会占用1个block,则Block的数量就是文件个数数量。
100M=100000k 则文件个数是100000/4个数,每个文件浪费3k空间,总体浪费3/4空间。
2)1M文件:假设如果block是4k,则block是不浪费的,则100/1 为100个
2.如何过滤出当前目录的1级目录
要的是方法的个数,并不是一个答案,要的是思想,不是具体的答案,脱离技术你怎么解决这个问题,如可以通过颜色区分,可以根据目录区分,可以做标记,然后把目录过滤出来等。
技术:
运维思想:当一个命令的输出,含有我们需要的内容的时候,我们要想到可能这个命令的某个参数就能直接搞定,例如tree这个是我们首先想到的解决方法,那么通过man进行查找。
3.如何最快切回源目录:cd -
OLDPWD这个变量就是记录上一次的目录
运维思想:先走通,在变通
工作经验:尽量走别人走过的路,起始地点到终点,从终点到起始点,才算走过的路,说白了就是要纠结每一个细节。
4.只保留七天内的日志
制造日志的脚本
for n in `seq 14`
do
date -s "04/0$n/13"
touch access_www_`(date +%F)`.log
done
date -s "04/14/13"
5.tail -f比 tail -F不如,tail -F有重试功能。
6.less 是一行行显示,more也是一行行显示,但是不能往回走。
7.显示行号:cat -n 、 less -N vi里面的set nu
8.开机启动原理:
对应各个级别下比如如图:开机启动55顺序,对应到init.d/sshd里面有chkconfig设置了开机自启动。
9. 开机启动流程:
1)init是由内核启动的用户级的进程,它的pid永远是1,开机启动脚本全部是通过它来启动的。
2)当第一个进程启动后,init执行第一个脚本/etc/rc.d/rc.sysinit,这个脚本是初始化工作,如设置字体、设置主机名、装载声卡模块等
3)/etc/rc.d/rcx.d 就是启动各个运行级别脚本,通过chkconfig这个命令来控制开机启动各个级别要执行的程序,也是开机启动的控制程序,初始化的内容。
4)在相应级别服务启动后,执行最后一个脚本/etc/rc.d/rc.local,初始化完成以后就启动这个脚本,启动配置的服务,并且是按照顺序启动的。
10. /etc/目录为linux系统的默认的配置文件及服务启动命令的目录
a.请用tar打包/etc 整个目录(打包和压缩)
b.请用tar打包/etc 整个目录(打包压缩,排除/etc/services文件)
c.请把a命令的压缩包。解压到/tmp指定目录下(最好使用tar命令实现)
解析:打包命令tar zcvf :z表示压缩 c表示创造 v查看 f表示文件;一般用tar打包,都用tar.gz,表示打包gz压缩。
(打包某个目录,就去那个目录下,不然恢复会覆盖根,)另外,如果我们用的是脚本,那么就先要cd到这个打包目录的父目录去,在进行打包。如果非要在根目录下开始打包,我们也会看见一个提示,这个提示表明了,系统会从根目录下进行打包,那么就会覆盖某些本来不需要打包的内容,所以我们不要从根目录打包,如果用-P去掉提示,更加可怕,因为我们不知道,还以为我们做的是对的,这是不好的,所以不要加-P
tar tf etc.tar.gz 可以看里面的东西,没有解压,仅仅是查看
-p 保存属性 -P去掉提示的命令,打包如果在根目录下开始,那么会有提示,表示所有的都打包了,
a: cd /
tar zcvf etc.tar.gz ./etc ---打包到当前目录
b:cd /
tar zcfv etc.tar.gz --exclude=oldboy/jeacen ./oldboy
tar zcfvX etc.tar.gz 目录 ./oldboy
c: tar xvf etc.tar.gz -C /tmp
11.tar jcvf etc.tar.bz ./oldboy tar jxvf etc.tar.bz ./oldboy (bz格式不能用gz进行解压)
12.查看/etc/services文件有多少行?
1)wc -l /etc/services
2) 所有查行号的都可以: cat -n file | tail -1
在工作中 一般用来统计进程: ps-ef |grep syslog |wc -l