.png)
Estou procurando uma maneira de ter uma lista de todos os arquivos/pastas do diretório atual em meu terminal que seja atualizada automaticamente e executada enquanto estou navegando e editando arquivos ativamente.
Imagino que seja de alguma forma possível com um multiplexador de terminal. Mas não sei como você poderia notificar outro processo sobre a mudança no processo atual.
Se eu executar watch ls -a
em uma visualização dividida, ele só será atualizado quando os arquivos nesse mesmo diretório forem alterados, não quando o diretório da minha outra visualização dividida for alterado.
Basicamente, quero que fique assim:
Como isso poderia ser feito?
Responder1
Você poderia usar o PID do shell 1 e usar suas informações de processo (CWD) para atualizar ls
no shell 2.
concha 1:
$ echo $$
24678
casca 2:
$ watch ls /proc/24678/cwd/
Agora você pode usar cd
no shell 1 e a visualização no shell 2 será atualizada no shell 2 (por padrão a cada 2 segundos).
Um bom truque: você pode usar watch -d
para destacar as diferenças entre atualizações sucessivas (criações/exclusões de arquivos, etc.)
Responder2
PossivelmenteComandante da Meia-Noiteou um programa semelhante faz o que você deseja? Você pode sobrepor a janela do terminal com duas listas de arquivos, existem atalhos de teclado, mas ainda pode alternar para um shell completo.