Abrindo o diretório atual de um terminal para um navegador de arquivos?

15

Meu diretório atual está oculto em várias camadas de subpastas do meu diretório pessoal. Se eu quiser abrir este diretório em um navegador de arquivos baseado em GUI , tenho que clicar duas vezes em pasta após pasta para alcançá-lo. Isso é muito demorado. Por outro lado, com muito poucas teclas pressionadas e várias vezes pressionando o botão Tab, é facilmente acessível através de um terminal.

Quero saber se existe uma maneira de abrir o diretório atual em um terminal em um navegador de arquivos. Qual é o comando para fazer isso?

Para referência, eu tenho um sistema ubuntu, mas gostaria de saber quais são os comandos nas várias distribuições do linux.

Paulo
fonte
2
Isso realmente depende do sistema operacional e do ambiente da GUI que você está usando. Por exemplo, em cima da minha cabeça, em um sistema OS X, open /path/to/some/directoryserá aberta uma janela do Finder para esse diretório. No Windows, é uma invocação do explorer.exe KDE ou GNOME ou LXDE, provavelmente existem encantamentos exclusivos para cada ambiente que podem ser usados. Em resumo, são necessários mais detalhes para seu caso de uso específico.
DopeGhoti
Isso dependeria do "gerenciador de arquivos" ou do sistema de janelas que você estiver usando. Como referência, no Mac OS X, open .será aberta uma janela do Finder no diretório atual. Um comando semelhante pode existir no seu sistema.
dhag
Você deve editar sua pergunta para incluir qual gerenciador de arquivos baseado em GUI você está usando / deseja usar.
Anthony Geoghegan
@ drewbenn: eu postaria isso como uma resposta, pois isso funcionará em diferentes ambientes.
saiarcot895

Respostas:

26

xdg-open .

O xdg-open faz parte do pacote xdg-utils , que geralmente é instalado por padrão em muitas distribuições (incluindo o Ubuntu). Ele foi projetado para funcionar em vários ambientes de área de trabalho, chamando o manipulador padrão para o tipo de arquivo no seu ambiente de área de trabalho.

Você pode passar um diretório, arquivo ou URL e ele abrirá o programa apropriado para esse parâmetro. Por exemplo, no meu sistema KDE:

  • xdg-open . abre o diretório atual no gerenciador de arquivos Dolphin
  • xdg-open foo.txt abre foo.txt no emacsclient, que eu configurei para ser o manipulador padrão dos arquivos .txt
  • xdg-open http://www.google.com/ abre google.com no meu navegador padrão

O aplicativo é aberto como uma janela separada e você receberá um aviso novamente em seu terminal e poderá emitir outros comandos ou fechar seu terminal sem afetar sua nova janela da GUI.

Normalmente, recebo várias mensagens de erro impressas stderr, mas as ignoro.

Editar: a
adição dos argumentos xdg-open . >/dev/null 2>&1redireciona os erros e a saída. Esta ligação não bloqueará seu terminal. Vincular isso a um apelido como filemanager='xdg-open . >/dev/null 2>&1'pode ser útil.

rodeio
fonte
Dourado. Obrigado
Adil Saju
9

Quase qualquer aplicativo da GUI (em sistemas de janelas X) pode ser aberto a partir de uma janela de terminal dentro dessa GUI. Para abrir qualquer aplicativo GUI, digite o nome do executável no prompt do shell. A maioria dos navegadores de arquivos usa um diretório como argumento de linha de comando; portanto, você deve passar normalmente .como parâmetro.

Aqui estão alguns exemplos para alguns sistemas populares, a maioria dos sistemas baseados em X funciona de maneira semelhante.

No Gnome, você pode executar nautilus(o navegador de arquivos padrão) diretamente ou no Gnome 2, pode gnome-openabrir qualquer arquivo (incluindo diretórios) com o aplicativo manipulador de arquivos Gnome configurado:

$ nautilus .

ou

$ gnome-open .

No KDE , existem dois navegadores de arquivos populares. Não conheço um comando semelhante ao gnome-open, embora gnome-openpossa ser executado no KDE, mas, por padrão, ele abre os aplicativos Gnome.

$ dolphin .

ou

$ konquerer .

No OS X , como mencionado nos comentários, um programa de linha de comando semelhante openpode ser usado.

$ open .

E se você não souber o nome do executável do navegador de arquivos do seu sistema?

Se no Gnome 2, use gnome-open .If no OS X, ligue open .. Cada um deles executará o navegador de arquivos configurado para o seu ambiente da GUI.

Se você não conhece esse comando no seu sistema de janelas, aqui está uma maneira de descobrir sistemas com um pscomando que entende as opções -u USERe -o FORMAT:

  1. Na janela do seu terminal, digite ps -u$USER -o comm > /tmp/$$A
  2. Na sua GUI, inicie o navegador de arquivos.
  3. De volta à janela do terminal, digite ps -u $USER -o comm > /tmp/$$B(Observe o Bsufixo, este é um arquivo diferente da etapa 1).
  4. Também no terminal, digite diff /tmp/$$[AB].

Deve exibir o nome do seu navegador de arquivos. É possível que você veja mais de um nome, se outro programa tiver sido iniciado com o seu ID de usuário durante o tempo entre as chamadas para ps.

Por exemplo:

$ ps -u $USER -o comm > /tmp/$$A
$ # open file browser in gui
$ ps -u $USER -o comm > /tmp/$$B
$ diff /tmp/$$[AB]
95a96
> nautilus
RobertL
fonte
Se você não sabe qual navegador de arquivos seu sistema possui, como descobrir na linha de comando?
Paul
@Paul, por favor, veja a resposta atualizada. Obrigado.
RobertL
2

Ubuntu usa como navegador de arquivos padrão nautilus, tanto quanto me lembro. Portanto, para abrir uma determinada pasta do terminal, você pode digitar algo como o seguinte:

nautilus /path/to/your/dir

ou

cd /path/to/your/dir && nautilus .

nautilusse desagrega automaticamente a partir do terminal para o qual foi chamado, mas suponha que você esteja usando outro navegador de arquivos e deseje fechar o terminal a partir do qual chamou o navegador de arquivos, pode nohupfazê-lo. Se você estiver usando, digamos, thunar(outro navegador de arquivos), digite o seguinte:

nohup thunar /path/to/your/dir & exit
Kira
fonte
-1

Basta usar gio open

Usar -

gio open .
gio open example/

vedipen
fonte