是否可以不通过文件名称而是通过其在文件夹中的位置(编号)从终端打开文件?或者还有其他选择吗?
因为名字太长了。
答案1
你可能还没有发现Tab-completion(见这里) 然而。
在终端中输入文件名时,只需输入前几个字母,然后点击Tab即可看到奇迹!
答案2
只是为了好玩,逐字回答这个问题:
#!/usr/bin/env python3
import os
import subprocess
show_hidden = False
currfiles = os.listdir("./")
if not show_hidden:
currfiles = [f for f in currfiles if not f.startswith(".")]
n = 1
for f in currfiles:
print(str(n) + ". " + f)
n = n + 1
picked = int(input("Quick, quick, give me a number:\n"))
subprocess.run(["xdg-open", currfiles[picked - 1]])
实践中如何运作
设置
...简单:
- 如果尚不存在,请在主目录中创建一个名为“bin”的文件夹
- 将脚本复制到一个空文件中,将其保存为(字面意思)“o”(无扩展名),然后使其可执行
注销并重新登录并开始使用命令,只需输入
$ o
在终端
注意:
如果你还想显示隐藏文件,请更改
show_hidden = False
进入:
show_hidden = True
答案3
Bash 中有一个鲜为人知的功能,允许您执行此操作,而无需调用 python 或任何其他第三方工具,只需一行即可:
select file in *; do open "$file"; break; done
答案4
您可以安装并使用mc
,Midnight Commander。它是一个带有菜单等的文本用户界面,灵感来自旧的 Norton Commander,在人们使用 MSDOS(Windows 之前)时很流行。
sudo apt update
sudo apt install mc
并在终端窗口或文本屏幕中启动它,
mc