![有没有更好的方法来处理复制粘贴文件的长文件路径?](https://linux22.com/image/211134/%E6%9C%89%E6%B2%A1%E6%9C%89%E6%9B%B4%E5%A5%BD%E7%9A%84%E6%96%B9%E6%B3%95%E6%9D%A5%E5%A4%84%E7%90%86%E5%A4%8D%E5%88%B6%E7%B2%98%E8%B4%B4%E6%96%87%E4%BB%B6%E7%9A%84%E9%95%BF%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
我对该cp
命令的问题是,我必须记住两个路径才能一次性输入它们,如果我忘记了接下来的目录,我将无法查找它(我必须删除到目前为止输入的命令,导航到该目录并使用ls
,然后返回并尽量不要忘记这次的路径)。
所以我想知道是否有一种方法可以导航到一个目录,执行类似的操作copy <file>
,然后转到另一个目录并执行paste .
或者任何其他方法来避免这个问题
答案1
尝试按 TAB 键两次。
大多数现代终端都能够从屏幕上复制粘贴文本。尝试用鼠标选择文本并右键单击...
总是有 GUI 版本的文件管理器,其工作原理与您所描述的完全一样。
终端内有基于文本的文件管理器(Midnight Commander、FAR Manager 等等)。
答案2
您可以通过键入 Control + A / Control + E 移动到 bash 中命令行的开头/结尾。将它与注释一起使用可能会很漂亮。在 bash 中添加“#”作为注释来执行它,并将其保留在历史记录中。
示例(_ -> 代表光标):
$ cp fileA _
type Control + A
$ _cp fileA
$ #cp fileA
$ cd /pathtofileB
press up arrow key for last command
$ #cp fileA
press Control + A again..remove hash
$ cp fileA
press Control + E
$ cp fileA fileB
答案3
在 bash 中你可以这样做:
cp /original/path/{*.something,*otherthing*} /destination/dir/
如果您想“移动”到原始路径并向目标目录进行复制,您可以执行以下操作:
destdir="/destination/dir/"
cd /original/path
cp whatever "$destdir"