Linux 综合练习

发布于:2025-09-06 ⋅ 阅读:(17) ⋅ 点赞:(0)


Linux 综合练习

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

  1. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( )
    A. NID
    B. PID
    C. UID
    D. CID

  2. 下面哪个命令是用来定义shell的全局变量( )
    A. exportfs
    B. alias
    C. exports
    D. export

  3. 哪个目录存放用户密码信息( )
    A. /boot
    B. /etc
    C. /var
    D. /dev

  4. 默认情况下管理员创建了一个用户,就会在( )目录下创建一个用户主目录。
    A. /usr
    B. /home
    C. /root
    D. /etc

  5. 如果用户想对某一命令详细的了解,可用( )
    A. ls
    B. help (内部)
    C. man (列举的信息多)
    D. dir

  6. vi中哪条命令是不保存强制退出( )
    A. :wq
    B. :wq!
    C. :q!
    D. :quit

  7. 在Linux9中,一般用( )命令来查看网络接口的状态
    A. ping
    B. ipconfig
    C. winipefg
    D. ifconfig

  8. 以下哪个命令可以终止一个用户的所有进程( )
    A. skillall
    B. skill
    C. kill
    D. killall

  9. 用“rm -i”,系统会提示什么来让你确认( )
    A. 命令行的每个选项
    B. 是否真的删除
    C. 是否有写的权限
    D. 文件的位置

  10. 哪个命令可以将普通用户转换成超级用户( )
    A. super
    B. passwd
    C. tar
    D. su

  11. 默认情况下管理员创建了一个用户,就会在( )目录下创建一个用户主目录。
    A. /usr
    B. /home
    C. /root
    D. /etc

  12. 当使用mount进行设备或者文件系统挂载的时候。需要用到的设备名称位于( )目录。
    A. /bome
    B. /bin
    C. /enc
    D. /dev

  13. 如果要列出一个目录下的所有文件需要使用命令行( )
    A. -ls -l
    B. ls
    C. ls -a (所有)
    D. ls -d

  14. 在vi编辑器里,命令"dd"用来删除当前的( )
    A. 行
    B. 变量
    C. 字
    D. 字符

  15. 若要将鼠标从VM中释放出来,可按( )键来实现
    A. Ctrl+A
    B. Ctrl+Alt+Del
    C. Ctrl+Alt+Enter
    D. Ctrl+Enter

  16. /etc/shadow文件中存放( )
    A. 用户账号基本信息
    B. 用户口令的加密信息
    C. 用户组信息
    D. 文件系统信息

  17. 为卸载一个软件包,应使用( )
    A. rpm -i
    B. rpm -e
    C. rpm -q
    D. rpm -v

  18. 在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是( )
    A. fold
    B. join
    C. tr
    D. read

  19. 用户编写了一个文本文件a.txt,想将该文件名称改为txt.a,下列命令( )可以实现。
    A. cd a.txt txt.a
    B. echo a.txt > txt.a
    C. rm a.txt txt.a
    D. cat a.txt > txt.a

  20. 以长格式列目录时,若文件 test的权限描述为: drwxrw-r–,则文件test的类型及文件主的权限是( )
    A. 目录文件、读写执行
    B. 目录文件、读写
    C. 普通文件、读写
    D. 普通文件、读


二、简答题(每题5分,共15分)

  1. vi编辑器有哪几种工作模式?如何在这几种工作模式之间转换?

  2. 执行命令ls -l时,某行显示如下:

-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata

(1) 用户 chris对该文件具有什么权限?
(2) 执行命令useradd Tom后,用户Tom对该文件具有什么权限?
(3) 如何使任何用户都可以读写执行该文件?
(4) 如何把该文件属主改为用户root?

  1. 什么是位置变量? shell的变量类型有哪些种?


三、操作题(每题4分,共20分)

  1. 假设你的用户账号是zhang,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。

  2. 在当前目录/home/zhang下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file2。

  3. 现在需统计当前目录/home/zhang下普通文件的数目并显示结果,如何实现?

  4. 假设你是系统管理员,需要增加一个新的用户账号zhang,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。

  5. 若需将/home/zhang目录下的所有文件打包压缩成/tmp/zhang.tar.gz,你准备怎么做? 当需要从压缩包中恢复时,又该如何处理?


四、Shell程序题(第1、2题共15分,第3题10分)

  1. 下面给出了一个SHELL程序,试对其行后有# (n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/sh
DIRNAME=`ls /root | grep bak`    #(1)
if [ -z "$DIRNAME" ] ; then      #(2)
    mkdir /root/bak ; cd /root/bak   #(3)
fi
YY=`date +%y`; MM=`date +%m`; DD=`date +%d`  #(4)
BACKETC=$YY$MM$DD_etc.tar.gz     #(5)
tar -zcvf $BACKETC /etc          #(6)
echo "fileback finished!"
  1. 下面给出了一个SHELL程序,试对其行后有# (n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/bash    #(1)
dir=$1         #(2)
if [ -d $dir ] #(3)
then
    cd $dir    #(4)
    for file in *
    do
        if [ -f $file ]   #(5)
        then
            cat $file     #(6)
            echo "end of file $file"
        fi
    done
else
    echo "bad directory name $dir"
fi
  1. 写一个SHELL程序,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值。


答案部分

一、选择题

1.B
2.D
3.B
4.B
5.C
6.C
7.D
8.D
9.B
10.D
11.B
12.D
13.C
14.A
15.C
16.B
17.B
18.D
19.D
20.A


二、简答题

  1. vi工作模式

  • 命令模式:默认进入模式,用来执行删除、复制、粘贴、保存、退出等命令。

  • 编辑模式:按iao等进入,可以插入文本。

  • 底行模式:按:进入,可输入保存、退出、查找替换命令。
    转换

  • 命令模式 → 编辑模式:i/a/o

  • 编辑模式 → 命令模式:Esc

  • 命令模式 → 底行模式::

  1. 文件权限分析:

  • (1) chris对该文件有读、写权限。

  • (2) 用户Tom属于其他用户,对该文件有只读权限。

  • (3) 命令:chmod 777 mydata

  • (4) 命令:chown root mydata

  1. 位置变量:在Shell脚本中,$1, $2, ...表示脚本执行时传入的参数。
    Shell变量类型:用户自定义变量、环境变量、位置变量、预定义变量。


三、操作题

who        # 查看当前登录用户
ps -ef     # 查看当前运行进程
exit       # 退出系统
mkdir /home/zhang/back
cd /home/zhang/back
touch test1 test2
mv test2 ../file2
ls -l /home/zhang | grep "^-" | wc -l
useradd zhang
passwd zhang
usermod -L uly
userdel chang
tar -zcvf /tmp/zhang.tar.gz /home/zhang
tar -zxvf /tmp/zhang.tar.gz -C /home/zhang

四、Shell程序题

  1. 解释:
    (1) 查找/root目录中是否存在含bak的目录名。
    (2) 判断变量是否为空,如果为空表示没有bak目录。
    (3) 创建/root/bak目录并进入。
    (4) 获取当前日期的年月日。
    (5) 拼接成压缩包名称。
    (6) 将/etc目录打包压缩。
    功能: 备份/etc目录到/root/bak下,文件名包含日期。

  2. 解释:
    (1) 指定解释器为bash。
    (2) 将第一个参数赋值给变量dir。
    (3) 判断是否为目录。
    (4) 切换到该目录。
    (5) 判断是否为普通文件。
    (6) 输出文件内容。
    功能: 显示指定目录下所有普通文件的内容,每个文件结束打印提示。

  3. 示例程序:

#!/bin/bash
sum=0
max=-999999
min=999999

for ((i=1;i<=100;i++))
do
    read num
    sum=$((sum+num))
    if [ $num -gt $max ]; then
        max=$num
    fi
    if [ $num -lt $min ]; then
        min=$num
    fi
done

echo "总和: $sum"
echo "最大值: $max"
echo "最小值: $min"


网站公告

今日签到

点亮在社区的每一天
去签到