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

目录

1、写一个shell脚本,将以下内容放到脚本中:

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


1、写一个shell脚本,将以下内容放到脚本中:

1、在家目录下创建目录文件,dir

2、dir下创建dir1和dir2

3、把当前目录下的所有文件拷贝到dir1中,

4、把当前目录下的所有脚本文件拷贝到dir2中

5、把dir2打包并压缩为dir2.tar.xz

6、再把dir2.tar.xz移动到dir1中

7、解压dir1中的压缩包

cs 复制代码
#!/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中其他用户的权限改为没有任何权限

cs 复制代码
#!/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

输出结果如下:

相关推荐
lingran__1 小时前
Linux 基础常用指令万字详解(上)|文件目录命令,结合底层原理剖析
linux·运维·服务器·后端·centos·linux基础指令
Dlrb12112 小时前
Linux驱动---sys文件系统自动添加设备节点、添加调试节点以及MISC设备驱动的解释
linux·imx6ull·misc·设备节点·sys文件系统
刘某的Cloud2 小时前
Galera Cluster mariadb 生产环境常见问题排查与运维指南
linux·运维·数据库·mariadb·集群高可用
70asunflower3 小时前
Linux 性能排查分析完全教程
linux·运维
萌新源3 小时前
电赛C题:我用星闪+UWB做了一个数字钥匙门锁系统,开源了
c语言·华为·开源
dok124 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (11)kmalloc 动态内存分配和struct file中的私有数据
linux·驱动开发·算法
不正经学生4 小时前
C语言指针进阶:const 和野指针——给指针加锁,向野指针宣战
c语言·开发语言·c++·算法·c#
无足鸟ICT5 小时前
【RHCA+】if判断
linux
大魔王爱学习5 小时前
终端bash&zsh中实现基于前缀的历史命令搜索
linux·bash
2401_858286115 小时前
OS81.【Linux】基于环形队列的多生产者-多消费者模型
linux·运维·服务器·环形队列