从命令行打开第一个(或任何)文件

从命令行打开第一个(或任何)文件

假设我正在从命令行浏览一个目录,其中有许多长名称的文件。有没有一种简单/快速的方法来打开目录中的第一个文件,或者只是打开其中任何一个文件?在我的情况下,它们是图片,所以如果我能够打开其中一个,我就可以从应用程序(例如 eog)浏览图片。在这种情况下,完成没有帮助,因为图片以类似的前缀命名,后缀是日期——所以完成一个文件名最终需要一些时间。我知道,这只是几秒钟…​​…但使用命令行的想法就是要快,对吧?

谢谢!

答案1

这应该有效:

vi `ls | head -1`

vi以当前工作目录中的第一个文件(或文件夹)作为参数打开。

答案2

您可以使用gnome-openxdg-open命令从终端中打开任何文件/文件夹。如下面的树视图所示,第一个图像名为96audio.png,位于/home/Username/Pictures/icons/

现在您可以使用此命令打开它,然后使用默认图像查看器浏览此目录中的其余图像:

gnome-open /home/Username/Pictures/icons/96audio.png

对于长文件名,您可以使用 Tab 键 ( ) 自动完成文件名。因此,请96audio.png输入 `96a,然后按-key。

/home/Username/Pictures/icons/
═── 96audio.png
═── 96media.png
═── 96mpeg.png
═── acidrip.png
═── advancedSettings.png
═── airfoilSpeakers.png
═── alchemy.png
═──还有更多图片..

答案3

稍作修改这将打开所有与引号中的正则表达式匹配的文件,在本例中,文件包含任何以 ' 'name结尾的字符。基本上,只要找到至少一个文件,就会获取 的输出,并在每个文件上调用。.jpg-exec <command> {} +find<command>

find . -name '*.jpg' -exec viewnior {} +

如果你有很多以 .jpg 结尾的单个目录中的文件显然这会非常笨重,因为它会打开所有文件,但您也可以使用正则表达式缩小要打开的文件名范围。

find . -name '*common_string*.jpg' -exec viewnior {} +

然后您需要更改.jpg为您的文件扩展名,以及viewnior您使用的图像查看/编辑程序。

答案4

此外回答:如果您使用 VIM,请尝试使用以下命令在 VIM 的文件浏览器中打开当前文件夹:

$ vim .

您将在顶部找到有关如何更改列出文件顺序的说明。

只需在要打开的文件上按 ENTER 即可。(您可以使用 :E 而不是 :q 关闭 VIM 来返回文件浏览器)

希望这对某人有帮助。

相关内容