Comando equivalente do Linux para o comando "aberto" no Mac / Windows?

46

Vindo do Mac OS X, você pode digitar:

$ open yourfilehere.txt

e seu arquivo será aberto como se você o tivesse aberto no Finder.


No Windows, pode-se digitar:

> start yourfilehere.txt

e ele será aberto como se você o tivesse aberto no Explorer.


No Ubuntu, eu gostaria de poder abrir arquivos da mesma maneira no GNOME. Qual é o comando?

jweede
fonte
1
Em pouco relacionado, encontrei essa pequena jóia para abrir o Finder em um determinado caminho (não o caminho atual necessariamente): abra -a Finder. ou abra -a Finder / seu / caminho / aqui
Mikko Ohtamaa
Acabei de ver que, no Windows, este é o startprograma. No OS X, este é o openprograma. No Ubuntu Linux, este é o seeprograma. no livro automatize as coisas chatas com python , mas não recebi nenhuma informação sobre seecomando do Google.
#

Respostas:

39

xdg-open é o que você está procurando.

Você pode gostar deste trecho que eu coloquei nos meus arquivos .bashrc, para que, usando o cygwin no windows, linux ou OSX, eu possa usar os comandos start ou open e eles funcionem perfeitamente:

case "$OSTYPE" in
   cygwin*)
      alias open="cmd /c start"
      ;;
   linux*)
      alias start="xdg-open"
      alias open="xdg-open"
      ;;
   darwin*)
      alias start="open"
      ;;
esac

Bons comentários, o xdg-open é realmente uma opção melhor do que o gnome-open, conforme explicado abaixo. Atualizei meus scripts pessoais há um tempo, mas esqueci de atualizar esta resposta.

AVISO: Isso substituirá a funcionalidade do openvt(terminal virtual) e startdo init.

Jordânia
fonte
1
Esse script BASH é uma ótima idéia.
jweede 10/09/09
9
cygwin: tente "cygstart"
Doug Harris
13
O gnome-open é específico do GNOME. O xdg-open está disponível em todas as distros compatíveis com Freedesktop.org.
Avdi 25/10/09
@DougHarris, +1. cygstartpode ser ainda mais preferível, como nos favoritos do Emacs, ele permite que você continue usando o Emacs. Com start, meu Emacs está congelado.
Brady Trainor
Então, iniciar é bom se você não quiser confiar no Cygwin disponível. start ""ou "start \"\""apenas trabalhou para mim. (Grupo de citações "" impede Emacs pendurado no processo.)
Brady Trainor
34
xdg-open xyz.bar

será aberto xyz.bar(pode ser um arquivo ou um URL) em qualquer ambiente compatível com o freedesktop com o aplicativo registrado para xyz.baro tipo de. Veja também a documentação aqui (página de manual do xdg-open) .

Em practive isso deve então chamar kde-open, gnome-open, exo-openou possivelmente até mesmo open, dependendo do ambiente de trabalho atual (KDE, Gnome, XFCE, OS X).

akira
fonte
3
também funciona. Qual é a diferença entre xdg-opene gnome-open?
jweede 10/09/09
5
bem, o xdg-open foi desenvolvido pelo pessoal do freedesktop.org que afirma criar o "padrão", enquanto o gnome-open foi desenvolvido pelo pessoal do gnome .. que você só obtém quando instala o gnome. Eu pessoalmente gosto mais do material freedesktop.org.
akira
2
De fato, o xdg-open é a resposta certa aqui. O gnome-open é específico para desktops que possuem o GNOME instalado. O xdg-open estará disponível em qualquer sistema compatível com freedesktop.
Avdi 25/10/09
2
"O xdg-open estará disponível em qualquer sistema compatível com freedesktop" significa, na prática, que não importa se você está usando o GNOME, KDE, Xfce ou qualquer outro ambiente, xdg-openfará a coisa certa , usando o tipo de arquivo para -programa de mapeamento do ambiente em execução.
RavuAlHemio
É quase equivalente ao comando "aberto" do Mac, mas não exatamente - estou descobrindo (pelo menos no Ubuntu 14) que quando o uso em um diretório, o diretório é aberto em segundo plano. Prefiro trazer a janela recém aberta para a frente. Alguma maneira de fazer isso? (Perdoe-me, eu sou um noob total de Linux.)
Joe Strout
10

Você pode até escrever um pequeno invólucro em torno do gnome-open para abrir vários arquivos com um comando:

for i in $*
do
    gnome-open "$i"
done

Coloque isso em um script de shell chamado open e

open *.c

abrirá todos os arquivos c no diretório atual.

Kim
fonte
2
Script útil, mas você deve substituir $ * por "$ @" (incluindo as aspas) para manipular corretamente os nomes de arquivos com espaços.
pimlottc
1

Você pode usar o gnome-opencomando no seu terminal. Uma vez no diretório em que você deseja abrir uma janela do sistema operacional, digite o Terminal:

gnome-open .

Isso abrirá uma janela mostrando o que está nesta pasta. Da mesma forma, você pode especificar uma subpasta localizada nesse diretório, substituindo .pelo nome da subpasta.

Observe que, se gnome-opennão funcionar, pode ser necessário apenas instalar. Você pode fazer isso usando o Synaptic ( sudo apt-get updatee, sudo apt-get install synapticem seguida, no seu terminal, muito conveniente ao instalar o pacote, porque instala todas as dependências corretamente) ou instalar diretamente o Gnome Shell no seu Terminal:sudo apt-get install gnome-shell

LeChat
fonte
-1

Digite isso no terminal: ./yourfile

yourfileé o nome do arquivo que você deseja abrir ou executar. Você também pode usar este comando para executar scripts bash. (Lembre-se de inserir a extensão do arquivo!)

gnome-open é o que você está procurando.

Outra citação de outro pôster.

user113907
fonte