liunx作业笔记1

一、选择题(每小题 2 分,共 20 分)

1、下列变量命名为Shell中无效变量名的是( D )

|---------|---------|
| A、v_ar1 | B、var1 |
| C、_var | D、*var |

变量名以字母开头,包含下划线和数字。

2、关于expr命令的使用下列命令中得数不等于14的是( C )

|--------------|---------------|---------------|---------------|
| A、expr 6 + 8 | B、expr 28 / 2 | C、expr 2 * 7 | D、expr 16 - 2 |

echo $(expr 6 + 8)

3、以下不属于Shell的非交互式使用特点的是( C )

|-----------------|--------------|
| A、需要提前设计、智能化难度大 | B、批量执行、效率高 |
| C、逐条解释执行、效率低 | D、方便在后静悄悄地运行 |

逐条解释执行的特点适用于Shell的交互式使用,而非交互式使用时,Shell脚本可以批量执行命令,提高效率。

4、下列使用test命令算术测试实例输出结果为 No 的是( B )

|--------------------------------------------------|--------------------------------------------------|
| A、test 5 -eq 5 && echo Yes || echo No | B、test [ 5 -gt 10 ] && echo Yes || echo No |
| C、test [ 5 -le 10 ] && echo Yes || echo No | D、test 5 -ne 10 && echo Yes || echo No |

test 5 -eq 5 && echo Yes || echo No:-eq 表示相等,所以 test 5 -eq 5 返回真(true)

5、下列结构属于if单分支结构的是( B )

|-------------------------|------------------|------------------|--------------------------------|
| A、if...elif...else...fi | B、if...else...fi | C、if...then...fi | D、if...elif...elif...else...fi |

if...elif...else...fi:这是一个多分支结构,包含了 elif(else if)和 else 分支。

if...else...fi:这是一个单分支结构,只包含了 if 和 else 分支,没有额外的 elif。

if...then...fi:这是一个基本的单分支结构,只有 if 和 then,以及结束符 fi。

if...elif...elif...else...fi:这是一个多分支结构,包含了多个 elif 和一个 else 分支。
基本单分支(if...then 结构):不包含 else 分支,因此只有一种执行路径:条件成立时执行 then 后面的命令。

6、在正则表达式中元字符句点 "."使用"360."不可能匹配的字符是( B )

|----------|--------|
| A、3600 | B、360 |
| C、360abc | D、3606 |

360后面要跟一个字符

8、下列选项中,在正则表达式中哪个元字符表示匹配一个或多个重复的前一个字符?( B )

|-----|------|
| A、? | B、+ |
| C、$ | D、* |

?:匹配零个或一个重复的前一个字符。

+:匹配一个或多个重复的前一个字符。

$:匹配输入的结尾位置。

*:匹配零个或多个重复的前一个字符。

  1. 下列选项属于在Shell脚本中,正确函数定义的是?( A )

|------------------------|
| A、 my_function() {} |
| B、 func my_function {} |
| C、def my_function {} |
| D、fn my_function() {} |

10、下列选项中,哪个sed命令用于替换单词"apple"为"orange"?( B )

|--------------------|-------------------|
| A、 g/apple/orange/ | B、s/apple/orange/ |
| C、 r/apple/orange/ | D、d/apple/orange/ |

sed

1.在Shell脚本中,用来检查文件是否存在的条件测试符是_____-e________。

复制代码
#!/bin/bash

file="/a.txt"

if [ -e "$file" ]; then
    echo "文件 $file 存在."
else
    echo "文件 $file 不存在."
fi

2.Shell脚本中,可以使用read命令的______-s_____选项来隐藏用户的输入。

复制代码
#!/bin/bash

echo "请输入密码:"
read -s password

echo "密码已输入,长度为 ${#password}。"

3.如何只用 echo 命令替换字符串的一部分 ?

答: 用sed ;例如:echo "Hello, World" | sed 's/World/Universe/'

4.计算本地用户数目 ?wc -l /etc/passwd;这条命令将统计/etc/passwd文件中的行数,每一行对应一个用户的信息。在Unix和类Unix系统中,/etc/passwd文件包含了系统中所有用户的基本信息。

5.如何列出第二个字母是 a 或 b 的文件 ?

复制代码
ls | grep -E '^.a|^.b',注意ls是在当前目录下操作的

6.如何将整数 a 加到 b 并赋值给 c ?

复制代码
c=$((a + b))再echo $c
复制代码
重写这个命令,将输出变量转换为复数: item="car"; echo "I like $item" ?

     答:item="car";echo "I like ${item}s"
复制代码
哪个命令将命令替换为大写 ?
答:用tr例如:echo "hello world" | tr 'a-z' 'A-Z'

不用 wc 命令如何计算字符串中的单词数目 ?
#!/bin/bash   脚本解释器为 Bash
string="This is a sample string."
#这一行将字符串 $string 按照空格分割成数组 words,删除多余的空格,数组的每个元素就是一个单词。
words=($string)
# ${#words[@]} 是获取数组长度的方式,即数组 words 中单词的个数。
echo "Number of words: ${#words[@]}"  



如何去除字符串中的所有空格 ?
#!/bin/bash
str="Hello   World"
#'s/ //g' 中的 s 表示替换操作;/ / 是要替换的内容,这里是空格;
#/g 表示全局替换,即一次处理所有匹配;
所以,sed 's/ //g' 的作用是将字符串中的所有空格替换为空,即去除所有空格。
xiaoxiaowang=$(echo $str | sed 's/ //g')
echo $xiaoxiaowang

为新装的客户机配好Yum仓库。
--软件源位于 file:///misc/cd
--通过脚本建立 /etc/yum.repos.d/rhel6.repo 文件
#!/bin/bash
# 定义Yum仓库配置内容
cat <<EOF > /etc/yum.repos.d/rhel6.repo
[rhel6]       软件源的名称
name=Red Hat Enterprise Linux 6        软件源的描述
baseurl=file:///misc/cd
enabled=1         这表示启用该软件源。1 表示启用,0 表示禁用。
gpgcheck=0   gpk检验
EOF
# 确认仓库文件创建成功
if [ -f /etc/yum.repos.d/rhel6.repo ]; then
    echo "/etc/yum.repos.d/rhel6.repo 文件已成功创建。"
else
    echo "创建 /etc/yum.repos.d/rhel6.repo 文件失败。"
fi
相关推荐
汇能感知3 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun4 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
茯苓gao4 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾4 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT5 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
ST.J5 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记
Suckerbin5 小时前
LAMPSecurity: CTF5靶场渗透
笔记·安全·web安全·网络安全
小憩-6 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
UQI-LIUWJ6 小时前
unsloth笔记:运行&微调 gemma
人工智能·笔记·深度学习
googleccsdn7 小时前
ESNP LAB 笔记:配置MPLS(Part4)
网络·笔记·网络协议