Linux 综合练习


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=YYMMDD_etc.tar.gz #(5)
    tar -zcvf $BACKETC /etc #(6)
    echo "fileback finished!"

  2. 下面给出了一个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

  3. 写一个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"

相关推荐
saynaihe6 小时前
proxmox8升级到proxmox9
linux·运维·服务器
Delphi菜鸟6 小时前
docker 部署RustDesk服务
运维·docker·容器
Orchestrator_me6 小时前
CentOS交换区处理
linux·运维·centos
zru_96027 小时前
centos 系统如何安装open jdk 8
java·linux·centos
FLS1687 小时前
VMwaer虚拟机安装完Centos后无法联网问题
linux·运维·centos
OctopusMonster7 小时前
centos下gdb调试python的core文件
linux·运维·centos
wanhengidc7 小时前
云手机可以息屏挂手游吗?
运维·网络·安全·游戏·智能手机
一只小白菜~7 小时前
实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
运维·网络·计算机网络·智能路由器
Britz_Kevin7 小时前
从零开始的云计算生活——第五十九天,基于Jenkins自动打包并部署Tomcat环境
运维·jenkins·生活