xclip
またはを使用してコマンドラインからファイルの「内容」をコピーする方法の多くの例がありますxsel
。私が探しているのは、コマンドラインからファイルをコピーしてファイルエクスプローラに貼り付けることです。それで、コマンドを使って内容だけでなくファイルもコピーした後、CtrlvUIに貼り付けてみましょう。
修正する
xclip-copyfile
xclip-pastefile
期待どおりに機能しますが、eを実行するときは、GUI貼り付けではなくコマンドを使用してのみ貼り付けるxclip-copyfil
ことができます。xclip-pastefile
ベストアンサー1
私はUbuntuでNautilusをファイルブラウザとして使用しているので、他のブラウザについては話すことはできません。
ノーチラスがファイルの貼り付けを処理する方法は、Ctrl-v
ノーチラスに非常に限定されています。 NautilusはCtrl-vのみを認識します。ファイルを貼り付けるに答えるファイルのコピー実行中のコマンドノーチラスそれ自体。つまり、Ctrl-vを使用してパスをコピーしたファイルを他のアプリケーションに貼り付けることはできません。
ただし、必要に応じてCtrl + Shift + vをバインドできますnautilus-scripts-manager
。このスクリプトを使用すると、必要なほとんどすべての操作を実行できます。
nautilus-scripts-manager
現在のディレクトリと選択したファイル/ディレクトリに関するいくつかの基本情報にアクセスできます。 「nautilus-scripts」について私が特に好きなことの1つは、File
メニュー項目(コンテキストメニューだけでなく)にスクリプトを追加することです。これにより、ローカルキーバインディングを設定できますノーチラス3またはノーチラス2。
xclip-pastefiles
すでに述べた例を使用したおおよその例は次のとおりです。現在の状態では、xclip-copyfiles
Ctrl-Shift-vを実行する前にこれを設定する必要があります。生地スクリプト。
setup を実行した後、xclip-copyfiles
Nautilus ウィンドウに移動し、ターゲットディレクトリ (またはそのディレクトリ内のファイル) を選択し、スクリプトのキーバインディングをクリックするだけです。Ctrl-Shift-v
#!/bin/bash
# Note: `leafpad' is a simple text editor which doubles as a quick-and-easy testing messsage-box
dir=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" |sed -n 1p)
if [[ -n "$dir" ]] ;then
# target dir from `Nautilus Scripts' (1st priority)
if [[ -e "$dir" ]] ;then
[[ -d "$dir" ]] || dir="${dir%/*}"
[[ -d "$dir" ]] || dir=
fi
else
# target dir from $1 (2nd priority)
dir="$1"
if [[ -e "$dir" ]] ;then
[[ -d "$dir" ]] || dir="${dir%/*}"
[[ -d "$dir" ]] || dir=
fi
fi
if [[ -z "$dir" ]] ;then
# target dir from clipboard (if not in $NAUTILUS_SCRIPT.. or $1)
dir="$(xclip -o -sel c)"
if [[ -e "$dir" ]] ;then
[[ -d "$dir" ]] || dir="${dir%/*}"
[[ -d "$dir" ]] || dir=
else
dir=
fi
fi
[[ -d "$dir" ]] || { echo "$(basename "$0"): target directory not found in clipboard" |leafpad; exit 1; }
{ cd "$dir"
echo "Current Directory:"
echo " $dir"
echo "======="
echo xclip-pastefile # run your command (`echo' is for testing)
} 2>&1 |leafpad