Есть ли в терминале Linux возможность автодополнения для файлов глубоко в структуре каталогов?

Ошибка в файле main.c loopback. Если вы посмотрите на все остальные файлы main.c в примерах, то увидите «#include../../ftd2xx.h». Если вы посмотрите на loopback main.c, это будет «#include ftd2xx.h». Измените источник, и вы сделаете «сделать -B» без ошибок. Я сталкивался с этой проблемой на каждом типе системы, на которой я устанавливал.

1
04.05.2020, 17:52
3 ответа

Я часто использую find. Я признаю, что, вероятно, я не использую инструмент в полной мере, но просто найти файл, который вы можете сделать find -name foo. Обратите внимание на одно тире, и он будет искать только в подкаталогах. Вы также можете использовать find -pathдля поиска по всему пути. Так, например, если вы хотите найти только файл «bar.txt» в папке «foo», вы можете сделать find -path */foo/bar.txt.

0
28.04.2021, 23:16

В дополнение к ответу @Simon вам будут интересны команды updatedbи locate. В зависимости от вашего дистрибутива вам может потребоваться сначала установить пакет mlocate.

В большинстве случаев вы можете использовать findи locateвзаимозаменяемо. Единственная разница между ними заключается в том, как они достигают своей цели внутренне, что дает им обоим присущие им плюсы и минусы. Вы можете узнать больше, прочитав этот отличный ответ на аналогичный вопрос .

0
28.04.2021, 23:16

Естьglobstar(**):

/usr $ shopt -s globstar
/usr $ cp **/firefox*<Tab>
firefox-developer-edition               firefox-developer-edition.png           firefox-developer-edition.png           firefox-developer-edition-symbolic.svg  firefox.png
firefox-developer-edition/              firefox-developer-edition.png           firefox-developer-edition.png           firefox.png                             firefox.png
firefox                                 firefox-developer-edition.png           firefox-developer-edition.png           firefox.png
[...]
# a few more <Tab>s later
/usr $ cp share/icons/hicolor/384x384/apps/firefox-developer-edition.png 

(Последнее поведение потребуетmenu-complete.)


Вы можете попробовать использоватьfzf("нечеткий поиск командной строки -" ). После его установки и включения завершения и привязки клавиш для bash CtrlT вы получите приглашение:

> firefxdeskop
  1/722561
> share/applications/firefox-developer-edition.desktop

При нажатии Enter выбранный путь вставляется в командную строку.

2
28.04.2021, 23:16

Теги

Похожие вопросы