首页 > 系统相关 >shell(一)

shell(一)

时间:2024-05-22 10:44:34浏览次数:11  
标签:shell grep 命令 sed awk file 文本

shell(一)

单选题

1、在bash中,快捷键【Ctrl+Z】的作用是什么?
A、中止前台任务
B、给当前文件加上.eof
C、将前台任务转入后台
D、注销当前用户

2、使用sed命令删除文件file中的所有文本行开头的空格,下列命令正确的是。
A、sed -r 's/^\s+//g' file
B、.sed -r '/^./s*/ //g' file
C、.sed -r 's/[1]//g' file
==D、.sed -i 's/[2]
//g' file==

3、使用grep命令搜索file中所有不包含“itcast”的文本行,则下列命令中正确的是。
A、grep -x "itcast" file
B、.grep -r "itcast" file
C、.grep -h "itcast" file
D、.grep -v "itcast" file

4、在bash中,在一条命令后添加”1>&2“的作用是什么?
A、标准错误输出重定向到标准输入
B、标准输入重定向到标准错误输出
C、标准输出重定向到标准错误输出
D、标准输出重定向到标准输入

5、关于重定向,下列描述中错误的是。
A、Linux系统中的输入输出有标准输入.标准输出.标准错误三种
B、输入重定向符号为>.输出重定向和错误重定向的符号为<
C、重定向标准错误时,文件描述符不可省略
D、若将输出重定向到文件,可以使用>>符号进行追加

6、下列选项中,哪一个符号是管道符号。
A、``
B、.$
C、.&
D、.

7、下列哪一项不是Shell提供的环境变量。
A、PATH
B、.HOME
C、.PWD
D、.NAME

8、使用grep搜索file文件,查找包含字符"e"开头,字符"o"结尾的字符串的文本行,下列命令中正确的是。
A、grep“e…o" file
B、.grep ^e $o file
C、.grep *e &o file
D、.grep -x *e $o file

9、在文件中查找显示所有以”*“开头的行,下列命令中正确的选项是?
A、find * file
B、.wc -l *
C、.grep -n * file
D、.grep * file

10、下列选项中,哪一个文件可用于查看系统支持的Shell类型。
A、/etc/shells
B、./bin/sells
C、./etc/bin/shells
D、./user/bin/shells

11、下列哪一项不是环境变量PS1所包含的内容。
A、\u
B、.\h
C、.\s
D、.\w

12、下列选项中哪一项不是awk提供的关系运算符。
A、>
B、. =
C、.==
D、.~

多选题

13、使用grep命令搜索/etc/passwd文件中有多少行包含”nologin“,则下列命令中正确的是。
A、grep /etc/passwd -c 'nologin'
B、.grep -c 'nologin' /etc/passwd
C、.grep -c /etc/paawd 'nologin'
D、.grep 'nologin' -c /etc/passwd

判断题

14、使用“;”连接符间隔的命令,会按照先后次序依次执行。
参考答案:对

15、sed编辑命令”=“用于为文本赋值。
参考答案:错

16、正则表达式中“+”符号对前面字符至少要匹配一次。
参考答案:对

17、sed一次只能处理一个文本编辑任务。
参考答案:错

18、awk处理文本时,如果没有指定匹配模式,则默认匹配所有数据。
参考答案:对

19、用户不能自定义环境变量。
参考答案:错

填空题

20、Shell​ 是Linux用户与内核交互的中间层。

21、Shell中全是使用数字命名的变量是 位置变量​ 。

22、可以使用sed命令 sed -i '/^$/d' file​ 删除文件file中的空行。

23、CentOS默认的Shell是 Bash ​。

24、有一个文件file,使用awk命令显示第二列元素,以“:”为分隔符,则命令为 awk -F ':' '{print $2}' file​ 。

25、有一个文件file,使用sed命令 sed -i 's#echo#ECHO#g' file​ 将文件中的”echo“替换为大写的”ECHO“。

26、环境变量 SHELL ​用于保存当前正在使用的Shell。

简答题

27、请简述一下Shell中常用的通配符及它们的含义。

我的答案:

Shell的通配符一般用于数据处理或文件名匹配,常用的通配符如下所示:

  1. * :与零个或多个字符匹配。
  2. ? :与任何单个字符匹配。
  3. [] :与[]中的任一字符匹配。
  4. [!] :与[]之外的任一字符匹配。

28、请简述一下sed和awk的区别。

我的答案:
sed(Stream Editor)和 awk 是两种在Unix和类Unix系统中广泛使用的文本处理工具,它们都可以用来对文本进行搜索、替换、修改等操作,但是它们的设计哲学和功能特点有所不同。

  1. 设计目的和哲学:

    sed 是一个流编辑器,它主要设计用来对文本进行基本的文本转换操作,如搜索和替换。sed 通常用于执行简单的文本替换,或者对文本进行全局性的更改。

    awk 是一个强大的文本处理语言,它结合了文本搜索和替换的能力以及编程语言的功能,如变量、数组、条件语句和循环。awk 适合于对文本数据进行更复杂的操作,特别是需要对数据进行排序、统计、格式化等操作时。

  2. 功能和复杂性:

    sed 的功能相对简单,主要是基于行的搜索和替换,以及一些基本的文本操作,如插入、删除行等。

    awk 提供了更丰富的功能,它能够对文本进行基于列的分割和处理,支持复杂的模式匹配和操作,可以进行数学计算,以及执行用户定义的函数。

  3. 编程能力:

    sed 有一定的编程能力,但它主要是一行命令的集合,执行预定义的编辑操作。

    awk 实际上是一种完整的编程语言,它支持条件判断、循环、数组、函数等编程结构,可以用来编写复杂的文本处理脚本。

  4. 使用场景:

    sed 通常用于简单的文本转换任务,如自动替换文本中的特定字符串,或者在文本中插入或删除特定的行。

    awk 适用于需要对文本数据进行更复杂处理的场景,如报告生成、数据分析和统计、文本格式转换等。

所以,sed 更适合于快速的文本转换和简单的文本编辑任务,而 awk 提供了更强大的数据处理能力,适合于复杂的数据分析和文本处理任务。


  1. ↩︎

  2. ↩︎

标签:shell,grep,命令,sed,awk,file,文本
From: https://www.cnblogs.com/aslwr/p/18205707/shell-1-1h4e56

相关文章

  • Shell阶段04 shell流程之case语句, 服务启动停止脚本(rsync, nginx), shell加锁机制
    1.流程控制语句之case语句case主要作用是对程序的选择,循环等操作#语法:case变量in变量值1)命令序列;;#命令序列结束符变量值2)命令序列;;变量值3)命令序列;;变量值N)命令序列......
  • powershell7升级笔记
    https://learn.microsoft.com/zh-cn/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3#msi安装powershell7法一:推荐MSI安装方式,全打钩,可以自动配置环境变量和右键菜单https://learn.microsoft.com/zh-cn/powershell/scripting/install/i......
  • 在 Windows 上运行,如何以管理员身份运行你的命令提示符或 PowerShell
    在Windows上以管理员身份运行命令提示符或PowerShell是非常简单的过程。以下是具体步骤:以管理员身份运行命令提示符:在开始菜单搜索框中输入cmd,然后从搜索结果中找到并点击命令提示符。右键点击命令提示符图标,然后在弹出的菜单中选择以管理员身份运行。以管理员身份......
  • shell脚本测试
    1、$#:表示执行脚本传入参数的个数2、$*:表示执行脚本传入参数的列表(不包括$0)3、$$:表示进程的id;Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)4、$!:Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)5、$@:表示获取执行脚本传入的所有参数6、$0:表示执行......
  • Shell编程之免交互
    目录1.HereDocument免交互2.HereDocument常规用法(1)免交互执行命令(2)免交互创建并编辑文件内容(3)tee3.Expect免交互4.编写expect免交互脚本步骤5.read1.HereDocument免交互使用I/O重定向的方式将命令列表提供给交互式程序标准输入的一种替代品命令<<标记...内容 #标记之......
  • PowerShell脚本,可以用于自动加入或退出域:BAT批处理脚本,可以用于自动加入或退出域:
    PowerShell中创建网页版的自动加入或退出域脚本,您可以使用PowerShellWebAccess(PWA)功能。PWA允许您在Web浏览器中通过安全的HTTPS连接远程运行PowerShell命令,并可与Windows身份验证一起使用。以下是一个示例脚本,可用于创建PWA网页版的自动加入或退出域:powershellCopyCode......
  • 【工具使用】【Shell脚本】【gitlab】下拉所有的仓库代码
    1 前言电脑重置了或者新的项目代码,仓库里二三十个,一个一个拉属实有点拉跨,今儿空了整了个脚本,可以拉下所有的仓库代码。2 前置需要装一个解析json的,windows的话可以直接下载:下载,mac的话可以再官网下载:官网地址。然后加入到PATH下,效果如下:git上新建个access_token,下......
  • SHELL编程
    Shell是一种用户与操作系统内核进行交互的界面。它是命令行解释器,用户通过输入命令,Shell解释并执行这些命令,从而操作系统中的各种功能得以实现。脚本需要以#!/bin/bash开头,并赋予执行权限脚本的执行方式:赋予脚本执行权限chmodu+xhello.sh,然后通过相对路径./hello.sh或通......
  • stm32配合xshell串口输入
    前言通过xshell对stm32f103c8t6芯片进行串口调试。最近发现xshell也可以进行串口调试,但是在数据的输入上会有一些问题。因为正常的串口调试助手都是统一输入,直接发送,但是xshell不同,正常情况下是字符逐一输入的。所以在进行串口调试时,需要逐个字符分析计算,最后统一处理。用xsh......
  • Linux-Shell-编程训练营-全-
    LinuxShell编程训练营(全)原文:zh.annas-archive.org/md5/65C572CE82539328A9B0D1458096FD51译者:飞龙协议:CCBY-NC-SA4.0前言在LinuxShellScriptingBootcamp中,您将首先学习脚本创建的基础知识。您将学习如何验证参数,以及如何检查文件的存在。接着,您将熟悉Linux系统......