七、linux目录结构知识---实战

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

原文地址:https://www.cnblogs.com/dangjingwei/p/10667879.html