1、判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.”

#!/bin/bash
#
LINES=`wc -l /etc/inittab`
echo LINES
FINLINES=`echo $LINES | cut -d‘ ‘ -f1`
echo $FINLINES
[ $FINLINES -gt 100 ] && echo "/etc/inittab is a big file." || echo "/etc/inittab is a small file."

2、给定一个用户,来判断这个用户是什么用户,如果是管理员用户,则显示“该用户为管理员”,否则显示“该用户为普通用户”

#!/bin/bash
#
USERID=`id -u $1`
if [ $USERID -eq 0 ]; then
echo "Admin"
else
echo "Common user."
fi

3、判断某个文件是否存在

#!/bin/bash
#if [ -e $1 ]; then
echo "File exists."
else
echo "File does not exists."
fi

4、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】

#!/bin/bash
#
BASHLINE=`grep "bash$" /etc/passwd | wc -l`

if [ $BASHLINE -eq 0 ]; then
  echo "We don‘t have /bin/bash user."
else
  echo "We have $BASHLINE user,This number is $BASHLINE."
  echo "grep bash$ /etc/passwd | cut -d‘:‘ -f1"
fi

5、写出一个脚本程序,给定一个文件,比如:/etc/inittab a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的行号,否则显示没有空白行

#!/bin/bash
#
SPACELINE=`grep "^$" $1 | wc -l`

if [ $SPACELINE -eq 0 ]; then
  echo "This file not have space line."
else
  echo "This file have $SPACELINE space line.This number is $SPACELINE."
fi

6、写一个脚本程序,给定一个用户,判断其UID与GID是否一样,如果一样,就显示该用户为“good guy”,否则显示为“bad guy”

#!/bin/bash
#
USERID=`id -u $1`
GRPID=`id -g $1`

if [ $USERID -eq $GRPID ]; then
echo "good guy."
else
echo "bad guy."
fi

7、写一个脚本程序,给定一个用户,获取其密码警告期限;然后判断用户最近一次修改密码的时间距离今天是否已经小于警告期限;

#!/bin/bash
#
W=`grep "abc" /etc/shadow | cut -d: -f6`
S=`date +%s`
T=`expr $S/86400`
L=`grep "^abc" /etc/shadow | cut -d: -f5`
N=`grep "^abc" /etc/shadow | cut -d: -f3`
SY=$[$L-$[$T-$N]]

if [ $SY -lt -$W ]; then
echo "Worning"
else
echo "OK"
fi

8、判断命令历史中历史命令的总条目是否大于1000,如果大于,则显示“some command will gone”,否则显示OK

#!/bin/bash
#
HISTLINE=`history | wc -l`

if [ $HISTLINE -ge 1000 ]; then
echo "Some command will gone."
else
echo "ok"
fi

9、给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”

#!/bin/bash
#
if [ ! -e $1 ]; then
echo "No such file."
exit 6
fi

if [ -f $1 ]; then
echo "Common file."
elif [ -d $1 ]; then
echo "Directory."
else
echo "Unknown."
fi

10、写一个脚本,能接受一个参数(文件路径),判断这个参数如果是一个存在的文件就显示“ok”,否则显示“No such file”

#!/bin/bash
#
if [ $# -lt 1 ]; then
echo "Usage: ./JudgeFile2.sh AG1 [AG2 ...]"
exit 7
fi
if [ -e $1 ]; then
echo "OK."
else
echo "No such file."
fi

11、写一个脚本,给脚本传递两个参数,显示两则之和和两者之积

#!/bin/bash
#
if [ $# -lt 2 ]; then
echo "Usage: cacl.sh ARG1 ARG2"
exit 8
fi
echo "The sum is:$[$1+$2]"
echo "The prod is:$[$1*$2]"

Linux习题的更多相关文章

  1. 跟阿铭学Linux习题答案

    第一章:走进Linux 1.简述它的发展历史,列举几种代表性的发行版 Linux之前是Unix,由于Unix收费昂贵,so,Richard Stallman 发起了开发自由软件的运动,并成立了自由软件 ...

  2. 2019年10月13日 linux习题 wangqingchao

    1. GUN的含义是: GNU's Not UNIX . 2. Linux一般有3个主要部分:内核.命令解释层.实用工具. 3.POSIX是可携式操作系统接口的缩写,重点在规范核心与应用程序之间的接口 ...

  3. Linux习题1

    1. GUN的含义是:     GNU's Not UNIX    . 2. Linux一般有3个主要部分:内核.命令解释层.实用工具. 3.POSIX是可携式操作系统接口的缩写,重点在规范核心与应用 ...

  4. Linux习题小结

    1.输出当前下的目录.ls -l 长格式输出. (1)使用grep 因为第一个 ls -l 的第一个标识代表的是文件类型,所以使用 grep 过滤以 d 开头的行,输出的就只是目录了. 正则表达式 g ...

  5. linux高级应用第九章-正则表达式

    笔记部分 基础正则表达式: ^   第1个符号 ,以什么什么开头   ^m $  第2个符号,以什么什么结尾  m$    ,还表示空行,或空格,可以用cat  -An 试一下 ^$ 第3个符号,空行 ...

  6. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  7. linux shell习题训练

    shell习题训练 求2个数之和 计算1-100的和 将一目录下所有的文件的扩展名改为bak 编译当前目录下的所有.c文件: 打印root可以使用可执行文件数,处理结果: root's bins: 2 ...

  8. linux shell习题

    课件地址:https://wenku.baidu.com/view/bac2ff10f18583d0496459f3.html 1.测试环境变量:HOME,PWD,IFS等2.测试位置变量:$$,$# ...

  9. Linux程序编辑器习题汇总

    简答题部分: 1.我用vi开启某个档案后,要在第34行向右移动15个字符,应该在一般模式中下达什么指令? (1)先按下34G到34行:(2)再按下[l5+向右键],或[l5l]亦可! 2.在vi开启的 ...

  10. 鸟哥私房菜基础篇:Linux 磁碟与档案系统管理习题

    猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0230filesystem.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-我们常常说,开机的时候 ...

随机推荐

  1. SpringCloud-Study

    SpringCloud-Study 一.微服务简介 1.单体架构和分布式架构 单体架构 分布式架构 分布式架构的问题 解决方案 小结 2.微服务 微服务技术 微服技术对比 3.SpringCloud ...

  2. flutter Color和colors

    "Color(颜色)"是我们在设置应用程序界面样式时最常用到的属性. Flutter 中颜色设置的方式有很多种,其中最常用的有下列几种: Color c1 = Color(0xFF ...

  3. Bat命令进行压缩X文件夹下的文件夹及文件

    输出日志 echo off for /d %%i in (D:\project101\trunk\x_client\xProject\Assets\AssetBundles\Android~\*.) ...

  4. 运行Django项目报错

    运行 pip install -r requirements.txt -i https://pypi.douban.com/simple

  5. mysql在windows下安装

    参考博客:https://blog.csdn.net/weixin_43423484/article/details/124408565

  6. Vmware workstation虚拟机导入到esxi虚拟机

    VMware Workstation 与 ESXi 的主要区别 VMware Workstation是直接在windows系统下安装软件,安装后再在软件里面安装虚拟机,而ESXi相当于一个linux操 ...

  7. SqlSugar 代码生成 数据库及表

    在实际开发中如何在sqlsugar中通过model生成数据表呢? 废话不说上代码 一.引入sqlsugarcore 二.编写Model代码 先写一个model举例 namespace 用户管理.Mod ...

  8. SAP物料类型

    1.物料主数据界面设置行业领域默认值并隐藏行业领域 2.物料类型设置:主要控制视图需要维护的部门,是否可以采购,及是否进行数量或者价值更新等操作 spro --> 后勤常规--> 物料主数 ...

  9. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test (default-test) on project

    updated to from jdk16 Java jdk 8 or 11 to support jenkins Build run. Plugin management tags aligned ...

  10. String intern的理解

    String s1 = "Programming";   s1在栈内存中,Programming在常量池中. String s2 = new String("Progra ...