shell练习08.18

Shell练习

感谢您能抽出几分钟时间来参加本次答题,现在我们就马上开始吧!

1

列举出环境变量对应的文件及各自作用

/etc/profile 用户登录最先检查的文件,有关重要的环境变量在此 ~/.bash_profile 设置个人的环境变量,只对当前用户生效 ~/.bashrc 每次执行bash,这个文件会被读取 ~/.bash_login 如果~/.bash_profile不存在,则会读取此文件中的内容,每次用户登录系统,都会读取此文件 .profile 如果没有~/.bash_profile和~./bash_login,则会读取此文件 .bash_logout 注销shell前执行的工作

2

写出一下符号对应的作用:$0 $* $$ $? !$

$0 脚本的名字 $* 所有的参数 $$当前进程的PID $?上一个命令的返回值 0表示成功 !$上一个命令的最后一个参数

3

简述一下单引号和双引号在shell中的区别

单引号:强引用 不完成变量的替换 双引号:弱引用 实现变量和命令的替换

4

简单叙述一下&&和||以及;的区别

&& 前一个命令执行成功后一个命令才会执行 ||前一个命令失败后一个命令才会执行 ;不论前一个命令是否成功,后一个命令都会执行

5

简述一下shell变量的分类

自定义变量 环境变量 位置变量

6

编写一个shell脚本,用于搜集其执行主机的信息,打印结果如下: 当前时间为: 当前用户为: 当前用户的家目录为: 用户的标识为: 主机名称为: mem的使用率: 当前主机IP地址: cpu使用率: 磁盘剩余量:

#!/bin/bash mem_use=`free -m | awk NR==2'{print $3}'` mem_total=`free -m | awk NR==2'{print $2}'` cpu_free=`vmstat | awk NR==3'{print $(NF-2)}'` cpu_total=100 echo "当前时间为:"`date +%F` echo "当前用户为:"`whoami` echo "当前用户的家目录为:" `echo ~` echo "用户的标识为:"`id` echo "主机名称为:"`hostname | awk -F"." '{print $1}'` echo "mem的使用率:"$(($mem_use * 100/$mem_total))"%" echo "当前主机的IP地址:" `ip a s ens33 | awk NR==3'{print $2}' | awk -F"/" '{print $1}'` echo "cpu使用率:"$(($cpu_total-$cpu_free))"%" echo "磁盘剩余量:"`df -h | awk NR==2'{print $4}'`

#!/bin/bash 
mem_use=`free -m | awk NR==2'{print $3}'`
mem_total=`free -m | awk NR==2'{print $2}'`
cpu_free=`vmstat | awk NR==3'{print $(NF-2)}'`
cpu_total=100
echo "当前时间为:"`date +%F`
echo "当前用户为:"`whoami`
echo "当前用户的家目录为:" `echo ~`
echo "用户的标识为:"`id`
echo "主机名称为:"`hostname | awk -F"." '{print $1}'`
echo "mem的使用率:"$(($mem_use * 100/$mem_total))"%" 
echo "当前主机的IP地址:" `ip a s ens33 | awk NR==3'{print $2}' | awk -F"/" '{print $1}'`
echo "cpu使用率:"$(($cpu_total-$cpu_free))"%" 
echo "磁盘剩余量:"`df -h | awk NR==2'{print $4}'`

7

简单叙述一下shell能做什么

自动化批量系统初始化程序 自动化批量软件部署程序 应用管理程序 日志分析处理程序 自动化备份恢复程序 自动化管理程序 自动化信息采集及监控程序 配合Zabbix信息采集 自动化扩容 shell可以做任何事情

8

简述一下shell的定义

shell是命令解释器,是程序设计语言,可以编写shell脚本完成各种任务

9

已知:xingdiancloud=www.xingdiancloud.com.cn按照要求写出对应命令: 如何获取xingdiancloud的中xingdiancloud.com.cn的值 如何获取xingdiancloud的中字符串长度 如何获取xingdiancloud中的www

echo ${xingdiancloud#*.} echo ${#xingdiancloud} echo ${xingdiancloud%%.*]

10

使用命令获取当前系统支持的shell

cat /etc/shells

11

/bin/bash是自带的解释器

正确

错误

12

一下命令可以从键盘中读入值的是

read

which

shell

rm

13

如何引用变量

$

#

%

14

以下选项中不是用于shell变量计算的是

expr

$(())

$()

$[]

15

shell脚本以什么结尾

sh

c

py

conf

16

USERNAME是不是预定义变量

正确

错误

17

已知a=1,b=2,expr $a + $b 的值为3

正确

错误

18

~.bash_logout这个文件会记录用户先前使用的历史命令

正确

错误

19

执行脚本的方式错误的是

./

/

sh

python

20

创建一个以当前日期命令的文件正确的是

touch 11-22-22

touch `date +%F`

mkdir `date +%F`

touch $(date)

你可能感兴趣的:(chrome,前端)