![如何复制和粘贴文件?](https://linux22.com/image/847037/%E5%A6%82%E4%BD%95%E5%A4%8D%E5%88%B6%E5%92%8C%E7%B2%98%E8%B4%B4%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我想要复制粘贴一个文件,文件名为mkoctfile.m
,
文件路径为:
/usr/share/octave/3.2.4/m/miscellaneous/mkoctfile.m
我想将其粘贴到以下路径
/usr/bin/mkoctfile-3.2.4
我使用以下命令创建了目录:
sudo su
mkdir -p /usr/bin/mkoctfile-3.2.4
但我不知道如何mkoctfile.m
在这个路径中复制和粘贴。
请告诉我必须使用什么命令。
答案1
使用cp
命令复制文件,语法如下cp sourcefile destinationfile
。使用mv
命令移动文件,基本上就是将其剪切并粘贴到其他地方。
您在示例中使用的确切语法是:
sudo cp /usr/bin/octave/3.2.4/m/miscellaneous/mkoctfile.m /usr/bin/mkoctfile-3.2.4
有关cp
或mv
命令的更多信息,您可以运行:
man cp
或者
man mv
查看手册页
答案2
您可以像在 GUI 中一样直观地在 CLI 中进行剪切、复制和粘贴,如下所示:
cd
到包含要复制或剪切的文件的文件夹。copy file1 file2 folder1 folder2
或者cut file1 folder1
- 关闭当前终端。
- 打开另一个终端。
cd
到您想要粘贴它们的文件夹。paste
为此,请确保您已安装xclip
和realpath
。然后,将这些函数附加到您的~/.bashrc文件:
copy() {
# if the number of arguments equals 0
if [ $# -eq 0 ]
then
# if there are no arguments, save the folder you are currently in to the clipboard
pwd | xclip
else
# save the number of argument/path to `~/.numToCopy` file.
echo $# > ~/.numToCopy
# save all paths to clipboard
# https://stackoverflow.com/q/5265702/9157799#comment128297633_5265775
realpath -s "$@" | xclip
fi
# mark that you want to do a copy operation
echo "copy" > ~/.copyOrCut
}
cut() {
# use the previous function to save the paths to clipboard
copy "$@"
# but mark it as a cut operation
echo "cut" > ~/.copyOrCut
}
paste() {
# for every path
for ((i=1; i <= $(cat ~/.numToCopy); i++))
do
# get the nth path
pathToCopy="$(xclip -o | head -$i | tail -1)"
if [ -d "$pathToCopy" ] # If it's a directory
then
cp -r "$pathToCopy" .
else
cp "$pathToCopy" .
fi
# if it was marked as a cut operation
if [ $(cat ~/.copyOrCut) = "cut" ]
then
# delete the original file
rm -r "$pathToCopy"
fi
done
}
如果你不知道.bashrc文件是,并且从未修改过它,只需打开文件资源管理器,转到主页,按 Ctrl+H(显示隐藏文件),搜索.bashrc并使用 gedit 等文本编辑器打开它。
笔记
通过使用上述脚本,您可以覆盖这些命令的默认功能:
copy
是 PostgreSQL 的保留命令。cut
和paste
是保留的 Linux 命令。
如果您使用其中一个命令的默认功能,只需相应地修改脚本函数名称即可。例如,使用p
而不是paste
。
答案3
转到要复制文件的目录,即 /usr/bin/octave/3.2.4/m/miscellaneous
cd /usr/bin/octave/3.2.4/m/miscellaneous
然后输入
`cp mkoctfile.m ../../../mkoctfile-3.2.4`
../../../
意味着您将返回到 bin 文件夹并输入要将文件复制到其中的任何目录。
答案4
基于@M Imam Pratama 的想法(现在复制/剪切,稍后粘贴)的一个有趣的解决方案。
考虑使用xclip-copyfile、xclip-cutfile 和 xclip-pastefile。
$ xclip-copyfile file1
$ xclip-cutfile file1
$ xclip-pastefile file1
您还可以复制整个树结构。
警告: xclip-cutfile
立即删除该文件,而不是等到您粘贴它。