
xclip
또는 를 사용하여 명령줄에서 파일의 "내용"을 복사하는 방법에 대한 많은 예가 있습니다 xsel
. 내가 찾고 있는 것은 명령줄에서 파일을 복사하여 파일 탐색기에 붙여넣는 것입니다. 그래서 내용 뿐만 아니라 파일을 복사해서 CtrlvUI에 붙여넣는 명령어를 사용하겠습니다.
업데이트됨
xclip-copyfile
xclip-pastefile
기대한 것과 비슷하게 작업하지만 e를 실행하면 GUI 붙여넣기가 아닌 명령 xclip-copyfil
으로만 붙여넣을 수 있습니다 xclip-pastefile
.
답변1
저는 Ubuntu에서 Nautilus를 파일 브라우저로 사용하므로 다른 브라우저에 대해서는 말할 수 없습니다.
노틸러스가 파일 붙여넣기를 처리하는 방식은 Ctrl-v
노틸러스에만 적용됩니다. 노틸러스는 Ctrl-v만 인식합니다.파일 붙여넣기에 대한 응답으로파일 복사동안 실행된 명령노틸러스그 자체. 즉, 경로를 복사한 파일을 다른 응용 프로그램에 붙여넣기 위해 Ctrl-v를 사용할 수 없습니다.
그러나 적합하다면 Ctrl+Shift+v를 에서 실행되는 스크립트에 바인딩할 수 있습니다 nautilus-scripts-manager
. 이 스크립트를 사용하면 원하는 대로 거의 모든 작업을 수행할 수 있습니다.
nautilus-scripts-manager
현재 디렉토리와 선택된 파일/디렉토리에 대한 몇 가지 기본 정보에 액세스할 수 있습니다. "nautilus-scripts"에 대해 제가 특히 좋아하는 점 중 하나는 해당 스크립트를 File
메뉴 항목(및 컨텍스트 메뉴)에 추가한다는 것입니다 . 이를 통해 로컬에 있는 키 바인딩을 설정할 수 있습니다.노틸러스 3또는노틸러스 2.
다음은 이미 언급한 예를 사용한 대략적인 예입니다 xclip-pastefiles
. 현재로서는 xclip-copyfiles
Ctrl-Shift-v를 실행하기 전에 설정이 필요합니다.반죽스크립트.
설정을 실행한 후에는 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