一、写一个脚本,完成以下功能bash
(1) 传递一个磁盘设备文件路径给脚本,判断此设备是否存在;ide
(2) 若是存在,则显示此设备上的全部分区信息;函数
#!/bin/bash # # finddev.sh # 传递一个磁盘设备文件路径给脚本,判断此设备是否存在 # 若是存在,则显示此设备上的全部分区信息 if [ $# -ge 1 ];then for dev in $@;do if [ -b $dev ];then fdisk -l $dev else errdev=$errdev" "$dev fi done [[ $(echo $errdev | wc -c) -gt 1 ]] && echo -e "\n============如下设备不存在==============\n$errdev" else echo "请输入一个存在的磁盘设备" fi
脚本测试工具
[root@localhost script]# bash finddev.sh 请输入一个存在的磁盘设备 [root@localhost script]# bash finddev.sh /dev/adb /dev/ma ============如下设备不存在============== /dev/adb /dev/ma [root@localhost script]# bash finddev.sh /dev/sda Disk /dev/sda: 85.9 GB, 85899345920 bytes 255 heads, 63 sectors/track, 10443 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004d0da Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 10444 83373056 8e Linux LVM
二、写一个脚本,完成以下功能测试
传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;ui
(1) 若是参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz;rest
(2) 若是参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2;ip
(3) 若是参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz;虚拟机
(4) 其它任意值,则显示错误压缩工具,并执行非正常退出;it
三、写一个脚本,接受一个路径参数:
(1) 若是为普通文件,则说明其可被正常访问;
(2) 若是是目录文件,则说明可对其使用cd命令;
(3) 若是为符号连接文件,则说明是个访问路径;
(4) 其它为没法判断;
四、写一个脚本,取得当前主机的主机名,判断
(1) 若是主机名为空或为localhost,或为"(none)",则将其命名为mail.magedu.com;
(2) 不然,显示现有的主机名便可;
五、写一个脚本,完成以下任务 :
(1) 按顺序分别复制/var/log目录下的每一个直接文件或子目录至/tmp/test1-testn目录中;
(2) 复制目录时,才使用cp -r命令;
(3) 复制文件时使用cp命令;
(4) 复制连接文件时使用cp -d命令;
(5) 余下的全部类型,使用cp -a命令;
六、请详细描述CentOS系统的启动流程(详细到每一个过程系统作了哪些事情)
七、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;
(1) 为硬盘新建两个主分区;并为其安装grub;
(2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;
(3) 为rootfs提供bash、ls、cat程序及所依赖的库文件;
(4) 为grub提供配置文件;
(5) 将新的硬盘设置为第一启动项并可以正常启动目标主机;
八、写一个脚本
(1) 能接受四个参数:start, stop, restart, status
start: 输出“starting 脚本名 finished.”
...
(2) 其它任意参数,均报错退出;
九、写一个脚本,判断给定的用户是否登陆了当前系统;
(1) 若是登陆了,则显示用户登陆,脚本终止;
(2) 每3秒钟,查看一次用户是否登陆;
十、写一个脚本,显示用户选定要查看的信息;
cpu) display cpu info
mem) display memory info
disk) display disk info
quit) quit
非此四项选择,则提示错误,并要求用户从新选择,只到其给出正确的选择为止;
十一、写一个脚本
(1) 用函数实现返回一个用户的UID和SHELL;用户名经过参数传递而来;
(2) 提示用户输入一个用户名或输入“quit”退出;
当输入的是用户名,则调用函数显示用户信息;
当用户输入quit,则退出脚本;进一步地:显示键入的用户相关信息后,再次提醒输出用户名或quit:
十二、写一个脚本,完成以下功能(使用函数)
(1) 提示用户输入一个可执行命令的名字;获取此命令依赖的全部库文件;
(2) 复制命令文件至/mnt/sysroot目录下的对应的rootfs的路径上,例如,若是复制的文件原路径是/usr/bin/useradd,则复制到/mnt/sysroot/usr/bin/目录中;
(3) 复制此命令依赖的各库文件至/mnt/sysroot目录下的对应的rootfs的路径上;规则同上面命令相关的要求;