以递归方式将所有.php文件复制/备份到.php.bak文件中,并将它们保存在当前路径中

时间:2014-08-29 01:32:20

标签: shell command backup

我不确定如何用这个问题来轻松地在线找到解决方案,所以经过多次搜索后我想在这里问。

我使用bitvise ssh客户端访问我的网站文件,我使用命令行处理我最近教过的各种grep和sed函数,但我似乎找不到简单的方法这样做:

以.php结尾的每个文件的备份副本(.bak)是什么命令行?我正在寻找立即备份每个php文件的命令,所以当我进入我的文件时,我会看到类似的东西......

的index.php

index.php.bak

对于每个php文件。

此外,无论扩展名是什么,一次为每个文件执行此操作的命令行是什么?

2 个答案:

答案 0 :(得分:0)

您只需使用cp命令

即可

输入你拥有所有.php文件的目录,然后输入

cp *.php temp/其中temp是当前目录中的目录。 *表示all

如果您只想复制整个文件夹

cp -R foldername destinationArea

答案 1 :(得分:0)

看到使用xargsfind' s -exec的解决方案真棒。

但是这里有一个shell循环和find如何做到这一点:

注意,这会以递归方式备份子目录中的文件。

对于.php文件:

find . -iname '*.php' -type f -print0 | while read -d $'\0' file; do cp "$file" "$file.bak"; done

对于所有文件:

find . -type f -print0 | while read -d $'\0' file; do cp "$file" "$file.bak"; done

对于所有具有扩展名的文件:

find . -iname '*.*' -type f -print0 | while read -d $'\0' file; do cp "$file" "$file.bak"; done