在 Ubuntu 中,你可以通过编写一个 shell 脚本来自定义 copird
命令的功能。以下是一个简单的示例,展示了如何创建一个名为 copird
的脚本,该脚本将源目录中的所有文件和子目录复制到目标目录,并在复制过程中显示进度信息。
打开终端。
使用文本编辑器(如 nano 或 vim)创建一个名为 copird
的新脚本文件。例如,使用 nano 编辑器:
nano copird
copird
文件中:#!/bin/bash
# 检查参数数量
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <source_directory> <destination_directory>"
exit 1
fi
# 获取源目录和目标目录
source_directory="$1"
destination_directory="$2"
# 检查源目录是否存在
if [ ! -d "$source_directory" ]; then
echo "Source directory does not exist."
exit 1
fi
# 如果目标目录不存在,则创建它
if [ ! -d "$destination_directory" ]; then
mkdir -p "$destination_directory"
fi
# 复制文件和子目录,并显示进度信息
find "$source_directory" -type f -print0 | while IFS= read -r -d $'\0' file; do
relative_path="${file#$source_directory}"
destination_file="$destination_directory${relative_path#$source_directory}"
mkdir -p "$(dirname "$destination_file")"
cp --progress "$file" "$destination_file"
echo "Copied: $relative_path"
done
echo "Copy completed."
保存并关闭文件。
使脚本可执行:
chmod +x copird
现在,你可以使用自定义的 copird
命令来复制文件和子目录。例如:
./copird /path/to/source /path/to/destination
这个示例脚本仅用于演示目的,你可以根据需要修改它以实现所需的功能。