【C高级】有关shell脚本的一些练习

server/2024/9/25 16:49:03/

目录

shell%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E4%BB%A5%E4%B8%8B%E5%86%85%E5%AE%B9%E6%94%BE%E5%88%B0%E8%84%9A%E6%9C%AC%E4%B8%AD%EF%BC%9A-toc" style="margin-left:0px;">1、写一个shell脚本,将以下内容放到脚本中:

2、写一个脚本,包含以下内容:


shell%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E4%BB%A5%E4%B8%8B%E5%86%85%E5%AE%B9%E6%94%BE%E5%88%B0%E8%84%9A%E6%9C%AC%E4%B8%AD%EF%BC%9A">1、写一个shell脚本,将以下内容放到脚本中:

        1、在家目录下创建目录文件,dir
        2、dir下创建dir1和dir2
        3、把当前目录下的所有文件拷贝到dir1中,
        4、把当前目录下的所有脚本文件拷贝到dir2中
        5、把dir2打包并压缩为dir2.tar.xz
        6、再把dir2.tar.xz移动到dir1中
        7、解压dir1中的压缩包

#!/bin/bash#在家目录下创建目录文件dir
`mkdir ~/dir`#在dir下创建dir1和dir2
`mkdir ~/dir/dir1 ~/dir/dir2`#把当前目录下的所有文件拷贝到dir1中
$(cp * ~/dir/dir1/)# 切换到dir目录
$(cd ~/dir)#把当前目录下的所有脚本文件拷贝到dir2中
$(cp *.sh ~/dir/dir2/)#把dir2打包并压缩为dir2.tar.xz
`tar -cJf ~/dir/dir2.tar.xz -C ~/dir dir2` #把dir2.tar.xz移动到dir1中
`mv ~/dir/dir2.tar.xz ~/dir/dir1/`#解压缩dir1中的压缩包
$(tar -xvf ~/dir/dir1/dir2.tar.xz -C ~/dir/dir1/)

输出结果如下:


2、写一个脚本,包含以下内容:

        1、显示/etc/group文件中第五行的内容
        2、创建目录/home/ubuntu/copy
        3、切换工作路径到此目录
        4、复制/etc/shadow到此目录,并重命名为test
        5、将当前目录中test的所属用户改为root
        6、将test中其他用户的权限改为没有任何权限

#!/bin/bash# a. 显示/etc/group文件中第五行的内容
sudo head -n 5 /etc/group | tail -n 1# b. 创建目录/home/ubuntu/copy
sudo mkdir -p /home/ubuntu/copy# c. 切换工作路径到此目录
cd /home/ubuntu/copy# d. 复制/etc/shadow到此目录,并重命名为test
sudo cp /etc/shadow /home/ubuntu/copy/test# e. 将当前目录中test的所属用户改为root
sudo chown root:root /home/ubuntu/copy/test# f. 将test中其他用户的权限改为没有任何权限
sudo chmod a-rwx /home/ubuntu/copy/test# 输出当前目录中的文件权限,以便检查
ls -l /home/ubuntu/copy/test

输出结果如下:


http://www.ppmy.cn/server/121915.html

相关文章

util-linux 和 dosfstools 开发 ,fdisk mkfs工具移植

一.util-linux 是一个开源软件包,包含了许多对 Linux 系统至关重要的工具。它提供了大量的命令行工具,用于管理文件、磁盘、网络等各个方面12。以下是一些主要功能: 磁盘管理:工具如 fdisk、cfdisk 和 partx 用于分区管理。文件系统:包括 mkfs、fsck 和 mount 等工具,用于…

能源化工企业网络推广的意义!

合作咨询联系竑图 hongtu201988 在竞争日益激烈的塑胶化工行业中,企业面临着原材料价格波动、环保压力增大、市场竞争加剧等多重挑战。为了在复杂多变的市场环境中保持竞争力并实现可持续发展,塑胶化工企业迫切需要寻找新的增长点和成本控制手段。其中&…

System V与POSIX信号量的区别与联系

信号量是进程间同步的重要机制,主要用于控制对共享资源的访问。在Linux系统中,信号量主要有两种实现方式:System V信号量和POSIX信号量。 1. 定义与背景 System V信号量: System V信号量是早期Unix系统中的一种信号量机制&#x…

UI自动化测试的边界怎么定义?

标题:定义UI自动化测试的边界:从0到1的详细指南 引言: UI自动化测试是现代软件开发过程中至关重要的一环。为了确保自动化测试的有效性和准确性,我们需要明确定义测试的边界。本文将从0到1为您提供一篇详细且规范的指南&#xf…

openwrt固件选择推荐一:kwrt

前言 本文将推荐第一个openwrt固件Kwrt,帮助openwrt新手用户快速构建自己固件。下篇会推荐第二个Openwrt优秀固件。 一.openwrt定制系统:Kwrt github项目地址:点击跳转 支持300设备 1.提供在线定制页面,定制预装软件 固件在…

数据归组工具

利用C#将数据 [ {"name":"A","fzh":1}, {"name":"A","fzh":2}, {"name":"A","fzh":3}, {"name":"B","fzh":4}, {"name":"B",&…

【机器学习】任务五:葡萄酒和鸢尾花数据集分类任务

目录 1.实验基础知识 1.1 集成学习 (1)随机森林 (2)梯度提升决策树(GBDT) (3)XGBoost (4)LightGBM 1.2 参数优化 (1)网格搜索…

GO Serial 学习与使用

文章目录 主要特性安装基本用法配置选项错误处理其他功能 github.com/goburrow/serial 是一个 Go 包,提供了一种简单的方式来与串口进行交互。以下是该包的主要特性和用法的简要概述: 主要特性 跨平台支持:支持 Windows、macOS 和 Linux。简…