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
相关推荐
新晓·故知20 分钟前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG31 分钟前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
NuyoahC2 小时前
算法笔记(十一)——优先级队列(堆)
c++·笔记·算法·优先级队列
这可就有点麻烦了3 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
Ljubim.te5 小时前
软件设计师——数据结构
数据结构·笔记
speop7 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
yngsqq7 小时前
031集——文本文件按空格分行——C#学习笔记
笔记·学习·c#
sealaugh328 小时前
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
笔记·学习·aws
CXDNW8 小时前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
向上的车轮8 小时前
Django学习笔记五:templates使用详解
笔记·学习·django