当前位置: 首页 > 科技观察

LinuxShellScripting10个实用的“面试题及答案”

时间:2023-03-15 11:14:34 科技观察

先来一句日常问候。Linux的浩瀚使得每次提交不同的东西成为可能。我们在“The-Tecmint-Team”的工作是为我们的读者提供一些独特的内容,这些内容不仅对他们的职业有用,而且可以丰富他们的知识。在这里,我们试图做到这一点,让我们的读者和朋友来判断我们有多成功。我们为各种用户提供了很多关于shell脚本语言的教程和面试问题,您可以访问以下链接阅读这些文章。Shell脚本系列面试问答系列这里,作为Shell脚本的附加内容,本文将从面试的角度解读LinuxShell相关问题。1、shell脚本执行成功前,如何中断脚本执行?答:我们需要使用'exit'命令来实现上述场景。当'exit'命令被强制输出非零值时,脚本会报错并退出。在Unix环境下的shell脚本中,值为0表示执行成功。因此,在脚本终止之前执行不带引号的“exit-1”命令将中止脚本。例如,创建以下名为“anything.sh”的脚本。#!/bin/bashecho"Hello"exit-1echo"bye"保存文件并执行。#shanything.shHelloexit.sh:3:exit:Illegalnumber:-1从上面的脚本可以清楚的看到,脚本一直执行的很好,直到exit-1命令。2、如何使用Linux命令去除文件头?答:当我们需要删除文件中的指定行时,可以使用'sed'命令来解决问题。这是删除文件头(文件的第一行)的正确命令。#sed'1d'file.txt上面命令的问题在于它在标准输出设备上输出文件的内容而没有第一行。为了将输出保存到文件,我们需要使用重定向运算符来帮助您将输出重定向到文件。#sed'1d'file.txt>new_file.txt好吧,其实sed命令内置的'-i'开关就可以完成这个工作,所以不需要重定向字符。#sed-i'1d'file.txt3.如何检查文本文件中一行的长度?解决方案:“sed”命令也可用于在文本文件中查找一行或检查其长度。'sed-n'np'file.txt'即可解决,其中'n'代表行号,'p'打印匹配的内容(到标准输出),该命令通常与-n命令配合使用行选项。那么,如何获得长度计数呢?显然,我们需要将输出通过管道传递给“wc”命令进行计算。#sed–n'np'文件.txt|wc-c要获取文本文件“tecmint.txt”第五行的长度,请运行以下命令:#sed-n'5p'tecmint.txt|厕所-c4。在Linux系统上是否可以看到所有非打印字符?你是怎么做到的?答:是的。所有非打印字符都可以在Linux中查看。要实现上述解决方案,我们需要“vi”编辑器的帮助。如何在“vi”编辑器中显示非打印字符?打开vi编辑器。先按[esc]键,再按':'进入vi编辑器的命令模式。***,从‘vi’编辑器的命令界面输入setlist命令并执行。注意:这样可以查看文本文件中的所有非打印字符,包括ctrl+m(^M)。5.假设你是一个员工组的组长,在xyz公司工作。公司要求你创建一个'dir_xyz'目录,让这个组的所有成员都可以在这个目录下创建或访问文件,但是除了文件创建者之外没有人可以删除文件,你会怎么做?答:这是一个非常有趣的工作解决方案。好了,上面提到的解决方案,我们需要执行下面的步骤,简直是小菜一碟。#mkdirdir_xyz#chmodg+wxdir_xyz#chmod+tdir_xyz***linecommandcreatesadirectory(dir_xyz),上面的第二行命令给了组(g)'write'和'execute'的权限,并且上面最后一行命令——权限位***的'+t'是'stickybit',用来代替'x',表示在该目录下,文件只能由其所有者访问,目录所有者或超级用户root删除。6.你能告诉我Linux进程经历的阶段吗?答:Linux进程在其生命周期中通常会经历四个主要阶段。以下是Linux进程经历的四个阶段。Waiting:Linux进程正在等待资源。正在运行:Linux进程当前正在执行。停止:Linux进程在成功执行后或收到终止进程的信号后停止。Zombie:如果进程已经结束但仍保留在进程表中,则称为“僵尸”。7、linux下的cut命令如何使用?答:'cut'是一个非常有用的Linux命令,当我们想截取文件的指定部分并将其打印到标准输出时,这个命令在文本区域和文件本身非常大的时候很有用。例如,捕获“txt_tecmint”文件的前10列。#cut-c1-10txt_tecmint截取文件中的第二、第五和第七列。#cut-d;-f2-f5-f7txt_tecmint8.'cmp'和'diff'命令有什么区别?解决方案:'cmp'和'diff'命令用于获取相同的东西,但侧重点不同。'diff'命令输出为使两个文件相同而应进行的更改。'cmp'命令逐字节比较两个文件并报告第一个不匹配的地方。9.'ls'命令可以用'echo'命令代替吗?答:是的。“ls”命令可以用“echo”命令代替。'ls'命令列出目录的内容。从替换上面命令的角度来看,我们可以使用'echo*',这两个命令的输出是完全一样的。10.你可能听说过inode。你能简单描述一下inode吗?答:“inode”是Linux上用于文件识别的“数据结构”。每个文件在Unix系统上都有一个独立的“inode”和一个“唯一”的inode编号。让我们收工。在下一篇文章中,我们将讨论其他一些有趣且信息丰富的面试问题。在那之前,不要逃跑,去Tecmint.com并且不要忘记在下面的评论部分给我们一些有价值的反馈。原文链接:http://linux.cn/article-3101-1.html