03.Linux基本操作练习题
查询当前用户名的命令是whoami
查询当前用户身份信息的命令是id
查询正在登陆用户信息的命令是who
查询用户登陆历史记录的命令是 last
。
打印当前工作路径的命令是 pwd
显示目录内容列表,带-lh
选项的命令是 ls -lh
简单的文本回显的命令是echo
简单的打印文件的命令是cat
Linux独有的联机帮助的命令是--help
传统Unix联机帮助的命令是man
更详细的带超链接功能的联机帮助的命令是info
同步内存数据到磁盘的命令是sync
立即关机,不建议使用,仅限单机用户的命令是 shutdown -h now
15分钟后重启服务器的命令是 shutdown -r +15
取消本次关机或重启操作的命令是shutdown -c
04.Linux文件操作练习题
ls -a
列出所有文件包括隐藏
的详细信息
ls -l
输出长格式列表
ls -R
显示递归文件
ls -d
仅显示目录本身信息
cd ~
切换到自己的Home目录。
cd -
返回到上次所在目录。
mkdir
用来创建目录
rmdir
用来删除目录
touch
创建新文件或者修改文件时间
file
查看文件类型
读取大文件建议使用less
或more
命令
wc
统计文件的字节数、字数、行数
grep
以行为单位过滤文档内容,将所有符合正则表达式的行输出
根据文件名在特定目录中搜索可以使用find
命令。
rm
命令可以删除 个目录中的一个或多个文件或目录。
ln
默认的链接类型是硬链接。
ln -s
创建符号链接。
文件操作rmdir
命令用于删除目录,但是rmdir
只能删除空目录。
tar
命令归档文件名后缀**有**实际意义。
find
命令选项-name
是长选项。
欲把当前目录下的fle1.txt复制为fle2.txt,正确的命令是cat file1.txt > file2.txt
05.用户及用户组管理习题
系统为每个用户分配一个唯一的用户ID-UID,它的初始值为**0**
程序用户又称 系统账户,用于维持系统或某个程序的正常运行。
useradd
命令添加一个用户账号, -m选项创建用户主目录, -r选项创建程序用户, -s选项指定登录Shell。
/etc/目录下 passwd
文件是Linux系统中的一个重要文件,它存储着系统中所有用户的信息。
/etc/目录下shadow
文件是Linux系统中的一个重要文件,它存储着系统中所有用户的密码信息。
passwd
命令修改用户口令, -l
选项锁定用户密码,限制用户登录, -u
选项解除用户密码锁定。
usermod
修改用户账号就是根据实际情况更改用户的有关属性, -g
选项将用户加入指定组, -G
选项设定用户附加组列表。
userdel
命令删除用户, -r
选项删除与用户相关的所有文件。
groupadd
命令用于创建一个新的用户组。
gpasswd
命令是Linux下组文件/etc/group和/etc/gshadow的管理工具。 -A
选项设定管理员列表, -a
选项添加用户到组, -d
选项从组中删除用户。
groupmod
命令更改组gid或名称
groupdel
命令用于删除指定的用户组。
newgrp
命令切换有效用户组。
chmod
命令变更文件或目录的权限, -R
选项表示递归,进行目录操作
chown
命令可以改变某个文件或目录的所有者和所属组
umask
是文件权限掩码,可以通过掩码修改创建新文件的默认权限
Linux用户账户分为普通用户和系统用户。(❌)linux操作系统除了普通用户、系统用户,还有超级用户
配置文件/etc/passwd
文件的内容较多,使用tail
命令可以查看文件最后几行的内容
查看/etc/passwd文件的内容,**不**需要root权限。
通过指定登录Shell为/sbin/nologin,可以限制用户登录
没有x权限的目录不可访问。
默认情况下管理员创建了一个用户,就会在/home
目录下创建一个用户主目录
**只有root**用户对Shadow文件拥有读取权利
/etc
目录存放用户密码信息
useradd
命令选项-g
的主要参数含义指定用户所属的用户组
组账户分为系统组和用户组(❌)私有组(基本组)和公有组(附加组)
系统用户的UID取值范围1~999
useradd
命令中-c
命令选项用于加上注释信息
usermod
命令可以修改用户信息,下列哪个选项可以更改主用户组(C)
A -l B -s C -g D -G
06.软件包管理习题
dnf
是yum的增强版
yum check-update
命令更新缓存,并检查软件更新
yum list
命令根据软件包名称列出软件包
yum search
命令搜索软件包描述
yum provides
命令反向查询文件由哪个包提供,或者软件包由哪个仓库提供。
yum info
命令显示软件包详细信息。
yum remove
命令卸载软件包
yum upgrade
命令通过“卸载/安装/升级”来更新系统。
在使用apt包管理器时,apt update
命令用于更新软件包列表
FreeBSD中使用 pkg
作为的软件包管理工具。
rpm -qa
选项列出当前全部已安装的软件包。
dpkg
是Debian/Ubuntu系的软件包管理器。
rpm本地安装**不能**解决依赖问题。
yum install本地安装**能**解决依赖问题。
在Linux中,以下/usr/local
目录通常用于存放软件包
apt-get -f install
能够进行本地安装软件依赖修正。
在Red Hat系列的Linux中,apt search
命令不能用于搜索的软件包
07.Vim编辑器习题
Vim编辑器有三种模式: 命令模式
、 编辑模式
和末行模式
。
Vim编辑器的快捷键 3G
表示移动到文档第3行。
Vim编辑器的快捷键 dd
表示删除1行。
Vim编辑器的快捷键 yy
表示复制1行。
Vim编辑器中 v
模式可以实现模拟鼠标式的选择操作
在Vim的命令模式下,可以进行文本的复制、粘贴和删除等操作
在Vim编辑器中,要实现全局搜索并替换某个词,应该在末行模式中使用:%s/old/new/g
命令?
在Vim中,要撤销上一步的操作,应该使用u
命令
08.系统管理与安全测试
服务 Service
是网络系统中应用层的基本单位,它通过与一个特定的端口 Port
绑定来对外提供服务。服务实现了最简单的 应答系统
,允许外部实体与服务器进行通信,它能够接受、处理并响应网络数据请求。
服务机制实现对普通进程进行监管,确保进程能够不间断提供服务,服务又被称为 守护进程
新版Linux系统服务被SystemD统一管理,主要命令是 systemctl
。
查看服务的详细状态需要使用systemctl status
命令。
临时启动服务需要使用systemctl start
命令。
临时停止服务需要使用systemctl stop
命令。
systemctl restart | reload | enable | disable
重启|重载|开机自启动|取消开机自启
ps
命令是Linux系统中进程状态查看命令
pstree
是一个用于显示系统进程树的命令。
top
命令是Linux的动态任务管理器,可以实时动态地监视系统的运行状况。
journalctl
是systemd套件的一个命令,是一个系统日志管理器
在Linux中,ps
命令可以查看当前系统中所有运行的进程
cron
命令可以用来设置周期性计划任务
Linux系统中,ps aux
命令可以查看进程的CPU和内存使用情况
在Linux系统中,关于服务管理的说法,哪些是正确的?(AC)
A.服务可以在系统启动时自动运行
B.服务管理只能通过图形界面进行
C.管理员可以使用systemctl
命令管理服务
D.服务配置通常存储在/etc/init.d/
目录下 /usr/lib/systemd/system
以下哪些命令可以用于进程管理?(ABC)
A.ps B.kill C.top D.df //磁盘管理
关于Liux系统中的计划任务管理,以下哪些说法是正确的?(AB)
A.cron
是Linux系统中用于设置周期性计划任务的工具
B.at命令可以用于设置一次性计划任务
C.计划任务配置保存在/etc/crontab
文件中
Linux系统的计划任务配置主要保存在 /var/spool/cron 目录、
/etc/crontab 文件以及 /etc/cron.d 目录下。
D.计划任务无法在系统启动时自动执行
at
命令可以用来设置一次性计划任务
09.网络管理与安全测试
Linux网络使用 NetworkManager
服务进行管理,可以使用服务管理的方式查看网络状态或控制网络。
命令行界面下,使用的网络管理工具常用的是 setup
、 nmtui
。
iproute2是一个在Linux下的高级网络管理工具软件,主要命令工具是 ip、 ss
。
查看L2链路层的物理设备网络命令是ip link
。
查看L3网络层IP信息网络命令是ip addr
。
看网关的路由信息网络命令是ip route
。
查看邻居表网络命令是ip neigh
。
查看全部监听的端口网络命令是ss -tulnp
查询已建立的连接网络命令是ss -nat
打印网络流量的统计数据网络命令是ss -s
。
lsof
命令是一个列出当前系统打开文件的工具。
ping
命令是一种网络包探索器,用于测试网络连接量的程序。
telnet
命令测试目标端口是否可达。
traceroute
指令追踪网络数据包的路由途径。
在Linux系统中,可以使用iptables
命令来配置和管理防火墙规则。
在openEuler系统中,/etc/sysconfig/network-scripts/ifcfg-
文件通常用于配置网络接口
在Linux中,ping
命令用于测试网络的连通性
在Linux系统中,哪个命令可以显示当前系统中活动的网络连接、监听的端口以及网络服务?(B)
A.ifconfig
B.netstati或ss
C.route
D.iptables
关于路由配置,以下哪个说法是正确的?(C)
路由配置主要是设置DNS服务器地址
路由配置不需要知道目的网络的地址
路由配置用于指定数据包在网络中的最佳传输路径
路由配置是为了提高网络的下载速度
在Linux系统中,进行网络故障排查时,以下哪些命令可能是有用的?(ABC)
A.ping
B.traceroute
C.ifconfig
D.ps
//当前进程的状态
10.Shell编程测试
Shell变量可分为如下4种类型: 环境变量、 预定义变量、 位置变量和用户自定义变量
。
Shell中读取一个定义过的变量,变量名前需加 $
。
Shell中使用 read
可以从键盘读取输入值并赋值给变量
Shell变量有三种作用域: 局部变量、 全局变量和 环境变量
。
Shell中 $0
代表所执行命令的名称, $1
代表了命令的第1个参数。
echo
命令用于在Shell中打印Shell变量的值,或者直接输出指定的字符串,一般起到一个提示的作用。
Shell中printf
命令格式化并输出结果。
重定向
一般是一道工艺命令的结束,表示将处理的最终结果文件如何显示或存储
如果希望执行某个命令,不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null
。
管道
使用竖线将两个命令隔开,竖线左边命令的输出
就会作为竖线右边命令的输入
。
Shell中将输出的结果分为几个分流,就需要使用 tee
命令。
test测试后返回一个值给系统,下一个命令可以借助于 $?
查看。
Shell中 shift
命令用于对参数的移动,通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理。
Shell中函数的return
值会被预定义变量#?获取。
Shell是一种命令行解释器,它允许用户与操作系统进行交互(✔)
在Shell脚本中,变量名区分大小写。(✔)
Shell脚本中的选择结构只能通过if语句来实现。(❌)
for循环是Shell脚本中唯一可用的循环结构(❌)
Shell函数可以在脚本中被调用,但不能在命令行中直接调用(❌)
Shell脚本中的文件包含是指将一个脚本文件的内容包含到另一个脚本文件中(✔)
Shell变量可以被赋值为命令的执行结果。(✔)
Shell脚本在执行时不需要任何
解释器,可以直接
运行(❌)
Shell中的测试命令是test
可以使用expr
命令对Shell变量进行算术运算
在Shell程序中,要访问命令行第9个参数之后的参数,就必须使用shift
命令
下列哪个是Shell的功能(C)
A.图形界面设计
B.文本编辑器
C.命令行解释器
D.数据库管理系统
在Shell脚本中,如何定义一个变量? val=value
Shell注释#
在Shell脚本中,如何引用变量的值? $variable
["str1"="str2"]
命令可以用来比较两个字符串是否相等
在Shell脚本中,以下哪些命令可以用于比较数值或字符串
✔:-eq
-ne
-gt
❌:<
==
下列哪些符号或命令可以用于获取Shell脚本中的变量值
✔: $variable
${variable}
❌:%(variable)s
@(variable)
#variable#
下列哪些选项是Shell脚本中可能用到的特殊变量
$#
$?
$*
$@
$$
11.过滤器
过滤器中head
命令从数据开头选择数据行。
过滤器中tail
命令从数据结尾选择数据行。
过滤器中nl
命令在每行前面加一字段,显示行号。
过滤器中tac
命令反转文本行的顺序。
过滤器中rev
命令将文件中的每行内容以字符为单位反序输出。
过滤器中sort
命令将文件进行排序,并将结果标准输出。
过滤器中uniq
命令用于报告或忽略文件中的重复行。
过滤器中history
命令列出当前账号最常使用的5个命令。
正则表达式是一种文本模式,正则表达式由普通字符
和 元字符
组成。
在正则表达式里,元字符 ^
来表明想对一个字符集合进行取非匹配。
在正则表达式里,元字符\d
匹配任意数字字符。
在正则表达式里,元字符\s
匹配任意空白字符。
在正则表达式里,元字符^
匹配字符串的开头。
在正则表达式里,元字符$
匹配字符串的结尾。
在正则表达式里,元字符\b
匹配单词的边界。
Unix的grep
家族包括grep
、egrep
和fgrep
,另外还集成了Perl语言的pgrep
流编辑器sed
同Vim相比是非交互式的,处理时把当前处理的行存储在临时缓冲区中,称为模式空间
。
perl命令开启-pe
选项启用Perl一行式命令。
awk脚本是由模式
和操作
组成。
awk是一种编程语言,可以用于文本处理和数据分析。(✔)
正则表达式是一种用于模式匹配和文本搜索的语法。(✔)
awk是一种编程语言,可以用于文本处理和数据分析。(✔)
使用grep命令时,-i
选项用于忽略大小写进行搜索。
sed命令中的s命令
用于替换文本中的模式。
grep
命令用于在文本中搜索特定模式
sed命令中的-i
选项可以用于在文件中直接进行修改
cut命令主要用于字段抽取
操作
在awk中,如何当前行的第一个字段表示为$1
sed
命令可以处理流数据并进行文本替换
grep命令中,-n
选项可以显示匹配行的行号
在sed命令中,如何替换文本中的所有“apple”为“orange”?
sed 's/apple/orange/g' file.txt
在使用grep命令时,以下-i,-v,-r,-l
选项可以用来修改搜索行为
下列哪些说法关于sed命令是正确的?(ABD)
A. sed是一个流编辑器。
B. sed主要用于文本替换
C. sed不能处理流数据。
D. sed何以使用正则表达式。
E. sed只能处理单个文件。
下列哪些工具可以用来抽取文本中的特定字段?(CD)
A.grep B.sed C.awk D.cut E.sort
12.Docker容器
容器虚拟机技术是一种基于linux内核
的轻量级的虚拟化解决方案,容器共享主机内核。
docker images
命令查看本地已安装镜像。
docker search
命令在线查找镜像库。
docker pull
命令拉取一个镜像。
docker run
命令运行容器,选项 -d
直接进入后台运行。
docker attach
进入一个已经运行的容器内部系统,一般需要接管一打开的可交互的终端。
docker exec
进入容器内部系统,将后台容器切换到前台,同时需要再打开一个终端
docker ps
查看正在运行容器列表和状态,选项-a
已停止运行的容器。
docker stats
查看所有的正在运行容器对系统各种资源的占用情况。
docker top
查看指定容器内部正在运行的进程信息。
docker port
查看指定容器的端口及端口映射信息
docker logs
查看指定容器的执行命令及输出历史。
docker inspect
完整检查指定容器的配置信息。
容器有两个特性,一个是系统
,一个是程序
。
容器技术的底层原理是相同的,但是运行时不兼容。(❌)
期中考试
输入答案
是提供用户管理和使用资源的接口
CPU微架构指令集主要分两种,一个是Intel、AMD为首的复杂指令集CISC
,另一个是以IBM、ARM
为首的精简指令集RISC
rpm -qa
选项列出当前全部已安装的软件包。
通过使用ssh
,可以把所有传输的数据进行加密、压缩,实现又快又安全的传输。
云计算平台是成熟的云计算系统,目前主要包括基于基础设施层
、基于平台层