如何在输入文件目录时打开文件?

如何在输入文件目录时打开文件?

我是 Ubuntu 中终端的新手,我想知道如何在输入整个路径时打开文件“armored.jpg”。

例如,如果我输入cd ~/Pictures/Wallpapers/test\ x/然后输入xdg-open armored.jpg当前目录,它就会打开图片。

但是当我输入:

cd ~/Pictures/Wallpapers/test\ x/ xdg-open armored.jpg

或者

cd ~/Pictures/Wallpapers/test\ x/armored.jpg

或者

cd ~/Pictures/Wallpapers/test\ x/armored

这是行不通的。

有人能解释一下这是为什么吗?我想知道我是否可以用下面的命令打开该文件:

cd ~/Pictures/Wallpapers/test\ x/**command goes here**/armored.jpg

谢谢

答案1

你可以这样做:

xdg-open ~/Pictures/Wallpapers/test\ x/armored.jpg

cd意味着改变目录,所以本质上终端正在等待你想要改变到的目录的路径。

xdg-open在默认应用程序中打开一个文件,但是当它打开文件时,它需要文件路径,您也可以xdg-open在 GUI 中使用 nautilus(如果它是您的默认文件管理器)打开目录。

答案2

您应该运行该命令并将文件路径作为参数传递。如果您像这样重新排列命令,您的命令将起作用:

xdg-open ~/Pictures/Wallpapers/test\ x/armored.jpg

您在终端中使用的第一个单词是您要运行的命令(可以是程序、内置函数、函数等),所有其他单词都作为参数传递给该程序。在本例中,您要xdg-open显示 JPG,因此您将首先输入命令,然后输入图片的路径。

答案3

您可以使用双 & 符号。例如:

cd ~/Pictures/Wallpapers/test\ x/ && xdg-open armored.jpg

这将执行第一个命令,如果第一个命令成功,则转到第二个命令。

或者你可以这样做:

cd ~/Pictures/Wallpapers/test\ x/; xdg-open armored.jpg

无论第一个命令是否失败,它都会运行第一个命令,然后运行第二个命令。

答案4

cd ~/Pictures/Wallpapers/test\ x/ xdg-open armored.jpg

如果您运行此命令,终端会将整个命令cd视为一个目录,如果命令中包含任何空格,则会中断并丢弃空格后的部分。在这种情况下,上述命令只会让您进入目录~/Pictures/Wallpapers/test\ x。如果您确实想使用 xdg-open 打开文件,则需要像下面这样中断命令。

cd ~/Pictures/Wallpapers/test\ x/; xdg-open armored.jpg

无论第一个命令是否成功,终端都会解析第二个命令(即;之后)。

例子:

$ cd ~/Pictures/Wallpapers/test\ x/; xdg-open armored.jpg
bash: cd: /home/avinash/Pictures/Wallpapers/test x/: No such file or directory
gvfs-open: armored.jpg: error opening location: Error when getting information for file '/home/avinash/armored.jpg': No such file or directory

或者

cd ~/Pictures/Wallpapers/test\ x/ && xdg-open armored.jpg

只有第一个命令成功结束时,终端才会解析第二个命令。

例子:

$ cd ~/Pictures/Wallpapers/test\ x/ && xdg-open armored.jpg
bash: cd: /home/avinash/Pictures/Wallpapers/test x/: No such file or directory

相关内容