写一个脚本:
1、创建目录/tmp/scripts
2、切换工作目录至此目录中
3、复制/etc/pam.d目录至当前目录,并重命令为test
4、将当前目录中的test及其里面的文件和子目录的属主改为redhat
5、将test及其子目录中的文件的其它用户的权限改为没有任何权限
写一个脚本:
1、显示当前系统日期和时间,而后创建目录/tmp/lstest
2、切换工作目录至/tmp/lstest
3、创建目录a1d, b56e, 6test
4、创建空文件xy, x2y, 732
5、列出当前目录下以a、x或者6开头的文件或目录;
6、列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录;
写一个脚本,完成以下功能:
1、传递两个整数给脚本,让脚本分别计算并显示这两个整数的和、差、积、商
写一个脚本:
1、切换工作目录至/var
2、依次向/var目录中的每个文件或子目录问好,形如:
(提示:for FILE in /var/*; 或for FILE in `ls /var`; )
Hello, log
Hello, run
3、统计/var目录下共有多个文件,并显示出来
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容;(提示:LINE=`head -2 /etc/passwd | tail -1`可以取得第2行)
3、把这些行保存至/tmp/mypasswd文件中
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好,形如: (提示:LINES=`wc -l /etc/passwd | cut -d" " -f1`)
Hello, root.
3、统计一共有多少个用户
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,形如: (提示:LINES=`wc -l /etc/passwd | cut -d" " -f1`)
Hello, root,your UID is 0.
3、统计一共有多少个用户
写一个脚本:
1、添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加;
写一个脚本:
1、通过ping命令测试192.168.0.151到192.168.0.254之间的所有主机是否在线,
如果在线,就显示"ip is up."
如果不在线,就显示"ip is down."
写一个脚本:
1、将/var/目录下所有文件的文件名的首字母和尾字母显示时改为大写;
写一个脚本:
1、将/etc/sysctl.conf文件中以非#(井号)开头的行保存至/tmp/sysctl.conf中
2、如果/tmp/sysctl.conf文件中net.ipv4.ip_forward的值为0的话,则将其值修改为1
3、按次序逐个显示等于号之前的指令的名字,并在每一个指令名字添加其编号,形如:
1 net.ipv4.ip_forward
2 kernel.sysrq
4、为/tmp/sysctl.conf文件中的每一行添加注释,即在每一非空白行之前添加一个以#开头的行,并保存至文件中。内容形如:
# A parameter.
写一个脚本:
1、假设某文件中有如下行:
/etc/inittab
/etc/pam.d/sudo
/usr/share/doc
/usr/local/
/etc/sysconfig/
/var/log/messages
2、取出如上文件中每一行文件名中不包含路径的文件名,比如,/etc/inittab的文件名为inittab,/etc/sysconfig/的文件名为sysconfig;
3、把每个文件名的第二个字母显示时改为大写;
1、写一个脚本:
判断一个文件是否存在,如果存在就显示其存在;
2、写一个脚本:
判断一个文件是否存在,如果存在就显示其存在;否则就显示其不存在;
3、写一个脚本:
1)让用户通过命令行传递一个路径;
2)判断:
如果是普通文件,显示之;
否则,如果是目录,显示之;
否则,如果是链接,显示之;
否则,显示无法识别
4、计算100以内所有偶数的和;
5、写一个脚本:
判断用户输入的是否为Q或者q,如果是,就显示”Quting...";否则,就显示,“Are you crazy?”;
写一个脚本:
1、判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出,其它任何键可以通过vim打开这个指定的脚本;
2、如果用户通过vim打开编辑后保存退出时仍然有错误,则重复第1步中的内容;否则,就正常关闭退出。
写一个脚本:
1、要求用户从键盘输入一个用户名,判断此用户是否存在,如果存在,则返回此用户的默认shell;如果不存在,提示用户不存在。
2、判断完成以后不要退出脚本,而是继续提示N|n(next)用户输入其它用户名以做出下一个判断,而键入其它任意字符可以退出;
写一个脚本:
1、向系统中添加20个用户,名字为linuxer1-linuxer20,密码分别为其用户名,要使用while循环;
2、要求:在添加每个用户之前事先判断用户是否存在,如果已经存在,则不再添加此用户;
3、添加完成后,显示linuxer1-linuxer20每个用户名及对应的UID号码和GID号码,形如
stu1, UID: 1000, GID: 1000 (此步要求使用awk实现)
写一个脚本:
1、扫描192.168.0网段内的主机的在线状态,但需要提示用户输入一段IP地址范围,方式是指定起始IP和结束IP;显示结果形如:
The host 192.168.0.1 is UP.
The host 192.168.0.2 is DOWN.
2、使用while循环实现;
3、主机在线状态的输出结果既要显示在屏幕上,同时要求所有主机信息也保存一份至/tmp/host_state;
4、为/tmp/host_state文件中所有主机状态为DOWN的行的行首添加一个#(井号);
5、分别显示指定范围内所有在线的主机总数和不在线主机总数;
写一个脚本:
显示当前系统上所有其VSZ段的值大于4000的进程的进程名字、进程号和VSZ值的大小;
写一个脚本:
查看redhat用户是否登录了系统,如果登录了,就通知当前脚本执行者“redhat is logged on.”;
否则,就睡眠5秒钟后再次进行测试;直到其登录为止退出;
要求:使用until循环
写一个脚本:
1、提示用户选择所要设置的网卡;
2、提示用户使用dhcp或者static作为选定网卡的BOOTPROTO
a、如果用户选择dhcp,则将其配置文件中的BOOTPROTO的值设为dhcp,而后重启此网卡;
b、如果用户选择static,则将其配置文件中的BOOTPROTO的值设为static,并提示用户输入IP地址,子网掩码和网关;其中网关可以为空,但IP地址或子网掩码不能为空;设置完成后重启此网卡;
3、无论上述动态或静态设定,设定完成后将网卡IP地址设定后信息再次显示给用户;
考虑:1、如果用户没有做出任何修改之前就不想设置了,如何退出?
2、如果用户已经设定了一些信息,如IP地址等却又不想设置了,而使用了Ctrl+c,如何处置?
写一个脚本:
1、扫描192.168.0网段内的主机的在线状态,但需要提示用户输入一段IP地址范围,方式是指定起始IP和结束IP;显示结果形如:
The host 192.168.0.1 is UP.
The host 192.168.0.2 is DOWN.
说明:此段要求使用函数实现;
2、使用while循环实现;
3、主机在线状态的输出结果既要显示在屏幕上,同时要求所有主机信息也保存一份至/tmp/host_state;
4、为/tmp/host_state文件中所有主机状态为DOWN的行的行首添加一个#(井号);
5、分别显示指定范围内所有在线的主机总数和不在线主机总数;
写一个脚本:
1、提示用户输入一个用户名;
2、使用函数实现:
判断一个用户是否存在,用户名通过参数传递而来;
如果存在,就显示此用户的shell和UID
如果不存在,就说此用户不存在;
写一个脚本:
1、提示用户可以输入”mem"查看本机物理内存使用信息,"swap"显示虚拟内存使用信息;
2、当用户输入mem时,获取当前主机物理内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3、当用户输入"swap"时,获取当前主机虚拟内存的大小,已经使用的空间及空闲空间的大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
4、其它信息则说明是错误输入;
写一个脚本:
1、用一个函数实现获取当前主机物理内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
2、用一个函数实现获取当前主机虚拟内存的大小,已经使用的空间及空闲空间的大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3、显示一个提示给用户,说明输入mem可以显示物理内存空间使用情况;输入swap可以显示虚拟内存空间使用情况;其它任意字符提示用户脚本使用方法后退出脚本;
写一个脚本:
1、定义一个函数
1)可以接受参数mem或swap;
2)当接受参数mem时获取当前主机物理内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3)当接受参数swap时获取当前主机虚拟内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3、在主程序中显示一个提示给用户,说明输入mem可以显示物理内存空间使用情况;输入swap可以显示虚拟内存空间使用情况;其它任意字符提示用户脚本使用方法后退出脚本;
写一个脚本
1、如果/tmp/net目录存在就切换至此目录,否则就先创建此目录,而后切换进去;
2、下载ftp://192.168.0.254/pub/Files/rh033.txt至此目录中,并将名字设置为在原名字后面添加上当前日期和时间,形如:
rh033-2011-04-25-09-31-10.txt
3、下载完成后向用户报告完成下载。
写一个脚本:
1、创建一个函数,能接受两个参数:
1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;
2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;
3)如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则返回0给调用脚本,否则,返回52给调用脚本;
2、主函数:
1)提示用户输入要下载文件的URL和保存的目录;
2)调用函数执行下载;如果函数返回0,则告诉用户下载成功;如果函数返回51,则告诉用户用户给定的目录不存在导致下载失败;如果函数返回52,则告诉用户下载过程失败;
百度的两道shell编程面试题:
1、写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。
2、写脚本实现,可以用shell、perl等。把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。
某公司Shell脚本面试题
一个文本文件内容如下:
user1 abcd
user2 g23d
user3 vgq2
…… ……
根据文件内容批量创建用户,第一列为用户名,第二列为对应用户的密码;
写一个脚本:
1、下载文件ftp://192.168.0.254/pub/Files/access_log至/tmp目录;
2、分析并显示/tmp/access_log文件中位于行首的IP中出现次数最多的前5个,并说明每一个出现了多少次;
3、取出/tmp/access_log文件中以http://开头,后面紧跟着一个域名或IP地址的字符串,比如:http://www.linux.com/install/images/style.css 这个串的http://www.linux.com的部分;而后显示出现次数最多的前5个;
要求:第2、3功能各以函数的方式实现;
运维工程师面试题:
编写shell脚本获取本机的网络地址。比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.0。
卡巴斯基面试题:
某文件内容如下:
jack huaxue 90
tom huaxue 70
jack shuxue 99
tom shuxue 80
要求算出jack和tom的2科的平均分,用shell实现
分享到:
相关推荐
标准Practice脚本的扩展名是.cmm,因此有人也称之为cmm脚本 Practice脚本是Lauterbach公司提供的一种脚本语言,运用于其TRACE32软件当中,非常容易上手、并且功能强大。 我在文章...
DM8在LINUX环境下的环境搭建、服务脚本注册以及客户端使用
自己写的犀牛导出su脚本,简单易用,导出su模型的模块各自成组,各自拥有相对独立的原点,并自动整理乱线。解决了犀牛导出su的破面、原点过远问题。 具体使用方法: 1.在犀牛指令栏输入:RunPythonScript 2.选择...
参照(美)一书中的Xtreme Script脚本语言系统的原型和基本架构。用C++重新设计并开发的EXScript脚本语言系统。VS2005环境下开发。对原著中算法进行优化,执行效率大大提高。 包括: 系统底层汇编语言汇编器EXASM(支持...
场景需求 1.我们可以通过zabbix_server的web界面的脚本功能实现对已经安装了zabbix_agent主机实现远程关机而不用手动登陆然后输入关机指令 2,。...类型:如果是window或者linux主机类型都是选择脚本
ROLVirtualLabEnv:RH实验室环境脚本回购
备份 每天运行以备份RHV Manager的脚本 这将创建本地文件备份,并选择将其备份到远程主机以获取RHVM备份位置。 还具有在本地和(可选)远程老化文件的功能。... 所有配置设置都是脚本开头的变量,以便于自定义。
RHEL6之RH134中文新课件 RHEL6_134 U1.3 Kickstart在workstation中实现.pdf RHEL6_135 U1.0 Anaconda安装器.pdf RHEL6_135 U1.2 生成kickstart脚本文件.pdf RHEL6_135 U10 ldap网络帐户管理.pdf RHEL6_135 U11 ...
包含,系统、cpu、内存、网卡信息,因硬盘在系统内无法查看是否做过raid,所以没有统计硬盘信息。 [root@localhost ~]#./system 系统信息 系统版本:Centos Linux release 7.9.2009 (Core) 内核版本:Linux 3.10.0-...
本书在讲授如何诊断、排除linux故障的同时,也揭示了系统的工作原理,帮助系统管理员直击问题的根源。如果linux不能引导,是否...本书提供了简单实用的示例,介绍了大量工具、命令和脚本,它们能使linux运行更平稳。
脚本编写 一个探索计算机科学与体系结构交叉点的存储库。 简短的 在建筑学校中,用来描述计算机编程的最常用词是“脚本”,这是一个使人联想到“脚本小子”的剪切和粘贴php脚本,以试图利用网站... 建筑“脚本语言”-Rh
清除华为BIOS密码的方法和工具,解压后有具体的使用方法
okd-proxmox-脚本 使用qcow2图像和模板在Proxmox上轻松安装OKD的脚本。 该脚本将帮助部署okd 4.5集群的3个节点 要求 Proxmox 6.x 足够的资源 CPU:16 vcpu(至少12vcpu,每个主节点4个) 内存:64 GB(32GB应该...
Perl脚本来枚举RDP服务(AKA终端服务)的安全设置 主要特征 支持目标文件 支持将工具输出保存到指定的日志文件 控制连接和响应超时 控制超时发生时的重试次数 概述 rdp-sec-check是一个Perl脚本,用于枚举远程...
查看 Win32 可执行和相关文件的资源 (*.exe, *.dll, *.cpl, *.ocx),在已编译和反编译的格式下都可以,提取 (保存) 资源到文件 (*.res) 格式,作为二进制,或作为反编过的译资源脚本或图像......需要的朋友们可以...
使用shell变量来帮助运行命令,编辑bash启动脚本来设置shell和环境变量来修改shell和从shell运行的程序的行为 文章目录一、将输出重定向到文件或程序1. 标准输入、标准输出和标准错误2. 将输出重定向到文件3. 创建...
一组bash / perl脚本,可从ftp服务器下载更新RH主机所需的rpm。
构建和使用此软件的主要要求需要 root 访问权限,对于 RHEL7 Linux,此安装脚本将完成所有这些: ./requirements.sh 安装 此安装脚本假定以下内容: 此服务器的 IP 地址 192.168.56.103 crunchy.lab 域名 ns....
这些脚本将从带有心脏钙化插入物的市售QRM胸模的CT扫描中计算Agatston,体积和质量得分。 除此之外,它还计算一些图像质量测量值。 这些脚本在Python和MATLAB代码中均可用。 有关脚本和所有方法的验证的更多信息,请...
脚本,用于从 Robinhood 上的交易期权和个人股票中查看您的交易历史:计算利润/亏损、总股息支付并生成买入和持有比较。 2020 年 1 月 21 日更新:这段代码太糟糕了,我几乎想从我的 GH 中删除它,但它有效 - 我已经...