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를 실행하기 전에 이를 설정 해야 합니다.반죽스크립트.
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