コマンドラインに「次へ開く」コマンドがありますか?

コマンドラインに「次へ開く」コマンドがありますか?

ファイルの種類に応じて特定のファイルを開くのに推奨されるプログラムのリストをコマンドラインから取得する方法はありますか?たとえば、.pdfファイルにはopen with...プログラムの使用に関する推奨事項が含まれていますEvinceDocument Viewer

私はほとんどの場合コマンドラインを使用しますが、特定の種類のファイルを開くために使用したいプログラム名を忘れることがあります。

ところで、私はUbuntu 13.10を使用しています。

専門家のヒント

以下の@slmが選択した回答のおかげで、次のbashスクリプトを次のファイルに作成しましたopenwith.sh

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

エイリアスとして追加するか、openwithコマンドで直接実行してください。

答え1

「次のプログラムで開く」として機能するコマンドはありませんが、特定の種類のファイルに関連付けられているアプリケーションでそのコマンドを開くためにxdg-open <file>使用できます。<file>

はい

テキストファイルを開く:

$ xdg-open tstfile.txt
$

ファイルをtstfile.txt開くようにしますgedit

                         geditのSS

LibreOffice Writer文書を開きます。

$ xdg-open tstfile.odt 
$

tstfile.odt結果はWriterで開かれたファイルです。

                         作家のSS

どのアプリが使用されますか?

クエリシステムを使用して、xdg-mime特定のファイル形式に関連付けられたアプリケーションを見つけることができます。

$ 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

これは2段階の作業です。まず、指定されたファイルのMIMEタイプを照会すると、そのxdg-mime query filetype tstfile.txtファイルが返されますtext/plain。次に、このMIMEタイプに関連するアプリケーションのリストを見つけるために別の照会を実行するために使用されます。上記のように、2つの関連アプリケーションがあり、ファイル用geditです。calibre.txt

xdg-mimeこれを使用して接続を変更することもできます。man xdg-mime詳細は参照してください。

答え2

主にコマンドラインで作業している場合は、次のような呪いベースのファイルマネージャを見ることができます。森林またはビビム。どちらもファイル形式の基本操作を定義できます。

たとえば、vifmでは~/.vifm/vifmrc次の関連付けを定義できます。

" 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

定義された操作のいずれかを使用してファイルの上にカーソルを置くと、Enter関連アプリケーションで開かれたファイルが表示されます。ファイルに示すように、.htmlスクリプトとアプリケーションをトリガーできます。

答え3

一種の結果ですが、結果としてデフォルトアプリが変更されます。これが適用される他のオペレーティングシステムが何であるかはよくわかりませんが、以下の手順はUbuntu 12.04 - Desktop X86-64に関するものです。 PDFファイルがないため、.zipアーカイブを使用してテストしました。

一般的なステップ

ステップ1

端子タイプ:

$ mimeopen -d /home/username/example.zip
スクリーンショット#1 =https://copy.com/qfWSZaZ4FzlA

    SS#1

ステップ2

#目的のアプリケーションを入力し、を押してリストから選択しますenter。選択したアプリケーションでファイルがすぐに開きます。

スクリーンショット#2 =https://copy.com/um6Rf7zRdceT

    SS#2

スクリーンショット#3 =https://copy.com/ytwKCqR6nv8i

    SS#3

ノート

注#1

これにより、既定のアプリケーションが選択したアプリケーションに変更されるため、そのファイル形式を開くたびにリストで最後に選択したアプリケーションで開きます。

答え4

私はそれがあなたが使用しているUNIXの好みに依存していると思います。 OS Xでは、次の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.

...

関連情報