Интерактивная итеративная фильтрация папок в bash

Интерактивная итеративная фильтрация папок в bash

Допустим, у меня есть глубокая структура папок, например:

/home/user1/Pictures/web/flickr/2023/02/02/pic.jpg

На каждом шагу, очевидно, есть разные папки. Например, наверху есть

/etc
/home
/usr

и что нет. Затем в /home есть такие вещи, как:

/home/user1
/home/user2
/home/user3

Затем в /home/user1 есть такие вещи, как:

/home/user1/Downloads
/home/user1/Pictures
/home/user1/Videos

и так далее, вы поняли суть. Есть ли способ интерактивно фильтровать папки, чтобы добраться до конечной папки или файла? Например, я хотел бы сделать что-то вроде:

$ vim /

затем Tabи вывести список всех дополнений верхнего уровня (и т. д., home и usr в примере выше). Затем, если я наберу

$ vim /h

он должен отображать только те, которые содержат букву h(/home в примере выше). Если это единственный вариант, он завершит единственный выбор, поэтому я получу:

$ vim /home/

и затем пусть он выведет все варианты в /home (user1, user2 и user3 в приведенном выше примере). Теперь, если я введу 1, он сузится до:

$ vim /home/user1/

поскольку это единственный подходящий вариант.

Я знаю, что в bash есть автодополнение, но не уверен, есть ли что-то подобное. Есть подсказки?

Связанный контент