명령줄에서 파일을 복사하여 Gnome 창에 붙여넣거나 그 반대로 붙여넣습니다.

명령줄에서 파일을 복사하여 Gnome 창에 붙여넣거나 그 반대로 붙여넣습니다.

xclip또는 를 사용하여 명령줄에서 파일의 "내용"을 복사하는 방법에 대한 많은 예가 있습니다 xsel. 내가 찾고 있는 것은 명령줄에서 파일을 복사하여 파일 탐색기에 붙여넣는 것입니다. 그래서 내용 뿐만 아니라 파일을 복사해서 CtrlvUI에 붙여넣는 명령어를 사용하겠습니다.

업데이트됨 xclip-copyfilexclip-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-copyfilesCtrl-Shift-v를 실행하기 전에 설정이 필요합니다.반죽스크립트.
설정을 실행한 후에는 xclip-copyfilesNautilus 창으로 이동하여 대상 디렉터리(또는 해당 디렉터리의 파일)를 선택하고 스크립트의 키 바인딩을 누르기만 하면 됩니다.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 

관련 정보