大家好,今天跟大家奉献一下我面试90多家公司遇到的Linux的问题。

        面试中,一般都会遇到那个让你感觉到恶心的面试官问你不着边际的技术问题,所以,学好linux也是一项技能,让你在面试中,傲视群雄。

        在IT届,有个不成文的规矩,叫,面试造火箭,工作拧螺丝。先点赞,后观看。

        在那个刚失业的一个夏天,夏日炎炎,来到大家认为的大厂----某度。面试我的是一个大哥,笑眯眯的说:同学,来,咱们边走边聊。

        下面就是正式的Linux的话题,大家可要认证学习一下。

看你的简历中写的,你对Linux系统很熟悉呀,咱们聊聊你在工作中使用那些命令呀?至少说5个哈,但是说的越多越好哈。

恩,帅气的面试官,一般我们使用的命令有:ll,ls,ps,top,grep,tail,cat,cd,pwd,rm,chmod,mkdir,cp,mv,cat,find,tar。(这些命令大家可都得了解,知道,懂,不要把平时背的命令没有使用过的命令说出来,给自己埋坑,那就是真的完犊子了)

好了,看你知道也很多,你就把你解释一下刚刚说的那些命令在那些场景下使用,越仔细越好哈。

恩。。

首先说cd命令,他是切换目录使用的。比如说我们在Linux服务器查看日志,但是总的切换到日志目录下,这个时候我们可以使用cd命令。如cd /opt/log。 假如我们忘记了log文件夹下的文件名称,可以连续按2下tab键,就会出现log目录下的文件。

系统的log日志会有很多,一般按日期的形式来分文件夹。当我们切到log文件夹下,是用ll命令或者ls命令。(接下来,我们要说的就是ll和ls命令)

切到对应日期目录下,我们可以使用ll查看文件的属性,日期,权限。ll命令可以跟参数,比如说-a,就可以查看隐藏的文件。-h查看文件的大小。

这个时候,找到对应的文件,你就可以实时监控日志。监控日志使用的是tail -f 文件.log。

恩,当然如果想知道之前日志的报错情况,我们可以使用cat 文件.log | grep “关键字”。我在使用cat命令查看关键字的时候发现加上--color更直观(感觉你使用的还挺66的)。

这个时候,面试官可能会打断你,为啥呢?说实话,我也不知道,可能嫌弃自己说的命令比较普通。这个时候,他会以他工作中使用的场景来问你。

你们在工作中使用linux命令删除文件吗?怎么删除的呢?

**大家要记住,一般在Linux服务器使用的时候,rm这个命令要不是不让使用,要不你连使用的权限都没有。 ** 我们一般不会使用rm -rf来删除文件的,删除文件是比较有风险的,我们一般都是把不使用的文件mv移动到统一的目录下,Linux服务器使用定时任务来删除的。

服务器突然报警说cpu高了,你是怎么使用命令查看的呢?(他想问的是怎么查看一个进程占用cpu高的问题,top来了)

我们在工作中也遇到过,比如说某个服务突然占用cpu高,这个时候我们会使用top命令来查看。top命令是动态查看Linux中的所有进程运行的情况的。top命令中的参数:

d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。

p 通过指定监控进程ID来仅仅监控某个进程的状态。

q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。

S 指定累计模式

s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

i 使top不显示任何闲置或者僵死进程。

c 显示整个命令行而不只是显示命令名

找到占用cpu高的进程,让后kill掉。对了,top命令是可以看到PId的,使用kill -9 PID就可以了。

当然,我们也可以找到对应的pid 使用 ps aux | grep pid可以仔细的看一下他下面的对应的问题。

好,再问你个命令,我们要想修改一个文件的权限,使用chmod,这个命令你解释一下呗。

chmod命令是控制用户对文件的权限的命令,文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

对应的是0,1,2,3,4,5,6,7,我来解释一下哈。(我也不废话了,大家看下面的表吧)

#

权限

rwx

二进制

7

读 + 写 + 执行

rwx

111

6

读 + 写

rw-

110

5

读 + 执行

r-x

101

4

只读

r--

100

3

写 + 执行

-wx

011

2

只写

-w-

010

1

只执行

--x

001

0


---

000

实际的面试中,除了Linux,一般还会有shell。其实shell也没有想象中的那么难,他就是执行Linux命令的,但是,他也是一种语言。

也就是linux是个内核,shell是包裹着内核的一个东西,可以让用户通过shell来使用linux。