【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

输出结果如下:

相关推荐
剑神一笑6 小时前
Linux pgrep 命令详解:按名称查找进程 PID 的高效方法
linux·运维·chrome
剑神一笑6 小时前
Linux killall 命令详解:按进程名批量终止进程的原理与实践
linux·运维·chrome
日取其半万世不竭10 小时前
iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍
linux·运维·服务器
mounter62511 小时前
Linux 内核资源管理:控制组(cgroup)的演进与“策略组”新提案
linux·运维·服务器·cgroup·kernel
bksczm11 小时前
文件在磁盘中的存储方式
linux·运维·服务器
L16247611 小时前
OpenSSH 半自动升级方案(独立编译 + 手动迁移 + 重建 systemd 服务)
linux·服务器·ssh
半旧夜夏11 小时前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器
爱莉希雅&&&12 小时前
zabbix快速搭建和使用
android·linux·数据库·zabbix·监控
z2005093012 小时前
【linux学习】深入理解linux文件I/O,从C标准库到内核态
linux·学习·操作系统
.千余12 小时前
【C++】C++类与对象2:C++构造函数、运算符重载与流输入输出全面解析
c语言·开发语言·前端·c++·经验分享