Skip to content

项目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

脚本使用方法

  1. 保存脚本文件:
bash
nano file_manager.sh
  1. 添加执行权限:
bash
chmod +x file_manager.sh
  1. 运行脚本:
bash
./file_manager.sh

脚本功能说明

  • 创建目录:创建指定的目录,支持嵌套目录
  • 复制文件:复制文件或目录到指定位置
  • 移动文件:移动文件或目录到指定位置,也可用于重命名
  • 删除文件:删除指定的文件或目录
  • 搜索内容:在指定目录中搜索关键词
  • 修改权限:修改文件的权限
  • 退出:退出脚本

这个脚本提供了一个简单的控制台界面,方便用户执行常用的文件管理操作。

© 2026 编程马·菜鸟教程 版权所有