Linux-shell练习

1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。

(1)创建.sh脚本文件

root@localhost scripts\]# vim size.sh

(2)编写shell脚本

#!/bin/bash #编译器

##############################################################

File Name: size.sh #脚本名称

Version: V1.0 #脚本版本

Author: Gao_XY #作者名字

Email: Gao_XY@163.com #作者邮箱

Organization:https://blog.csdn.net/ens33?type=blog #作者博客

Created Time : 2025-01-13 16:55:03 #创作时间

Description:

##############################################################

if [ -f /tmp/size.log ]; #使用if判断语句,-f参数:判断/tmp/size.log是否存在

then

echo "this file is exist....." #如果存在,那么输出"this file is exist....."

else #否则

touch /tmp/size.log #创建该文件

echo `date` >> /tmp/size.log #向该文件内输入当前时间

echo "OK" #输出OK

fi #结束if语句

(3)测试

第一次执行脚本时,目录中没有文件则执行创建文件

root@localhost scripts\]# sh size.sh

第二次执行脚本,则该文件已经存在

2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。

(1)创建.sh脚本文件

root@localhost scripts\]# vim add_user.sh

(2)编写脚本

#!/bin/bash

##############################################################

File Name: add_user.sh

Version: V1.0

Author: Gao_XY

Email: Gao_XY@163.com

Organization:https://blog.csdn.net/ens33?type=blog

Created Time : 2024-12-21 15:22:52

Description:

###############################################################

read -p "请输入用户名前缀:" u #输入用户名前缀,该前缀作为变量u

for i in {01..20} #使用for循环,i的范围在1-20之间

do

if ! id -u {u}{i} &>/dev/null #if判断用户名是否为{u}{i},!取反

then

useradd {u}{i} #若不存在,则创建用户

echo 'user'RANDOM \| passwd --stdin {u}${i} &>/dev/null

输出user开头后边加5位随机数,作为{u}{i}用户的密码

else

echo "this ui 存在" #否则输出该用户已存在

fi

done

(3)测试

root@localhost scripts\]# sh add_user.sh 请输入用户名前缀:user

3、编写个shel 脚本将/usr/local 日录下大于10M的文件转移到/tmp目录下。

(1)在创建/usr/local目录下创建大于10M的文件

root@localhost scripts\]# dd if=/dev/zero of=/usr/local/text count=3 bs=10M

(2)创建.sh的脚本文件

root@localhost scripts\]# vim text.sh

(3)编写脚本

#!/bin/bash

##############################################################

File Name: text.sh

Version: V1.0

Author: Gao_XY

Email: Gao_XY@163.com

Organization:https://blog.csdn.net/ens33?type=blog

Created Time : 2025-01-13 19:14:44

Description:

##############################################################

a=`find /usr/local -size +10M` #以文件大小查找大于10Mde文件,定义为变量a

if [ -f $a ]; #判断变量a是否存在

then

cp $a /tmp #若存在复制变量a的内容,移至/tmp文件夹内

echo "this file is OK" #输出"this file is OK"

else #否则

echo "NO" #输出NO

fi #结束

(3)测试

root@localhost scripts\]# sh text.sh

相关推荐
我科绝伦(Huanhuan Zhou)21 分钟前
华为泰山服务器重启后出现 XFS 文件系统磁盘“不识别”(无法挂载或访问),但挂载点目录仍在且无数据
运维·服务器·华为
匆匆那年96742 分钟前
Docker容器中安装MongoDB,导入数据
运维·docker·容器
望获linux1 小时前
【Linux基础知识系列】第四十三篇 - 基础正则表达式与 grep/sed
linux·运维·服务器·开发语言·前端·操作系统·嵌入式软件
眠りたいです1 小时前
Mysql常用内置函数,复合查询及内外连接
linux·数据库·c++·mysql
我的泪换不回玫瑰1 小时前
Linux系统管理命令
linux
万米商云1 小时前
企业物资集采平台解决方案:跨地域、多仓库、百部门——大型企业如何用一套系统管好百万级物资?
大数据·运维·人工智能
jjkkzzzz2 小时前
Linux下的C/C++开发之操作Zookeeper
linux·zookeeper·c/c++
二当家的素材网2 小时前
Centos和麒麟系统如何每天晚上2点10分定时备份达梦数据库
linux·数据库·centos
挑战者6668882 小时前
CentOS 系统高效部署 Dify 全攻略
linux·运维·centos
DD_陈东东2 小时前
gdbus 常用数据结构与库函数
linux