如何使用索引而不是名称来ls / cd

时间:2016-05-27 14:53:01

标签: bash shell unix ls cd

所以我在文件系统中移动的正常方法是使用ls --color查看所有文件和目录,然后输入cd [directory]然后再次键入ls --color并冲洗并重复直到我找到一个文件,在我输入vim [file]进行编辑后。

这是一种非常低效的IMO做事方式。我正在设想这些功能:

  1. cdls --color结合起来,这样只要我cd进入一个目录,它就会输出带有颜色的内容(所以我可以告诉你什么是目录,什么是文件等)
  2. lscd使用索引。我的意思是在ls目录中的所有内容旁边输出[3]打印数字作为第4项或类似内容,以便我所要做的就是键入cd [3]。这会有所帮助,因为文件名有时很长(就像很长)并且包含空格,我不想因为不可避免的拼写错误而重新输入长命令。
  3. 我不确定这样的东西是否已经存在于bash中,或者它是否是我可以下载的插件,或者我是否只需要编写一个shell脚本,但任何帮助都会很棒!

    编辑:我应该添加它来探索文件系统。我没有我想要达到的目标文件。

1 个答案:

答案 0 :(得分:1)

有多种方法可以更有效地浏览文件系统。

  1. 使用shell的自动完成功能。可能是解决问题的最有效方法。

    cd /a/ TAB TAB

    这将显示/a/中包含的目录,或者,如果只有一个目录(与您目前输入的内容相对应),则会自动填充您的命令。

  2. 按照评论中的建议使用GUI。

  3. 您可以使用多个ls和一个cd

    ,而不是使用lscd
    $ 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

  4. 递归使用lsls -R /a。输出可能有点难以使用。