标签: mv

Linux命令移动目录

我的旧目录和新目录中包含相同的文件夹和文件.

我尝试:

mv -if old/* new/*
Run Code Online (Sandbox Code Playgroud)

并得到错误

mv:无法将./xxxxxx'移动到自身的子目录中

我该怎么移动它?

linux command-line mv

25
推荐指数
2
解决办法
6万
查看次数

mv等效rsync命令

我正在尝试使用命令行将文件夹移动到另一个文件夹,如果已经存在则覆盖,但是当使用mv时我收到错误"是一个目录".

例:

mv src/test/ dest/
Run Code Online (Sandbox Code Playgroud)

src/test /上有很多文件和文件夹,dest /上也有一些文件和一些文件夹

我希望dest/上的文件和文件夹替换为src/test /中的文件和文件夹,如果存在,例如:

src/test/bla/boo replaces dest/bla/boo
src/test/bla/bla/boo replaces dest/bla/bla/boo
Run Code Online (Sandbox Code Playgroud)

另外,每次完成一个文件传输,从src/test/删除一个文件

整体转移进度条将是好的..

我应该使用什么rsync标志来实现这一目标?

linux bash rsync mv

19
推荐指数
1
解决办法
1万
查看次数

仅当文件存在于shell脚本中时才移动

作为备份脚本的一部分,我想调用mv一个文件来重命名它:

mv example.txt example2.txt
Run Code Online (Sandbox Code Playgroud)

如果该文件不存在,我收到错误:

mv: cannot stat ‘example.txt’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果文件已经存在,我该如何调用mv?

我真的不想重定向stderr,dev/null因为我很想保留任何其他错误.

linux sh mv

19
推荐指数
3
解决办法
2万
查看次数

如何在Unix/Linux操作系统上移动给定数量的随机文件

我正面临着这个简单的任务,但我也想知道最简单的方法是什么.

我的建议是将一个给定数量的随机文件从一个目录移动到另一个目录.此任务是创建机器学习所需的两个数据集的一部分:训练集和测试集.我的目标是从目录中移除10%的文件以获取数据集agaist,我可以测试我的分类程序,并从源目录中获取训练集.

那么,这个"移动n随机文件"任务最紧凑的输入是什么?

提前谢谢 - 像往常一样 -

unix linux mv

18
推荐指数
2
解决办法
1万
查看次数

什么是cp:在Unix中无法统计错误,我在尝试将东西从一个文件夹复制到另一个文件夹时出现此错误

嗨,我想知道为什么我收到此错误.我有这个名为mock的目录,里面有另外3个目录.我试图使用下面的代码将模拟目录中的所有项目复制到projweek目录中.

cp  /mock/* ~/projweek
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误

cp: cannot stat ‘mock/*’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

关于为什么那样的任何想法?

unix bash command-line mv cp

16
推荐指数
5
解决办法
4万
查看次数

以递归方式将特定类型的所有文件移动到Bash中的目标目录中

如何将所有.txt文件从文件夹和所有包含的文件夹移动到目标目录中.

并且最好将它们重命名为包含在其中的文件夹,尽管这并不重要.我对bash并不熟悉.

bash recursion mv

15
推荐指数
2
解决办法
3万
查看次数

在Unix/Linux中将文件移动到不同目录所需的权限

我想澄清所需的权限,以便将文件A从目录B移动到目录C(我认为该命令将是"mv B/AC/A"),名称不变.

我是否认为需要以下内容?

  1. 执行移动的用户/组必须具有目录B的写入权限(或者B必须设置权限标志以允许所有用户/组写入它)
  2. 执行移动的用户/组必须具有目录C的写权限(或者C必须设置权限标志以允许所有用户/组写入它)
  3. 执行移动的用户/组必须具有文件A的写入权限(或者A必须设置权限标志以允许所有用户/组写入它)

谢谢.

unix linux file-permissions mv

14
推荐指数
1
解决办法
4万
查看次数

UNIX命令mv和rm如何处理打开的文件?

如果我正在读取存储在NTFS文件系统上的文件,并且我尝试在该文件仍被读取时移动/重命名该文件,我将无法这样做.如果我在UNIX文件系统(例如EXT3)上尝试此操作,则会成功,并且执行读取的进程不受影响.我甚至可以将文件和阅读过程不受影响.这是如何运作的?有人可以向我解释为什么在UNIX文件系统下支持这种行为而不支持NTFS吗?我有一种模糊的感觉,它与硬链接和inode有关,但我很感激一个很好的解释.

unix filesystems ntfs mv

13
推荐指数
2
解决办法
6772
查看次数

bash错误重命名带空格的文件 - mv target不是目录

我正在尝试重命名一堆包含空格的文件,摆脱空格.我以为我找到了正确的bash命令:

for f in *.txt; do mv \"$f\" ${f/ /}; done
Run Code Online (Sandbox Code Playgroud)

但是,这会为每个文件提供错误"mv:target不是目录".如果我在命令中用'echo mv'替换'mv',它会为每个文件打印正确的mv命令,如果我单独键入任何这些mv命令,它们就可以工作.例如,如果我有2个文件,"a .txt"和"b .txt",并运行上面的命令,我得到:

mv: target 'a.txt' is not a directory
mv: target 'b.txt' is not a directory
Run Code Online (Sandbox Code Playgroud)

如果我输入命令:

for f in *.txt; do echo mv \"$f\" ${f/ /}; done
Run Code Online (Sandbox Code Playgroud)

我明白了:

mv "a .txt" a.txt
mv "b .txt" b.txt
Run Code Online (Sandbox Code Playgroud)

我找到了另一种方法,使用"重命名",但我想知道为什么这不起作用.

bash loops for-loop rename mv

12
推荐指数
2
解决办法
2万
查看次数

如何在没有参数列表太长的情况下移动多个文件?

我试图在我的Ubuntu服务器中将大约700,000个.jpg文件从一个目录移动到另一个目录.我尝试了以下方法:

xargs mv *  -t /var/www/html/
Run Code Online (Sandbox Code Playgroud)

echo (*.jpg|*.png|*.bmp) | xargs mv -t /var/www/html/
Run Code Online (Sandbox Code Playgroud)

echo (*.jpg) | xargs mv -t /var/www/html/
Run Code Online (Sandbox Code Playgroud)

find . -name "*.jpg" -print0 | xargs mv * ../
Run Code Online (Sandbox Code Playgroud)

它们都给我同样的错误:/ usr/bin/xargs:参数列表太长了

我该怎么办?请帮帮我.谢谢 :)

linux ubuntu xargs mv

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

mv ×10

linux ×6

bash ×4

unix ×4

command-line ×2

cp ×1

file-permissions ×1

filesystems ×1

for-loop ×1

loops ×1

ntfs ×1

recursion ×1

rename ×1

rsync ×1

sh ×1

ubuntu ×1

xargs ×1