shell脚本(9.20)

news/2024/9/23 5:07:16/

1、 写一个shel脚本,将以下内容放到脚本中
a.在家目录下创建目录文件,dir
b.dir下创建dir1和dir2
c.把当前目录下的所有文件拷贝到dir1中
d.把当前目录下的所有脚本文件拷贝到dir2中
e.把dir2打包并压缩为dir2.tar.xz
f.再把dir2.tar.xz移动到dir1中
g.解压dir1中的压缩包

bash">#!/bin/bash
echo "第五行的内容:"
head -5 /etc/group | tail -1
echo "创建目录..."
mkdir /home/ubuntu/copy
echo "切换到目录..."
cd /home/ubuntu/copy
echo "复制文件..."
sudo cp /etc/shadow ./test
echo "更改文件所属用户..."
sudo chown root test 
echo "更改文件权限..."
sudo chown 770 test 

2、写一个脚本,包含以下内容:
a.显示/etc/group文件中第五行的内容
b.创建目录/home/ubuntu/copy
c.切换工作路径到此目录
d.复制/etc/shadow到此目录,并重命名为test
e.将当前目录中test的所属用户改为root
f.将test中其他用户的权限改为没有任何权限

bash">#!/bin/bash 
mkdir ~/dir
mkdir ~/dir/dir1
mkdir ~/dir/dir2 
cp * ~/dir/dir1/
cp *.sh ~/dir/dir2/
cd ~/dir/dir2
tar -cvJf dir2.tar.xz *
mv dir2.tar.xz ~/dir/dir1/ 
cd ~/dir/dir1 
tar -xvJf dir2.tar.xz 

3、已知网址www.hqyj.com,使用expr截取出www、hqyj、com,不能使用
cut,不能出现数字

bash">#!/bin/bash
url="www.bing.com"# 截取www
www=$(expr match "$url" '\(www\)')
echo "www: $www"# 截取bing
bing=$(expr match "$url" 'www\.\(.*\)\..*')
echo "bing: $bing"# 截取com
com=$(expr match "$url" '.*\.\(com\)')
echo "com: $com"


http://www.ppmy.cn/news/1529165.html

相关文章

linux下共享内存的3种使用方式

进程是资源封装的单位,内存就是进程所封装的资源的一种。一般情况下,进程间的内存是相互隔离的,也就是说一个进程不能访问另一个进程的内存。如果一个进程想要访问另一个进程的内存,那么必须要进过内核这个桥梁,这就是…

C++中string类的模拟实现

目录 1.string类的结构 2.默认成员函数 2.1.默认构造函数 2.2拷贝构造函数 2.3赋值运算符重载 2.4析构函数 3.迭代器(Iterators) 4.string类的空间操作(Capacity) 4.1size() 4.2capacity() 4.3clear() 4.4reserve() 5.元素访问(Element access) 6.string类的修…

LeetCode_sql_day31(1384.按年度列出销售总额)

目录 描述 1384.按年度列出销售总额 数据准备 分析 法一 法二 代码 总结 描述 1384.按年度列出销售总额 Product 表: ------------------------ | Column Name | Type | ------------------------ | product_id | int | | product_name | var…

NodeJs文档

文件操作 // 1. 导入fs模块 const fs require(fs)文件写入 //异步写入 // fs.writeFile(文件名, 待写入的数据, 选项设置(可选), 回调函数) fs.writeFile(./座右铭.txt, 三人行,必有我师傅, err > {/…

MySQL函数介绍--日期与时间函数(二)

我相信大家在学习各种语言的时候或多或少听过我们函数或者方法这一类的名词,函数在计算机语言的使用中可以说是贯穿始终,那么大家有没有思考过到底函数是什么?函数的作用又是什么呢?我们为什么要使用函数?其实&#xf…

C++基础知识7 list

list 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 2.1 模拟实现list 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 l…

Qt中的延时

单次触发延时 单次触发延时是指定时器在指定的延时后触发一次&#xff0c;然后自动停止。这种方式非常适合只需要延时执行一次操作的场景。 #include <QTimer> #include <QObject>class MyClass : public QObject {Q_OBJECT public:MyClass() {QTimer::singleSho…

MyBatis XML映射文件编写【后端 18】

MyBatis XML映射文件编写 MyBatis 是一个优秀的持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射&#xff0c;将接口和 Java 的 POJOs …