通过 cli 将所有文件和文件夹移动到新创建的目录中

move all files and folders into a newly created directory by cli

我意识到所有文件和文件夹都应该在我忘记创建的父目录中。比如我的文件夹结构是这样的:

Parent_folder
  Folder1
  Folder 2
  other files etc...

我希望它变成

Parent_folder
  My_new_folder
    Folder1
    Folder 2
    other files etc...

可以通过终端完成吗?我必须为此使用 shell 脚本吗?

你可以这样做:

Parent_folder $ ls -1
file1.txt
folder1
folder2
Parent_folder $ mkdir My_new_folder
Parent_folder $ mv * My_new_folder
mv: cannot move 'My_new_folder' to a subdirectory of itself, 'My_new_folder/My_new_folder'
Parent_folder $ tree
.
└── My_new_folder
    ├── file1.txt
    ├── folder1
    └── folder2

3 directories, 1 file

mv 会显示警告,因为它会尝试将新文件夹移动到自身中,但您可以跳过它。

cd (path to the Parent_folder)
mkdir My_new_folder && mv -f -v * My_new_folder

-f在覆盖之前不提示你。 -v 参数用于万一出现错误,并且会很冗长。