当我使用 GUI 文件管理器移动文件时,我会在 2 个不同的窗口中导航到源目录和目标目录,然后进行拖放。有没有办法在 BASH 中执行此操作(将文件移动到目录,但能够导航到新目录,而不需要立即知道完整路径以放入参数中)
我知道如何使用 mv 和 cp 之类的命令,但这两个命令都需要一个完整路径作为参数,并且我希望能够独立于导航到源文件导航到新目的地……如果这有意义的话
答案1
答案2
有两个命令可让您轻松地在目录之间来回移动:
pushd
popd
例如,使用 cd 导航到第一个目录:
cd /home/aperson/more/path/to/a/very/long/and/annoying/to/type/
然后使用 pushd 移动到另一个目录:
pushd /home/aperson/more/path/to/a/different/very/long/and/annoying/to/type/
现在当您popd
再次拨打电话时,您将返回到第一个目录。
虽然这只是有助于导航,但您仍然需要单独执行mv
或操作cp
。
根据您需要执行的操作量,可能值得将您的路径分配给变量,这样您就不必输入完整的路径:
DIR1="/home/aperson/a/very/long/and/annoying/to/type/"
DIR2="/home/aperson/a/different/very/long/and/annoying/to/type/"
现在您可以使用$DIR1
和$DIR2
引用目录,即
cp somestuff.stuff $DIR1
cd $DIR1
mv somestuff.stuff $DIR2
cd $DIR2
答案3
答案4
您可以使用 ubuntu 终端自带的选项卡功能 ( ctrl + shift + t
)。这样,您就可以使用cd
和ls
命令在第二个选项卡中搜索目标目录。然后,一旦进入所需目录,您就可以使用命令(打印工作目录) 获取该目录的完整路径。获得该路径后,将路径复制并粘贴到您正在执行或命令pwd
的第一个终端选项卡上。cp
mv
如果您不熟悉cd
和ls
,这里有一个介绍一些基本 bash 命令的很棒的小教程。
我希望这对你有用。