命令 "sudo mv home/* *" 有什么作用?
What does the command "sudo mv home/* *" do?
我知道这个命令的每一部分。
sudo mv home/* *
sudo
: 超级用户执行,以 root 权限执行。
mv
: 移动文件或目录。
home/*
:mv 命令的参数。它表示主目录的内容。星号 *
是一个通配符,它以字典顺序扩展到当前目录中的文件列表。
下一个参数是命运文件夹。但是,我指定一个星号作为目标目录,如果我执行该命令,该文件夹将完全消失。那么,*
在这种情况下是什么?
假设您有 /home/userA
、/home/userB
和 /home/userC
。进一步假设您 运行 在包含 1.txt
、2.txt
和目录 3.d
.
的目录中
在那种情况下,这将扩展为:
sudo mv /home/userA /home/userB /home/userC 1.txt 2.txt 3.d
也就是说,两个 glob 都被扩展了——第一个扩展到 /home
中的条目列表,主题扩展到当前工作目录中的文件列表——结果就是一切正在移动到目录 3.d
.
已标记社区 Wiki,因为这是对题外问题的回答。
我知道这个命令的每一部分。
sudo mv home/* *
sudo
: 超级用户执行,以 root 权限执行。mv
: 移动文件或目录。home/*
:mv 命令的参数。它表示主目录的内容。星号*
是一个通配符,它以字典顺序扩展到当前目录中的文件列表。
下一个参数是命运文件夹。但是,我指定一个星号作为目标目录,如果我执行该命令,该文件夹将完全消失。那么,*
在这种情况下是什么?
假设您有 /home/userA
、/home/userB
和 /home/userC
。进一步假设您 运行 在包含 1.txt
、2.txt
和目录 3.d
.
在那种情况下,这将扩展为:
sudo mv /home/userA /home/userB /home/userC 1.txt 2.txt 3.d
也就是说,两个 glob 都被扩展了——第一个扩展到 /home
中的条目列表,主题扩展到当前工作目录中的文件列表——结果就是一切正在移动到目录 3.d
.
已标记社区 Wiki,因为这是对题外问题的回答。