我不太确定刚刚发生了什么,我所做的只是运行:
~/Desktop$ mv sublime.desktop \~/.local/share/applications/
Run Code Online (Sandbox Code Playgroud)
\之前的标志~/.local是自动完成的,所以我认为可以运行它。
但是/.local/share/applications/,该命令没有将桌面文件移动到(这是我的意图),而是在桌面上创建了新文件夹。(~是文件夹)
Liso@thinkpad:~/Desktop$ ls
~ backup.sql Apps
Run Code Online (Sandbox Code Playgroud)
当我尝试删除时~:
~/Desktop$ rmdir ~
rmdir: failed to remove ‘/home/liso’: Permission denied
Run Code Online (Sandbox Code Playgroud)
那么我实际上错过了什么?
编辑
@Ravexina 要求我运行test命令以确认它是目录还是文件。
Liso@thinkpad:~/Desktop$ test -d \~ && echo "it's a dir"
it's a dir`
Run Code Online (Sandbox Code Playgroud)
Rav*_*ina 10
你没有移动你的主目录...
所以使用\~你是通过引用它来跳过波浪号扩展。意味着您实际上是在说:将“sublime.desktop”移动到一个完全命名为“~...”的新文件。
我无法重现您命令的结果,但不知何故,您最终得到了一个完全命名为~.
检查它是文件还是目录并获取其内容列表:
test -d ~/Desktop/~ && ls -l ~/Desktop/~ || echo 'it is a file'
Run Code Online (Sandbox Code Playgroud)
然后将它们移动到正确的路径,如果它是一个将其移回的文件,则必须再次转义其名称,否则它将扩展为/home/liso:
mv \~ new-name
mv "~" new-name # works
mv '~' new-name # also works
mv ~/Desktop/~ new-name # works fine too
Run Code Online (Sandbox Code Playgroud)
请记住,rmdir ~您正在尝试删除实际的主目录:/home/liso而不是~.
波浪号由外壳扩展到用户的 $HOME ,在您的情况下/home/liso。在您转义的第一个命令中~,它没有扩展到您想要的位置,而是直接mv作为符号传递给~。
我想你想跑
mv sublime.desktop ~/.local/share/applications
Run Code Online (Sandbox Code Playgroud)
(带有可选的尾随/)
我希望你说你跑的命令会像这样失败
mv: cannot move 'sublime.desktop' to '~/.local/share/applications/': No such file or directory
Run Code Online (Sandbox Code Playgroud)
因为mv不会像那样创建目标目录。如果你真的运行了那个命令,我想你一定已经~在你的Desktop路径中有一个实际命名的目录,即
/home/liso/Desktop/\~/.local/share/applications
Run Code Online (Sandbox Code Playgroud)
如果是这样,您现在将在那里找到一个文件:
~/Desktop/\~/.local/share/applications/sublime.desktop
Run Code Online (Sandbox Code Playgroud)
你应该跑
mv ~/Desktop/\~/.local/share/applications/sublime.desktop ~/.local/share/sublime.desktop
Run Code Online (Sandbox Code Playgroud)
但是如果你跑了
mv sublime.desktop \~
Run Code Online (Sandbox Code Playgroud)
这将创建一个文件,~因为sublime.desktop将被重命名~。尝试读取文件
less ~Desktop/\~
Run Code Online (Sandbox Code Playgroud)
如果它包含sublime.desktop文件的内容,则运行
mv \~ ~/.local/share/applications/sublime.desktop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |