adi*_*adi 4 command-line desktop-directories
我是初学者,我想将文件从特定文件夹复制/移动到桌面。我使用cp和mv来完成这些任务。但我想复制/移动到桌面。
说我想移动file1到桌面,我使用
mv 文件 1 _____
在 _____,
我使用了桌面,但它将文件重命名为“桌面”。
我使用了家庭/桌面,但它说没有找到文件/文件夹。
Pil*_*ot6 18
桌面是用户主目录中的一个目录。
如果您的语言是英语,则称为Desktop。
要file在那里复制一些,您可以运行
cp file ~/Desktop
Run Code Online (Sandbox Code Playgroud)
~ 代表 /home/<username>
如果您的 UI 语言不是英语,则会以不同的方式调用。
您可以在没有找到正确名称的情况下进行复制
cp file "$(xdg-user-dir DESKTOP)"
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式获取桌面目录的名称
xdg-user-dir DESKTOP
Run Code Online (Sandbox Code Playgroud)
如果要移动文件而不是复制文件,可以使用mv代替cp。
这些命令的工作方式取决于您在文件系统中的位置。
您通常可以从提示中看到您所在的位置:
zanna@monster:~/Desktop$
Run Code Online (Sandbox Code Playgroud)
当当前工作目录为 时~/Desktop,这是我的提示,这是方便的快捷方式/home/zanna/Desktop
如果您不确定自己在哪里,可以输入pwd并获取完整的绝对路径
zanna@monster:~/Desktop$ pwd
/home/zanna/Desktop
Run Code Online (Sandbox Code Playgroud)
第一个/很重要 - 那是根目录,所有完整的绝对路径都将从它开始
您可以使用绝对路径或相对路径来处理文件。如果您在要移动的文件所在的目录中,则移动到桌面,假设您的桌面目录实际上被调用Desktop(不要忘记Linux 区分大小写)
mv file1 ~/Desktop
Run Code Online (Sandbox Code Playgroud)
因为假定当前工作目录。
您可以从文件系统的任何位置执行以下操作:
mv /path/to/file1 ~/Desktop
Run Code Online (Sandbox Code Playgroud)
但是将 /path/to 替换为真实路径!例如,如果文件在您的主下载文件夹中,请执行
mv ~/Downloads/file1 ~/Desktop
Run Code Online (Sandbox Code Playgroud)
mv还重命名文件...如果目标是一个存在的文件而不是目录,mv则用第一个文件的内容覆盖它,并重命名为目标。如果该文件不存在,则file1如您所见,将重命名为目标而不覆盖任何内容。
要复制文件而不是移动文件,您可以执行与上述完全相同的操作,使用cp代替mv。在这种情况下,只有行为不同 - 原始文件file1继续存在于其先前的位置。
要了解更多信息,您可以查看man mv和man cp
一个不错的学习选择 - 您可以通过使它们变得冗长来获取mv并cp告诉您他们在做什么:添加-v. 在这里,我使用详细选项将文件chocolate从当前工作目录移动~/playground到我的桌面,并在终端中得到一些输出:
zanna@monster:~/playground$ mv -v chocolate ~/Desktop
'chocolate' -> '/home/zanna/Desktop/chocolate'
Run Code Online (Sandbox Code Playgroud)