我有一个目录
foo/
bar.txt
baz.yzw
wun/
a.out
Run Code Online (Sandbox Code Playgroud)
现在,我想基本上在两者之间添加一个目录,即我想制作它
foo/
var1/
bar.txt
baz.yzw
wun/
a.out
Run Code Online (Sandbox Code Playgroud)
还打算向 中添加其他内容foo
,但与旧内容分开。
我当然可以这样做:
$ mkdir foo-new
$ mv foo foo-new
$ mv foo-new foo
Run Code Online (Sandbox Code Playgroud)
或者
$ cd foo
$ mkdir var1
$ mv $(ls | grep -v var1) var1
Run Code Online (Sandbox Code Playgroud)
但两者都显得不优雅且容易出错。
有没有更好的方法来做到这一点?
小智 6
您可以简单地创建 var1 目录,将 foo 中的所有文件/文件夹移动到 var1,最后将 var1 移动到 foo 中
$ mkdir var1
$ mv foo/* var1
$ mv var1 foo/
Run Code Online (Sandbox Code Playgroud)
$ cd foo
$ mkdir var1
$ mv * var1
Run Code Online (Sandbox Code Playgroud)
shell 和mv
命令足够智能,不会尝试将 var1 目录移动到自身中。