Linux下的shell指令(二)

发布于:2025-03-07 ⋅ 阅读:(12) ⋅ 点赞:(0)

作业

1>    编写脚本,实现文件分类的功能。
   编写脚本的过程中,要特别注意路径问题 
1.判断用户的家目录($HOME)下是否存在 file_dir 这个目录文件
如果存在,则询问用户是否清空,如果用户输入的是Y,则清空该目录文件
如果用户输入的不是 Y 则不清空,退出脚本(exit)
如果不存在,则新建该目录文件

##########################################################################
# File Name: homework1.sh
# Author: Water
# mail: 1249496568@qq.com
# Created Time: 2025年03月05日 星期三 21时07分28秒
#########################################################################
#!/bin/zsh
PATH=/home/edison/bin:/home/edison/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/work/tools/gcc-3.4.5-glibc-2.3.6/bin
export PATH
cd ~
dir="file_dir"
if [ -e "$dir" ]
then
	read -p "是否清空“~/file_dir”目录文件[Y/n]:" CHOOSE
	case "$CHOOSE" in
		[Yy]|[Yy][Ee][Ss])
			rm -r ~/file_dir
			echo "~/file_dir已删除"
			ls ~
			;;
		*)
			ls ~
			exit
			;;
	esac
else
	mkdir ~/file_dir
	ls ~
fi

2.判断用户的家目录($HOME)下是否存在 dir_dir 这个目录文件
如果存在,则询问用户是否清空,如果用户输入的是Y,则清空该目录文件
如果用户输入的不是 Y 则不清空,退出脚本(exit)
如果不存在,则新建该目录文件

##########################################################################
# File Name: homework2.sh
# Author: Water
# mail: 1249496568@qq.com
# Created Time: 2025年03月05日 星期三 21时40分23秒
#########################################################################
#!/bin/zsh
PATH=/home/edison/bin:/home/edison/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/work/tools/gcc-3.4.5-glibc-2.3.6/bin
export PATH
cd ~
dir="dir_dir"
if [ -e "$dir" ]
then
	read -p "是否清空“~/dir_dir”目录文件[Y/n]:" CHOOSE
	case "$CHOOSE" in
		[Yy]|[Yy][Ee][Ss])
			rm -r ~/dir_dir
			echo "~/dir_dir已删除"
			ls ~
			;;
		*)
			ls ~
			exit
			;;
	esac
else
	mkdir ~/dir_dir
	ls ~
fi

3.输入一个指定的路径 (最好是绝对路径)
将该路径下的所有普通文件都拷贝到 file_dir 中
将该路径下的所有目录文件都拷贝到 dir_dir 中
并分别统计操作了多少个目录文件 和 多少个普通文件

##########################################################################
# File Name: homework3.sh
# Author: Water
# mail: 1249496568@qq.com
# Created Time: 2025年03月05日 星期三 21时45分20秒
#########################################################################
#!/bin/zsh
PATH=/home/edison/bin:/home/edison/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/work/tools/gcc-3.4.5-glibc-2.3.6/bin
export PATH
cp -f * ~/file_dir/
echo "文件数量为:"
ls ~/file_dir/ | wc -l
cp -r ../* ~/dir_dir/
echo "文件夹数量为:"
ls ~/dir_dir/ | wc -l

2>    将makefile的内容好好看看,并且进行编译

yunxing:
	@gcc test.c -o yunxing
clean:
	@rm yunxing

3>    将linux_c前面的内容好好复习