如何 ls/cd 使用索引而不是名称
How to ls/cd using indexes rather than names
所以我在文件系统中移动的正常方法是使用 ls --color
查看所有文件和目录,然后输入 cd [directory]
然后再次输入 ls --color
并冲洗和重复直到我找到一个文件,然后我输入 vim [file]
来编辑它。
在我看来,这是一种非常低效的处理方式。我设想了这些功能:
- 合并
cd
和 ls --color
这样,一旦我 cd
进入目录,它就会输出带有颜色的内容(这样我就可以分辨什么是目录,什么是文件,以及等等)
- 让
ls
和cd
使用索引。我的意思是让 ls
的输出在目录中的所有内容旁边打印数字,例如第 4 项的 [3]
或其他内容,这样我所要做的就是键入 cd [3]
。这会有所帮助,因为文件名有时很长(比如真的很长)并且包含空格,而且我不想因为不可避免的拼写错误而重新输入长命令。
我不确定 bash 中是否已经有这样的东西,或者它是否是我可以下载的插件,或者我是否只需要编写一个 shell 脚本,但是任何帮助会很棒!
编辑: 我应该添加这个来探索文件系统。我没有要访问的目标文件。
有多种方式可以更高效地浏览文件系统。
使用 shell 的自动完成功能。可能是解决您问题的最有效方法。
cd /a/
TABTAB
这将显示 /a/
中包含的目录,或者,如果只有一个(对应于您目前输入的内容),将使用它自动完成您的命令。
按照评论中的建议使用 GUI。
而不是交替使用 ls
和 cd
,您可以使用多个 ls
和最后一个 cd
:
$ ls /a
> b/ c/ d/
$ ls /a/b
> e/
$ ls /a/b/e
>fileIWant
$ cd /a/b/e
$ vim fileIWant
您可以使用 ALT + 重复最后一步的路径
..
你甚至不需要最后的 cd
并且可以直接使用 vim /a/b/e/fileIWant
.
递归使用ls
:ls -R /a
。输出可能有点难以使用。
所以我在文件系统中移动的正常方法是使用 ls --color
查看所有文件和目录,然后输入 cd [directory]
然后再次输入 ls --color
并冲洗和重复直到我找到一个文件,然后我输入 vim [file]
来编辑它。
在我看来,这是一种非常低效的处理方式。我设想了这些功能:
- 合并
cd
和ls --color
这样,一旦我cd
进入目录,它就会输出带有颜色的内容(这样我就可以分辨什么是目录,什么是文件,以及等等) - 让
ls
和cd
使用索引。我的意思是让ls
的输出在目录中的所有内容旁边打印数字,例如第 4 项的[3]
或其他内容,这样我所要做的就是键入cd [3]
。这会有所帮助,因为文件名有时很长(比如真的很长)并且包含空格,而且我不想因为不可避免的拼写错误而重新输入长命令。
我不确定 bash 中是否已经有这样的东西,或者它是否是我可以下载的插件,或者我是否只需要编写一个 shell 脚本,但是任何帮助会很棒!
编辑: 我应该添加这个来探索文件系统。我没有要访问的目标文件。
有多种方式可以更高效地浏览文件系统。
使用 shell 的自动完成功能。可能是解决您问题的最有效方法。
cd /a/
TABTAB这将显示
/a/
中包含的目录,或者,如果只有一个(对应于您目前输入的内容),将使用它自动完成您的命令。按照评论中的建议使用 GUI。
而不是交替使用
ls
和cd
,您可以使用多个ls
和最后一个cd
:$ ls /a > b/ c/ d/ $ ls /a/b > e/ $ ls /a/b/e >fileIWant $ cd /a/b/e $ vim fileIWant
您可以使用 ALT + 重复最后一步的路径 ..
你甚至不需要最后的cd
并且可以直接使用vim /a/b/e/fileIWant
.递归使用
ls
:ls -R /a
。输出可能有点难以使用。