代わりに、次のコマンドを使用してください。
cp {ソースファイル} {ターゲットファイル}
ファイルをクリップボードにコピーして別のディレクトリに貼り付けたいです。このような:
/usr/ローカル/dir1#cp {ソースファイル}
/usr/ローカル/dir1#CD /usr/ローカル/dir2
/usr/ローカル/dir2#生地
可能ですか?
ベストアンサー1
私の考えでは、GUIアプリケーションのようにする必要があるようです。私の考えは、コピーして貼り付けるための2つの関数を書くことです。コピーは一時ファイルにコピーするファイルパスを書き込み、貼り付けはそのパスを読み取り、単に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