web-dev-qa-db-fra.com

Y a-t-il une commande "ouverte avec" pour la ligne de commande?

La ligne de commande a-t-elle un moyen d'obtenir une liste recommandée de programmes utilisés pour ouvrir un fichier particulier, en fonction du type de fichier? Par exemple, un .pdf le fichier aurait un open with... recommandation à l'aide des programmes Evince et Document Viewer.

J'utilise la ligne de commande pour la plupart des choses, mais parfois, j'oublie le nom d'un programme que je souhaite utiliser pour ouvrir un type de fichier particulier.

BTW J'utilise Ubuntu 13.10.

Pro-Tip

Grâce à la réponse sélectionnée sur @SLM ci-dessous, j'ai effectué le script Bash suivant dans un fichier appelé openwith.sh:

xdg-mime query default $(xdg-mime query filetype $1)

Ajouter comme un alias ou exécuter directement en tant que commande openwith.

24
modulitos

Il n'y a pas de commandement que j'ai jamais vu cela agira comme "ouvert avec ..." mais vous pouvez utiliser la commande xdg-open <file> ouvrir un <file> Dans la demande associée à ce type de fichier particulier.

Exemples

Ouverture d'un fichier texte:

$ xdg-open tstfile.txt
$

Entraînant le fichier tstfile.txt être ouvert dans gedit:

ss of gedit

Ouverture d'un document d'écrivain LibreOffice:

$ xdg-open tstfile.odt 
$

Entraînant le fichier tstfile.odt être ouvert dans l'écrivain:

ss of writer

Quelles applications sont utilisées?

Vous pouvez utiliser xdg-mime Pour interroger le système pour savoir quelles applications sont associées à un type de fichier donné.

$ xdg-mime query default $(xdg-mime query filetype tstfile.txt)
gedit.desktop calibre-ebook-viewer.desktop

$ xdg-mime query default $(xdg-mime query filetype tstfile.odt)
libreoffice-writer.desktop calibre-ebook-viewer.desktop

Ceci est une opération en 2 étapes. D'abord, je pose des questions pour le type MIME d'un fichier donné, xdg-mime query filetype tstfile.txt, qui retournera text/plain. Ceci est ensuite utilisé pour effectuer une autre recherche pour trouver la liste des applications associées à ce type mime. Comme vous pouvez le voir ci-dessus, j'ai 2 applications associées, gedit et calibre, pour .txt des dossiers.

Vous pouvez utiliser xdg-mime Pour changer les associations aussi. Voir man xdg-mime pour plus de détails.

33
slm

Si vous travaillez surtout sur la ligne de commande, vous pouvez consulter un gestionnaire de fichiers basé sur les malédictions, comme Ranger ou VIFM . Les deux vous permettent de définir des actions par défaut pour les fichiers de filetypes.

Dans VIFM, par exemple, en ~/.vifm/vifmrc Vous pouvez définir des associations comme:

" Images
filetype *.jpg,*.jpeg,*.gif,*.tif,*.png,*.bmp sxiv 

" Media
filetype *.flv,*.avi,*.mp4,*.mpeg,*.mpg,*.mov,*.ogg,*.ogv,*.mkv mpv 

" Web
filetype *.html,*.htm,*.shtml /home/jason/Scripts/vimprobtab.sh 

" PDF
filetype *.pdf apvlv

Frappe Enter Avec le curseur de tout fichier avec l'une des actions définies le verra ouverte par l'application correspondante. Comme vous pouvez le constater dans le cas de .html Fichiers, vous pouvez déclencher un script ainsi qu'une application.

5
jasonwryan

Cela dépend de la saveur de Unix que vous utilisez, je suppose. Dans OS X, vous pouvez utiliser la commande open:

OPEN(1)                   BSD General Commands Manual                  OPEN(1)

NAME
     open -- open files and directories

SYNOPSIS
     open [-e] [-t] [-f] [-F] [-W] [-R] [-n] [-g] [-h] [-b bundle_identifier]
          [-a application] file ... [--args arg1 ...]

DESCRIPTION
     The open command opens a file (or a directory or URL), just as if you had
     double-clicked the file's icon. If no application name is specified, the
     default application as determined via LaunchServices is used to open the
     specified files.

     If the file is in the form of a URL, the file will be opened as a URL.

...
2
Ionoclast Brigham