Linux基础知识题解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础知识题解答相关的知识,希望对你有一定的参考价值。

题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正。

 

1)怎样查看文件或目录的属性,给出命令。

 

ls -l 或者 ll

 

2)描述硬链接和软链接的区别

 

1.硬链接原文件/链接文件共用一个inode号,说明他们是同一个文件,而软链接原文件/链接文件拥有不同的inode号,表明他们是两个不同的文件;
2.在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;
3.链接数目是不一样的,软链接的链接数目不会增加;
4.文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,而软链接显示的大小与原文件就不同了。
5.不允许给目录创建硬链接,不可以在不同文件系统的文件间建立硬链接。软链接则没有任何文件系统的限制,任何用户可以创建指向目录的符号链接
6.若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。

 

3)描述出一个文件属性中各个权限位所对应的用户

 

前三位对应文件所属用户,中间三位对应文件所属组的其他用户,后三位对应其他用户

 

4)说出rwx-,分别代表什么意思。

 

r可读,w可写,x可运行,-表示无

 

5Inode大小和总量的查看

 

查看Inode总量:df -i 或者 dumpe2fs /dev/sda1 | grep "Inode count"

查看Inode大小:dumpe2fs /dev/sda1 | grep "Inode size"

 

6)一个文件创建后至少要占用( inode )和( block 

 

7)用户的角色是通过(uid)和(gid)来识别的

 

8)文件类型有哪几种,分别描述出来

 

普通文件,目录,块设备,字符设备,FIFO文件,符号链接文件,socket文件

通过stat -c %F 或者file 后接文件名  可以查看文件的类型

 

9)创建硬链接的命令和创建软链接的命令:

 

创建硬链接:ln

创建软链接:ln -s

 

10)描述文件删除的原理

 

linux是通过link的数量来控制文件删除的,一般来说,每个文件都有两个link计数器:i_count和i_link,i_link是文件的硬链接数(磁盘引用计数器),i_count是文件被进程所调用的数(内存引用计数器),只有当i_count和i_link都为0了,文件才会被真正的删除;rm命令,删除的是文件的i_link数,实际就是将文件名到inode的链接删除了(当i_link即硬链接数等于0时,inode会被系统回收),此时,并没有删除文件的实体即block数据块,如果及时停止机器工作,数据是可以找回的,如果此时继续写入数据,那么新数据就有可能会被分配到被删除数据的block数据块,此时,文件就会被真正的回收了。

 

11)用sed命令结合正则表达式ip地址。

 

ifconfig eth0 | sed -rn ‘s/^.*dr:(.*)  B.*$/\1/p‘

 

12)用grep命令过滤掉空行的方法?

 

grep -v  "^$"

 

13)使/etc/passwd中的用户信息的第一列和最后一列调换位置(sed命令结合正则表达式作答)

 

sed -rn ‘s/(.*):(.*):(.*):(.*):(.*):(.*):(.*)/\7:\2:\3:\4:\5:\6:\1/p‘  /etc/passwd

 

14Oldboy文件中内容为

11

101

1001

10001

请用正则表达式的知识过滤出

101

1001

10001

至少用两种方法。

 

grep "10\{1,\}1" oldboy.log

egrep "10+1" oldboy.log

 

15)用扩展正则表达式的知识过滤题4中的oldboy文件,过滤出

11

 

egrep -v "10{1,}1" oldboy.log

 

16)用正则表达式的知识过滤题4中的oldboy文件,过滤出

11

101

 

grep "10\?1" oldboy.log

 

17)用扩展正则表达式的知识过滤题4中的oldboy文件,过滤出

10001

 

egrep "10{3}1" oldboy.log

18)用正则表达式的知识取出下面输出中的644

[[email protected]]# stat /etc/hosts

  File: `/etc/hosts‘

  Size: 158             Blocks: 8          IO Block: 4096   regular file

Device:803h/2051d      Inode: 129822      Links: 2

Access:(0644/-rw-r--r--)  Uid: (    0/   root)   Gid: (    0/   root)

Access:2015-11-01 16:02:01.144612271 +0800

Modify:2010-01-12 21:28:22.000000000 +0800

Change:2015-09-24 17:07:48.177129310 +0800

 

stat /etc/hosts | awk -F "/" ‘NR==4 {print $1}‘ | awk -F "0" ‘{print $2}‘

 

19)基础正则表达式都有哪些?

 

 

20)扩展正则表达式都有哪些?

 

以上是关于Linux基础知识题解答的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础知识题解答

几道java基础题 求大神解答

深入解答11道Python基础面试题

Java基础——HashMap源码分析及面试题解答

Android 大厂高频面试题及参考解答,知识脉络整理~~

大厂Java高级面试题汇总解答,超详细