Shell面试基础

最新Linux 中关于Shell脚本面试问题大全 前言 我们为你的面试准备选择了 70 个你可能遇到的 shell 脚本面试问题及解答。了解脚本或至少知道基础知识对系统管理员来说至关重要,它也有助于你在工作环境中自动完成很多任务。在过去的几年里,我们注意到所有的 linux 工作职位都要求脚本技能。 推荐一下自己的linuxC/C++交流群:973961276!整理了一些个人觉得比较好的学习书籍、视频资料以及大厂面经视频共享在群文件里面,有需要的小伙伴可以自行添加哦!~ 1) 如何向脚本传递参数 ? 例子 : 显示文件名称脚本 .. 阅读详情
什么是shell

在Linux内核与用户之间的解释器程序

通常指/bin/bash

负责向内核翻译及传达用户指令

解释器有哪些?在哪里查看解释器?

/bin/sh /bin/bash /sbin/nologin

/bin/tcsh /bin/csh /bin/ksh

cat /etc/shells

脚本创建三步走?

1.新建文本文档

2.添加可执行的脚本语句

3.添加x执行权限

脚本的构成?

脚本声明(使用哪种解释器)

可执行语句

注释信息

脚本执行方法?

1,添加x权限

2,使用解释器直接执行脚本,新开启解释器

bash test1.sh //执行完毕后退出新开启的解释器

3,使用source直接执行脚本,使用当前解释器

source test1.sh //执行完毕后退出当前解释器

什么是变量?优点是什么?

以固定名称存放,可能会变化的值。

优点:提高脚本对任务需求,运行环境变化的适应能力

方便在脚本中重复使用

自定义变量的命名要求?

1.等号两边不要有空格

2.变量名由字母,下划线,数字组成,区分大小写

3.变量名不能以数字开头,不要使用关键字和特殊字符

shell****变量的类型?

### 1、环境变量

PWD:当前位置

USER:当前用户名

HOSTNAME:主机名

SHELL:当前用户的解释器

HOME:当前用户的家目录

UID:当前用户的UID号

PATH:系统命令所在地

PS:1一级提示符

PS2:二级提示符

### 2.位置变量

$1 $2 $3 …

### 3.预定义变量

$* 显示所有位置变量的值

$# 统计位置变量的个数

$$ 当前程序的进程号

$? 上一条指令的执行结果,0是正确,非0是异常

$0 显示脚本名称

4.自定义变量**env和set****的区别?

env:列出所有环境变量

set:列出所有变量等于:

请说出单引号、双引号和反撇号的区别**?**

单引号:用来界定范围,可以屏蔽特殊符号的作用

双引号:用来界定范围

反撇号:取命令执行的结果(也可用“$()”)

如何关闭和恢复回显?

关闭回显:stty -echo

恢复回显:stty echo

请写出重定向操作的含义(<、>、>>、2>、2>>、&>)

<:重定向输入,将文本输入来源由键盘改为制定的文件(导入,将文件里面的东西导出来)

> :重定向输出,将命令行的正常执行输出保存到文件,而不是直接显示在屏幕上(覆盖重定向)

> > 两个大于号:重定向输出,与>类似,但是追加而不是覆盖

2>:重定向错误,将命令行的执行出错信息保存到文件,而不是直接显示在屏幕上

2>>:重定向错误,与2>类似,但是追加而不是覆盖

&>:混合重定向,相当于>和2>,覆盖到同一个文件(正确错误都输出)

局部变量和全局变量的区别?

局部变量:只在当前shell环境中有效,无法在子shell环境中使用

全局变量:在当前shell和子shell环境中都有效,使用export可将局部变量声明为全局变量,export -n 取消全局属性

请写出进行数值比较时,等于、不等于、大于等于、小于等于、

大于、小于的操作符是?

等于:-eq

不等于:-ne

大于等于:-ge

小于等于:-le

大于:-gt

小于:-lt

请写出下列操作符所代表的含义

-e:判断对象是否存在

-d:判断对象是否为目录

-f:判断对象是否为文件

-r:判读对象是否有读权限

-w:判读对象是否有写权限

-x:判读对象是否有执行权限

请写出**"&&“、”||“以及";”**的含义

&& 前一个执行结果成功即可执行下条指令

|| 前一个执行结果失败即执行下一条指令

; 逻辑或,成立其中一个即可

break,continue,exit的区别?

break:跳出当前循环,执行循环后的语句

continue:跳过当前循环,执行下一个循环

exit:退出脚本,默认返回值是0

请写出字串截取的三种方式**,起始位置分别是?

${变量名:起始位置:长度};起始位置为0

expr substr “$变量名” 起始位置 长度;起始位置为1

echo $变量名 | cut -b 起始位置-结束位置;起始位置为1

请写出字串替换的格式?

替换一个:${变量名/old/new}

替换所有:${变量名//old/new}

所有为空(删除):${变量名//old/}

字串的删除方法?

字符串掐头去尾:

- 从左向右,最短匹配删除:${变量名#*关键词}

- 从左向右,最长匹配删除:${变量名##*关键词}

- 从右向左,最短匹配删除:${变量名%关键词*}

- 从右向左,最长匹配删除:${变量名%%关键词*}

请写出下列正则表达式所代表含义?

^ 匹配行首

$ 匹配行尾

[] 集合,匹配集合中的任意单个字符

[^] 对集合取反

. 匹配任意单个字符

*匹配前一个字符任意次数,不能单独使用

{n,m} 匹配前一个字符n到m次

{n} 匹配前一个字符n次

{n,} 匹配前一个字符n次以上

() 保留

\b 单词边界(空,空格,tab,特殊符号)| 或者

sed工具概述?

sed — 流式编辑器

非交互,基于模式匹配过滤和修改文本

逐行处理,并将结果输出到屏幕上

可以实现对文本的输出,删除,替换,复制,剪切,导入,导出等操作。

sed工具的基本选项?

-n(屏蔽默认输出,默认sed会输出读取文档的全部内容)

-r(让sed支持扩展正则)

-i(sed直接修改源文件,默认sed只是通过内存临时修改文件,源文件无影响)

常用动作指令:

p:打印行

d:删除行

s:字符串替换

sed工具的多行文本处理操作?

i: 在指定的行之前插入文本

a:在指定的行之后追加文本

c:替换指定的行

grep的选项?

-v 取反

-n显示行号

-i 忽略字母大小写

-c 统计匹配的行数

awk****的概述?

基于模式匹配检查输入文本,逐行处理并输出

通常用在shell脚本中,获取指定数据

单独使用时,可对文本数据做统计

awk常用内置变量?$0 文本当前行的全部内容

$1 文本的第1列

$2 文件的第2列

NR 文件当前行的行号

NF 文件当前行的列数(有几列)

AWK的处理时机?

BEGIN{ } 行前处理,读取文件内容前执行,指令执行1次

{ } 逐行处理,读取文件过程中执行,指令执行n次

END{ } 行后处理,读取文件结束后执行,指令执行1次

Linux面试题-shell shell试题 阅读详情

相关推荐

Shell 脚本面试题大全

参考答案: **#!/bin/bash。这被称为 Shebang 或 Hashbang。**它指定了用来执行该脚本的解释器路径,确保脚本使用正确的解释器运行,而不是依赖于用户的默认 Shell。参考答案:单引号内的所有字符都会原样输出,不会解析变量和转义字符。双引号会解析变量 ($variable) 和转义字符 (\n, \t 等)。反向单引号会解析执行其中的命令和变量,并把输出结果替换到字符串中。旧语法的命令替换(推荐用 $(…))。

flytalei的博客 1568

关于 Shell 脚本的经典十三问

来源:https://www.cnblogs.com/rustling/p/9833174.html1、为何叫做 Shell?我们知道计算机的运作离不开硬件,但却无法直接操作硬件,硬件的驱...

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大放送,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频 863

Shell脚本面试必备大全

Shell是一个命令行解释器,它作为用户与操作系统之间交互的桥梁。通过Shell,用户可以执行程序、管理文件系统以及启动网络服务等。它不仅能够解释简单的命令行输入,还可以处理更为复杂的脚本,让任务自动化变得轻而易举。在Shell编程中,变量是一个存储信息的简单方法。定义变量时不需要指定类型,可以直接通过赋值操作为其赋值。例如,,其中variable是变量名,value是变量内容。Shell中的变量名区分大小写。变量的作用域分为局部变量和环境变量。

weixin_42356162的博客 891

shell常用命令面试总结(涉及head、tail、cut、sort、wc命令用法、四种变量命名方式及特点、全局,本地,内置变量特点)(一)

今日状态:充充实实 打卡学习 星期一 星期二 星期三 星期四 星期五 星期六 星期日 成功 成功 成功 成功 成功 成功 成功 成功 shell常用命令 🌙1、head:默认获取文件前10行 head -3 文件:获取文件前3行内容 🌙2、tail:默认获取文件的后10行 1、tail -2 文件:获取文件的最后2行 2、tail -f 文件:跟踪日志 3、获取文件的第4到8行:head -8 file | tail 5 🌙3、cut:截切、取出文本中指定的列、默认以空格或者tab键..

python全栈 3654

Shell编程常见面试题(待续)

Shell编程常见面试题(待续) 1、使用Linux命令查询file中空行所在的行号 awk '/^$/{print NR}' file.txt 2、有文件cj.txt内容如下,使用Linux命令计算第二列的和并输出 张三 70 李四 80 王五 90 cat cj.txt | awk -F '{sum+=$2}END{print sum=sum}' [root@sandbox-hdp ~]# cat cj.txt | awk -F '{sum+=$2}END{print sum=sum}' sum=240 3、Shell脚本里如何检查一个文件是否存在?如果不存在该如何

基于Hadoop的NBA篮球球员大数据分析与可视化系统大数据分析系统python的项目(源码+lw+部署文档+讲解等)

本系统以 Hadoop 为基础,致力于对 NBA 篮球球员的海量数据进行深入分析与可视化呈现。它能够收集来自多个数据源的丰富数据,包括球员比赛统计数据、身体素质数据、技术特点数据等。利用 Hadoop 的分布式存储和计算能力,对这些大规模数据进行高效处理。通过数据分析算法,挖掘球员的潜在价值和特点,如球员的得分能力趋势、篮板球效率变化、不同位置球员的技术差异等。同时,借助先进的可视化技术,将分析结果以直观的图表、图形等形式展示出来。教练和球队管理层可以通过可视化界面清晰地了解球员的综合表现和发展态势,从而制

QQ3359892174的博客 1314

Shell面试题

Shell是一个命令行界面(CLI)用于访问操作系统的服务。它是用户与操作系统之间交互的界面,允许用户执行程序、管理文件、以及操作系统上运行的其他任务。在Unix和类Unix系统(如Linux)中,Shell通常指的是一个程序,它接受从键盘输入的命令,然后解释这些命令,传递给操作系统的内核执行。Shell也提供了一个环境,用户可以在其中执行脚本,这些脚本是一系列命令的集合,通常用来完成特定的任务。Shell不仅仅是命令解释器,它也是一种强大的编程语言。

weixin_47560724的博客 1625

STM32F429移植LVGL9.3.0:从源码配置到双缓冲优化实战

本文详细介绍了如何在STM32F429平台上移植LVGL 9.3.0图形库,涵盖从源码准备、工程配置、显示驱动适配到双缓冲优化等关键步骤。重点解析了利用STM32F429的硬件特性实现高效内存管理和流畅显示性能的实战技巧,为嵌入式GUI开发提供完整解决方案。

q6r7s8t9的博客 1134

关于shell脚本的基础

Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell...

congjiehua7953的博客 507

红日-VulnStack靶场-ATT&CK(二):从Weblogic漏洞到域控渗透实战

本文详细解析了红日安全团队VulnStack靶场中从Weblogic漏洞到域控渗透的完整攻击链。通过实战演示Weblogic反序列化漏洞利用、Cobalt Strike持久化控制、域内信息收集及PsExec横向移动等关键技术,复现了企业内网渗透的典型场景,并提供了防御建议。

tgb3456789的博客 936

基于物联网的门禁与考勤系统(阿里云)_81

本课题设计的基于物联网的门禁与考勤管理系统,结合现代信息技术,利用指纹识别、射频卡、密码输入和远程控制等多种开锁方式,提升门禁系统的安全性和灵活性;同时,通过物联网平台进行数据上传和远程管理,极大提高了管理效率。通过智能化的考勤功能,系统可以实时记录员工的出入情况,并通过云平台进行远程查询和管理,推动门禁与考勤管理的数字化、智能化和高效化。

1万+

面试必备:经典的 Shell 十三问!

1. 为何叫做shell? 我们知道计算机的运作不能离开硬件,但使用者却无法直接操作硬件,硬件的驱动只能通过一种称为操作系统(OS,Operating System)的软件来管控。linux严格来说只是一个操作系统,我们称之为内核(kernel)。

伤心的辣条 2105

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

a_zxswer的博客 190

面试常用shell脚本_基础被问到的24道shell脚本面试题精心汇总

虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到shell 脚本的问题,它有助于你在工作环境中自动完成很多任务。如下是一些面试过程中,经常会遇到的 shell 脚本面试问题及解答:Q:1 Shell脚本是什么、它是必需的吗?答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可...

weixin_39693950的博客 415

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 123

harbor x509: certificate signed by unknown authority【20251222】

本教程通过「合并证书链(服务器端)+ 预置根 CA(客户端)」彻底解决了自签名证书的 x509 错误,同时集成了 Trivy 漏洞扫描,实现了 Harbor 从搭建到实用的全流程。证书链合并是服务器端的关键,确保客户端获取完整信任路径;客户端需同时配置「系统信任库 + Docker 信任目录」,避免 Docker 独立信任机制导致的问题;所有 IP 需保持一致(Harbor 配置、证书绑定、客户端访问),是避免错误的基础。

老韩的Linux云计算架构师进阶之路 681

必会的 24 道 Shell 脚本面试题

程序员的成长之路互联网/程序员/成长/职场关注阅读本文大概需要 4 分钟。原文出处:linuxtechi译文出处:LCTT译文链接:http://linux.cn/...

良月柒 6238

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【shell面试题】

Shell面试题汇总 一、选择 1、改变bash的提示符实际上就是改变变量() A:HOME B:PWD C:PS1 D:PS2 2、 在shell脚本中,用来读取文件内各个域的内容并将其赋值给shell变量的命令是______ A:fold B:join C:tr D:read 3、 从后台启动进程,应在命令的结尾加上符号() A:& B:@ C:# D:$ 4、 不是shell具有的功能和特点是() A:管道 B:输入输出重定向 C:执行后台进程 D:处理程序命令 5、 退出交互模式的shell

小小Python的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

shell常见面试题

如下是一些常见的Shell脚本面试问题。 1. 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参数 :$2 例子 : 脚本会复制文件(arg1) 到目标地址(arg2) ./copy.sh file1.txt /tmp/ cat copy.sh #!/bin/bash cp $1 $2 2. 如何计算传递进来的参数 ? $# 3. 如何检查之前的命令是否运行成功? $? 4. 如何获取文件...

qq_43193797的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

linux常用shell命令面试,面试Linux运维一定会问到的Shell脚本这24个问题

Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践敕令1固然如今Python在运维工作中已经应用很广泛,然则很多企业袈溱找Linux云计算工程师的时刻照样会问到 shell 脚本的问题,它有助于你在工作情况中主动完成很多义务。Q:7 在shell脚本中若何比较两个数字 ?如下是一些面试过程中,经常会碰到的 shell 脚本面试问题及解答:Q:5 s...

weixin_28744613的博客 909

一些经典的 Shell 脚本面试问题

如下是一些面试过程中,经常会遇到的 shell 脚本面试问题及解答。 了解脚本或至少知道基础知识对测试工程师来说至关重要,它也有助于你在工作环境中自动完成很多任务。 你会发现,现在多数的测试工程师招聘要求中,都需要 linux基础技能,及基本的Shell脚本技能。 如下是一些常见的Shell脚本面试问题。 1. 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参数 :$2

鹿鹿鹿 1万+

linux常用shell命令面试,Linux运维人员都应该知道的Linux Shell 脚本面试题

今天小编要跟大家分享的文章是关于Linux运维人员都应该知道的LinuxShell脚本面试题,Linux运维人员是很多企业都需要的,很多企业在找Linux云计算工程师时还会问到shell脚本的相关问题,今天小编就来跟大家分享一些在面试时经常会遇到的shell脚本问题,让我们一起来看一看吧!1、 什么是默认登录shell,如何改变指定用户的登录shell答:在Linux操作系统,“/bin/bash...

weixin_42515136的博客 1011

精心汇总的 24 道 shell 脚本面试题

Linux编程点击右侧关注,免费入门到精通!作者丨linuxtechihttp://linux.cn/article-5311-1.html虽然现在Python在运维工作...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 1974

24 道 shell 脚本面试题

虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到shell 脚本的问题,它有助于你在工作环境中自动完成很多任务。 如下是一些面试过程中,经常会遇到的 shell 脚本面试问题及解答: Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用...

KHOST的博客 552

面试shell常见问题(内含shell相关文档)

shell常见面试题以及入门到精通资料

qq_42216071的博客 1103
上一篇: 网络方面面试题
下一篇: 学习Python的day01
普通网友
博客等级 码龄8年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值