1. 创建一个简单的 shell 程序,其功能为: 使用read命令从键盘上获取文件名 ,判断该文件是否是存在,如果不存在给出提示并退出,判断文件是否是符号链接文件,如果是则移动到/tmp目录下,否则不进行任何处理,显示执行过程以及结果。 2.在/tmp目录下创建四个文件m1.txt,m2.txt,m3.txt,m4.txt,用Shell编程,实现自动创建m1,m2,m3,m4四个目录,并将m1.txt ,m2.txt,m3.txt,m4.txt 四个文件分别拷贝到各自相应的目录下
时间: 2023-06-27 21:05:06 浏览: 435
1. 实现文件判断与移动的shell程序如下:
```bash
#!/bin/bash
echo "请输入文件名:"
read filename
if [ -e $filename ]; then
echo "该文件存在"
if [ -L $filename ]; then
echo "该文件是符号链接文件,正在移动到/tmp目录下"
mv $filename /tmp
echo "移动完成"
else
echo "该文件不是符号链接文件,不进行任何处理"
fi
else
echo "该文件不存在"
exit
fi
```
2. 实现自动创建目录并拷贝文件的Shell程序如下:
```bash
#!/bin/bash
mkdir m1 m2 m3 m4
cp m1.txt m1/
cp m2.txt m2/
cp m3.txt m3/
cp m4.txt m4/
echo "拷贝完成"
```
注意:以上两个程序需要在对应的目录下运行,即第一个程序在要判断文件的目录下运行,第二个程序在/tmp目录下运行。
相关问题
1. 创建一个简单的 shell 程序,其功能为: 使用read命令从键盘上获取文件名 ,判断该文件是否是存在,如果不存在给出提示并退出,判断文件是否是符号链接文件,如果是则移动到/tmp目录下,否则不进行任何处理,显示执行过程以及结果。
可以使用以下代码来实现该功能:
```
#!/bin/bash
echo "请输入文件名:"
read filename
if [ ! -e $filename ]; then
echo "文件不存在"
exit 1
fi
if [ -L $filename ]; then
mv $filename /tmp
echo "已将符号链接文件 $filename 移动到 /tmp 目录下"
else
echo "$filename 不是符号链接文件,不进行任何处理"
fi
```
注:该程序中使用了两个条件判断语句,其中 `! -e` 表示判断文件是否存在,`-L` 表示判断文件是否是符号链接文件。如果条件成立,则执行后面的语句,否则执行 else 语句或者不进行任何处理。
创建一个简单的 shell 程序,其功能为: 使用read命令从键盘上获取文件名(要求文件名为姓名字母缩写+学号后3位,如lyq501),判断该文件是否是存在,如果不存在给出提示并退出,判断文件是否是符号链接文件,如果是则移动到/tmp目录下,否则不进行任何处理,显示执行过程以及结果。
好的,这个问题我可以帮您解答。以下是一个简单的 shell 程序的实现:
```bash
#!/bin/bash
echo "请输入文件名(要求文件名为姓名字母缩写+学号后3位,如lyq501):"
read filename
if [ ! -e "$filename" ]; then
echo "文件不存在,请检查输入的文件名是否正确!"
exit 1
fi
if [ -L "$filename" ]; then
echo "文件是符号链接文件,正在移动至 /tmp 目录下..."
mv "$filename" /tmp/
else
echo "文件不是符号链接文件,不进行任何处理!"
fi
```
解释一下这个程序的实现思路:
1. 首先使用 `echo` 命令提示用户输入文件名,并使用 `read` 命令从键盘上获取文件名。
2. 使用 `if` 命令判断输入的文件名是否存在,如果不存在则输出提示并退出程序,否则继续执行后续操作。
3. 使用 `-L` 参数判断文件是否是符号链接文件,如果是则使用 `mv` 命令将文件移动到 /tmp 目录下,否则不进行任何处理。
4. 使用 `echo` 命令输出执行过程以及结果。
注意事项:
1. 在判断文件是否存在时,使用 `! -e` 参数可以判断文件不存在的情况。
2. 在判断文件是否是符号链接文件时,使用 `-L` 参数。
3. 在移动文件时,使用 `mv` 命令并指定目标路径。
4. 在输出执行过程以及结果时,使用 `echo` 命令即可。
希望这个程序能够帮助到您!
阅读全文