Linux Shell脚本相关的面试问题

linux 的浩瀚无垠,使人总能每次都提交与众不同的内容。这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。 在此,作为 shell 脚本的附加内容,在本文中我们将从面试的角度解读与 linux shell 相关的问题。1、在 shell 脚本成功执行前,如何中断脚本执行?解答:我们需要使用exit命令来实现以上描述的情境。exit命令被强制输出非0值时,脚本会报错并退出。在 unix 环境下的 shell 脚本中,0值表示成功执行。因此,在脚本终止前执行一个不带引号的exit -1命令将使脚本中止。 #!/bin/bashecho helloexit -1echo bye 保存文件并执行。 # sh linuxmi.shhellolinuxmi.sh:行3: exit-1: 未找到命令bye
从上面的脚本中可以清楚地看到,在 exit -1 命令前,脚本执行得很好。
2、如何使用 linux 命令来移除文件头?
解答:当我们需要删除文件中的指定行时,sed命令可以用来解决该问题。
这个是用来删除文件头(文件的首行)的正确命令。
# sed '1 d' file.txt 好吧,其实sed命令内建的-i开关就可以干这活,就不需要重定向符了吧。
# sed -i '1 d' file.txt  
3、你怎么检查一个文本文件中某一行的长度?解答:sed命令也可以用来查找文本文件中的某一行或者检查其长度。sed -n ‘n p’ file.txt可以解决,这里n表示行号,p打印出匹配内容(到标准输出),该命令通常与-n命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给wc命令来计算。# sed –n 'n p' file.txt | wc –c 要得到文本文件‘linuxmi.txt’的第五行的长度,运行如下命令:
# sed -n '5 p' linuxmi.txt | wc -c
4、可以在 linux 系统上查看到所有非打印字符吗?你是怎么做到的?解答:可以。可以在 linux 中查看所有的非打印字符。要实现上面所讲的方案,我们需要vi编辑器的帮助。怎样在vi编辑器中显示非打印字符?打开vi编辑器。先按[esc]键,然后按:进入到vi编辑器的命令模式。最后,从 vi 编辑器的命令界面输入set list命令并执行。 注: 这种方式可以查看文本文件中的所有非打印字符,包括 ctrl+m(^m)。
5、假如你是一个员工组的团队领导,为xyz公司工作。公司要求你创建一个dir_xyz目录,让该组成员都能在该目录下创建或访问文件,但是除了文件创建者之外的其他人不能删除文件,你会怎么做?解答:这真是个有趣的工作方案。好吧,上面所讲的方案,我们需要通过下面的步骤来实施,这简直就是小菜一碟。 # mkdir dir_xyz# chmod g+wx dir_xyz# chmod +t dir_xyz 第一行命令创建了一个目录(dir_xyz),上面的第二行命令让组(g)具有‘写’和‘执行’的权限,而上面的最后一行命令——权限位最后的‘+t’是‘粘滞位’,它用来替换‘x’,表明在这个目录中,文件只能被它们的拥有者、目录的拥有者或者是超级用户root删除。
6、你能告诉我一个linux进程经历的各个阶段吗?
解答:一个 linux 进程在它的一生中,通常经历了四个主要阶段。
这里是linux进程要经历的四个阶段。
等待:linux进程等待资源。
运行:linux进程当前正在执行中。
停止:linux进程在成功执行后或收到杀死进程信号后停止。
僵尸:如果该进程已经结束,但仍然留在进程表中,被称为‘僵尸’。
7、linux中cut命令怎么用?
解答:cut是一个很有用的 linux 命令,当我们要截取文件的指定部分并打印到标准输出,当文本区域以及文件本身很大时,这个命令很有用。
例如,截取txt_linuxmi文件的前10列。
# cut -c1-10 txt_linuxmi
要截取该文件中的第二,第五和第七列。
# cut -d;-f2 -f5 -f7 txt_linuxmi  
8、cmp和diff命令的区别是什么?解答:cmp和diff命令用来获取相同的东西,但各有侧重。
diff命令输出为了使两个文件一样而应该做的修改。而‘cmp’命令则将两个文件逐字节对比,并报告第一个不匹配的项。9、可以用echo命令来替换ls命令吗?解答:可以的。‘ls’命令可以用‘echo’命令来替代。‘ls’命令列出目录内容,从替换上述命令的角度讲,我们可以使用‘echo *’,两个命令的输出完全一样。10、你可能听过 inode 吧。你能简要描述一下 inode 吗?解答:inode 是一个数据结构,在 linux 上用于文件标识。每个文件在 unix 系统上有一个独立的 inode 和一个唯一的 inode 号。


区块链为供应链金融的发展提供了强大的技术支撑
苹果正在积极探索iPhone手机将搭配环绕式柔性屏的可能性
手机影像内卷几时休?看看荣耀70系列的行与思
如何根据连接器的标准来选择所需要的连接器
汽车电子自动化优秀企业,瀚川智能或存客户过于集中的风险
Linux Shell脚本相关的面试问题
华为或可以不受美国的影响但模拟芯片技术不足
人工智能服务的发展历程
Android 12 增加了隐私指示器功能和防追踪功能
智慧工厂运维智能管理解决方案
纳芯微单通道隔离式栅极驱动器NSi66x1A和NSi6601M发布
基于启明RA6M5的物联网居家环境健康监控设备设计
这几家仪器企业上榜“中国专利奖”,牛在哪儿?
这个售价245美元的碗你会买吗?
浅谈ZigBee无线标准与XBee ZigBee模块
三星也涨价!Galaxy S8售价或6000元起
电容式触摸的核心是什么 电容感应的两种类型介绍
传感财经:3D传感概念报涨,MEMS传感器概念报涨,红外传感器概念报涨
由“X”引发的猜想:AMD存二心,ARM有机可乘
采用S3C44B0芯片实现基于步进电机控制的微波频率自动测量系统设计