移动与文件夹名称相同的文件

移动与文件夹名称相同的文件

如何移动与文件夹同名的文件

例如:

#ls
total 2
.
..
-rwxr-xr-x  1 root     root      230 Jan 16 10:39   food <file to move>
drwx--x--x 12 root     root     4096 Jan 16 11:25   food <directory>

我想将食物移入食物目录。

最终输出应该是food/food.ini

当我使用时#mv food food/food.ini出现错误

mv: cannot move `food' to a subdirectory of itself, `food/food.ini'

更新:

该文件使用以下命令创建:

cp foods1 ../food

其中食物文件夹位于父目录中。

我可以使用 webmin 移动。但是尝试使用 vi 编辑器编辑时该文件不存在。

答案1

您可以尝试这样的事情:

find ./ -name food -type f -exec mv {} ./food/{} \;

答案2

我无法重复您在同一文件夹中创建同名文件和目录的方法,但您可以通过 find 命令之类的方法使用文件的 inode 编号(而不是名称)移动文件来清理这种情况。

[jpaulus@localhost test]$ ls -lhi
total 4.0K
26086760 drwxrwxr-x 2 jpaulus jpaulus 4.0K Jan 15 23:19 test
26086768 -rw-rw-r-- 1 jpaulus jpaulus    0 Jan 15 23:19 test1

find . -inum 26086760 -exec mv {} new_directory/new_filename \;

[jpaulus@localhost test]$ ls -lh
total 0
-rw-rw-r-- 1 jpaulus jpaulus 0 Jan 15 23:19 test1

相关内容