Linux脚本练习之script041-创建目录 `/tmp/scripts`,切换工作目录至此目录中,复制 `/etc/pam.d` 目录至当前目录,并重命名为 `test`。
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script041-创建目录 `/tmp/scripts`,切换工作目录至此目录中,复制 `/etc/pam.d` 目录至当前目录,并重命名为 `test`。相关的知识,希望对你有一定的参考价值。
script041
题目
写一个脚本:
- 创建目录
/tmp/scripts
- 切换工作目录至此目录中
- 复制
/etc/pam.d
目录至当前目录,并重命名为test
- 将当前目录的
test
及其里面的文件和子目录的属主改为redhat
- 将
test
及其子目录中的文件的其它用户的权限改为没有任何权限
分析
本题考查的知识点:
if
条件判断语句mkdir
命令cd
命令cp
命令id
命令useradd
命令chown
命令chmod
命令
思路:
- 根据步骤一步步来即可。
脚本
#!/bin/bash
####################################
#
# 功能:写一个脚本:
# 1. 创建目录 /tmp/scripts
# 2. 切换工作目录至此目录中
# 3. 复制 /etc/pam.d 目录至当前目录,并重命名为 test
# 4. 将当前目录的 test 及其里面的文件和子目录的属主改为 redhat
# 5. 将 test 及其子目录中的文件的其它用户的权限改为没有任何权限
#
# 使用:直接执行,不需要任何参数
#
####################################
# 变量,目标目录
DEST_DIR="/tmp/scripts"
# 判断目录是否存在,如果不存在则进行创建
if [ ! -d "$DEST_DIR" ]; then
mkdir -p "$DEST_DIR"
fi
# 切换到该目录下
cd "$DEST_DIR" || exit
# 复制 /etc/pam.d 目录至当前目录,并重命名为 test
cp -R "/etc/pam.d" test
# 将当前目录的 test 及其里面的文件和子目录的属主改为 redhat
# 判断用户 redhat 是否存在,如果不存在则创建该用户,如果存在则修改权限
id "redhat" &> /dev/null
if [ $? -ne 0 ]; then
useradd "redhat"
fi
chown -R redhat "./test"
# 将 test 及其子目录中的文件的其它用户的权限改为没有任何权限
chmod -R o-w,o-r,o-x "./test"
测试
执行 ./script041.sh
调用脚本。
以上是关于Linux脚本练习之script041-创建目录 `/tmp/scripts`,切换工作目录至此目录中,复制 `/etc/pam.d` 目录至当前目录,并重命名为 `test`。的主要内容,如果未能解决你的问题,请参考以下文章
Linux脚本练习之script009- 写一个脚本,统计 `/etc/` 目录下共有多少文件和目录。
Linux脚本练习之script001-在 `/home` 目录中创建一百个目录,目录名依次为 `a1,a2,...,a100`。
Linux脚本练习之script036-查找指定目录下的最大文件。
Linux脚本练习之script024-判断用户输入文件路径,显示其文件类型(普通,目录,链接,其它文件类型)。