대신 다음 명령을 사용하십시오.
cp {소스 파일} {대상 파일}
파일을 클립보드에 복사하여 다른 디렉토리에 붙여넣고 싶습니다. 이 같은:
/usr/로컬/dir1#cp {소스 파일}
/usr/로컬/dir1#CD /usr/로컬/dir2
/usr/로컬/dir2#반죽
가능합니까?
답변1
내 생각에는 GUI 응용프로그램처럼 해야 할 것 같습니다. 내 생각은 복사 및 붙여넣기를 위한 두 가지 함수를 작성하는 것입니다. 복사는 임시 파일에 복사할 파일 경로를 쓰고, 붙여넣기는 해당 경로를 읽고 단순히 cp
명령을 호출합니다. 내 구현( .bashrc
파일에 저장될 )은 다음과 같습니다.
function Copy {
touch ~/.clipfiles
for i in "$@"; do
if [[ $i != /* ]]; then i=$PWD/$i; fi
i=${i//\\/\\\\}; i=${i//$'\n'/$'\\\n'}
printf '%s\n' "$i"
done >> ~/.clipfiles
}
function Paste {
while IFS= read src; do
cp -Rdp "$src" .
done < ~/.clipfiles
rm ~/.clipfiles
}
xclip
이 아이디어를 구현하기 위해 더 나은 스크립트를 작성할 수 있습니다. 제가 직접 테스트해 본 결과 파일과 폴더에 아주 잘 작동했습니다( 폴더 복사에 어떻게 사용하는지 모르겠습니다 !!).
예를 들어:
/usr/local/dir1# Copy a.txt *.cpp
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Paste
/usr/local/dir1# Copy *.h *.cpp b.txt subdir1
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Paste
/usr/local/dir1# Copy a.txt b.txt
/usr/local/dir1# cd /usr/local/dir2
/usr/local/dir2# Copy c.txt d.txt
/usr/local/dir2# cd /usr/local/dir3
/usr/local/dir3# Paste
답변2
엑스클립을 추천합니다. 나는 이것을 위해 항상 그것을 사용합니다. 하지만 스크립트는 필요하지 않습니다. 그냥 기능을 사용하세요.
나는 이 스크립트를 사용할 필요가 없다고 생각합니다. 특히 당신이 내가 생각하는 일을 하고 있다면 이미 언급된 스크립트(유용한 Linux tidbits 블로그에서)가 입력을 요구하기 때문에 짜증나는 것을 발견할 것이기 때문입니다.언제든지 가능할 때, 그냥 사용하는 것은 유닉스 철학에 어긋납니다.
나는 당신의 함수에 몇 가지 기능을 작성하는 것이 좋습니다 .bashrc
.
clip2file () {
xclip -out -selection clipboard >> $@
echo -e "\n" >> $@
}
file2clip () {
cat $@ | xclip -selection clipboard
}
이를 사용하려면 apt-get install xclip
(Debian, Ubuntu, Linux Mint 등) 또는 zypper in xclip
(openSUSE, 기타 .rpm 기반 시스템) 또는 이와 동등한 것이 필요합니다. 이 프로그램은 귀하가 사용하는 모든 시스템에서 작동해야 합니다.
답변3
이 xclip
명령을 사용하여 이를 수행할 수 있습니다. bash 스크립트는 다음에서 다운로드할 수 있습니다.이 링크bash cp2clip
파일 bash clippaste
의 별칭을 입력하세요 .bashrc
.