Appearance
项目1:控制台版文件管理工具
实现目录创建、文件复制/移动/删除
在这个项目中,我们将学习如何使用Linux命令行实现基本的文件管理操作。
目录创建
使用 mkdir 命令创建目录:
bash
# 创建单个目录
mkdir mydir
# 创建嵌套目录
mkdir -p parent/child/grandchild文件复制
使用 cp 命令复制文件:
bash
# 复制单个文件
cp source.txt destination.txt
# 复制目录(递归)
cp -r source_dir destination_dir文件移动
使用 mv 命令移动文件:
bash
# 移动文件
mv source.txt destination.txt
# 重命名文件
mv old_name.txt new_name.txt
# 移动目录
mv source_dir destination_dir文件删除
使用 rm 命令删除文件:
bash
# 删除单个文件
rm file.txt
# 删除目录(递归)
rm -r dir
# 强制删除(不提示)
rm -f file.txt实现文件内容搜索、权限修改
文件内容搜索
使用 grep 命令搜索文件内容:
bash
# 在文件中搜索关键词
grep "keyword" file.txt
# 递归搜索目录
grep -r "keyword" dir/
# 显示行号
grep -n "keyword" file.txt
# 忽略大小写
grep -i "keyword" file.txt权限修改
使用 chmod 命令修改文件权限:
bash
# 使用数字方式修改权限
chmod 755 file.txt
# 使用符号方式修改权限
chmod u+x file.txt # 给用户添加执行权限
chmod g+w file.txt # 给组添加写入权限
chmod o-r file.txt # 移除其他用户的读取权限使用 chown 命令修改文件所有者:
bash
# 修改所有者
chown user file.txt
# 修改所有者和组
chown user:group file.txt编写简单脚本,一键执行常用操作
创建一个名为 file_manager.sh 的脚本:
bash
#!/bin/bash
# 显示菜单
echo "文件管理工具"
echo "1. 创建目录"
echo "2. 复制文件"
echo "3. 移动文件"
echo "4. 删除文件"
echo "5. 搜索内容"
echo "6. 修改权限"
echo "7. 退出"
read -p "请选择操作: " choice
case $choice in
1)
read -p "请输入目录名: " dir_name
mkdir -p "$dir_name"
echo "目录创建成功: $dir_name"
;;
2)
read -p "请输入源文件: " source
read -p "请输入目标文件: " destination
cp -r "$source" "$destination"
echo "文件复制成功"
;;
3)
read -p "请输入源文件: " source
read -p "请输入目标文件: " destination
mv "$source" "$destination"
echo "文件移动成功"
;;
4)
read -p "请输入要删除的文件或目录: " target
rm -r "$target"
echo "删除成功"
;;
5)
read -p "请输入搜索关键词: " keyword
read -p "请输入搜索目录: " dir
grep -r "$keyword" "$dir"
;;
6)
read -p "请输入文件路径: " file
read -p "请输入权限数字: " perm
chmod "$perm" "$file"
echo "权限修改成功"
;;
7)
echo "退出程序"
exit 0
;;
*)
echo "无效选择"
;;
esac脚本使用方法
- 保存脚本文件:
bash
nano file_manager.sh- 添加执行权限:
bash
chmod +x file_manager.sh- 运行脚本:
bash
./file_manager.sh脚本功能说明
- 创建目录:创建指定的目录,支持嵌套目录
- 复制文件:复制文件或目录到指定位置
- 移动文件:移动文件或目录到指定位置,也可用于重命名
- 删除文件:删除指定的文件或目录
- 搜索内容:在指定目录中搜索关键词
- 修改权限:修改文件的权限
- 退出:退出脚本
这个脚本提供了一个简单的控制台界面,方便用户执行常用的文件管理操作。
