如何使用终端将文件移动到同名的子文件夹中

如何使用终端将文件移动到同名的子文件夹中

我有一个名为的文件123和一个名为的主文件夹,123其中包含一个同名的子文件夹。

由于终端中的文件和主文件夹具有相同的名称,我该如何将文件移动123到文件夹中?123

答案1

这可以通过将文件从另一个目录移动到同名文件夹中来实现。

下面我写了一个简单的示例来说明如何做到这一点。

cd ~
mkdir test
nano 123
cd test
mkdir 123
cd ~ 
mv 123 test/123

答案2

文件和文件夹不可能有相同的名称。如果你仔细分析名称,你会发现它们的名称并不相同。

在 Linux 中,文件的大小写不同。我敢肯定,您使用123只是为了说明两者都具有相同的文件名abc。名称可以由字母或数字组成。名称甚至可以是空格,也可以是许多符号的组合。文件/目录名称也区分大小写。

以字母命名的文件区分大小写,这意味着以下文件名不同。您可以通过以下组合获得文件目录abc

abc aBc aBC
Abc ABc ABC
abC

您还可以在所有字母开头到结尾以及字母之间放置一个或多个空格。这样,目录名称将有所不同,尽管所有字母都相同,并且看起来相同。

您可以使用以下命令查看名称的详细信息以及哪些是文件夹以及哪些是文件:

$ ls -la

在该命令中,l指定给出长输出,它将向您显示有关该项目的更多详细信息。这样看,您将d在详细信息的最左侧看到一个,以指定该项目是一个文件夹(目录)。您还将在列表中看到实际的项目名称,这将使您更容易看到差异。除非您的系统已损坏,否则可能会有差异,如果损坏,您可能需要运行命令来fsck修复。

您可以考虑将命令的内容添加ls到您的问题中,以便所遇到的问题更加清晰。

ls你可以通过点击进入终端来执行命令AltCntrlT

您可以像移动任何文件一样将文件移动到该名称的目录中。输入文件名的完整路径名和目录名的完整路径名。

以下是一个例子:
(第三行显示同名文件的移动命令。)

$ mkdir /tmp/test
$ mkdir /tmp/test/123
$ echo hello > /tmp/123
$ mv /tmp/123 /tmp/test/123
$ nautilus /tmp/test

如果您在终端窗口中输入上述命令,最后一个命令将打开/tmp/文件夹中测试目录的窗口。它将有一个名为 123 的目录,其中包含一个同名文件。

答案3

试试这个。不过你可以像平常一样做。

mv /path_to_source_folder/123.txt /123/single/

这里第一个是路径,它的文件名带有扩展名,我们使用的主文件夹名称123,后面是您的文件夹,single 我想这样就可以了。

相关内容