【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

输出结果如下:

相关推荐
意趣新5 小时前
C 语言源文件从编写完成到最终生成可执行文件的完整、详细过程
c语言·开发语言
张火火isgudi5 小时前
fedora43 安装 nvidia 驱动以及开启视频编解码硬件加速
linux·运维·视频编解码·nvidia
IT19956 小时前
Qt笔记-使用SSH2进行远程连接linux服务器并上传文件
linux·服务器·笔记
XXYBMOOO6 小时前
内核驱动开发与用户级驱动开发:深度对比与应用场景解析
linux·c++·驱动开发·嵌入式硬件·fpga开发·硬件工程
lengjingzju8 小时前
一网打尽Linux IPC(三):System V IPC
linux·服务器·c语言
大聪明-PLUS8 小时前
如何编写你的第一个 Linux 内核模块
linux·嵌入式·arm·smarc
知识分享小能手8 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04文件压缩与解压缩知识点详解(12)
linux·学习·ubuntu
用户6135411460168 小时前
Krb5-libs-1.18.2-5.ky10.x86_64.rpm 安装失败怎么办?附详细步骤
linux
范纹杉想快点毕业9 小时前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
zhougl99610 小时前
Vuex 模块命名冲突:问题解析与完整解决方案
linux·服务器·apache