[Bash Tips] 如何在一个命令中 cp 或 mv 和 cd

前几天我们学会了如何 cd 和 ls 在一个命令中. 今天我们将看到另一个很酷的 Bash 技巧—— cp 或者 mvcd 在一个命令中。 含义 – 我们要将文件/目录从一个位置复制或移动到另一个位置,然后 cd 立即进入目标目录。 当然,我们可以用 单线 命令。 例如,可以使用以下命令将文件/目录复制或移动到另一个目录并 cd 到目标目录:

cp source destination && cd destination

或者,

mv source destination && cd destination

但是,我们现在不打算这样做。 我们使用一个简单的 bash 功能 结合 cp 或 mv 命令和 cd 命令并将其作为单个命令运行。 这个技巧应该适用于所有支持 BASH 的类 Unix 系统。

如何在一个命令中 cp 或 mv 和 cd

打开你的 ~/.bashrc 文件在您最喜欢的编辑器中:

$ nano ~/.bashrc

在最后添加以下几行:

#cp and cd in one command cpcd (){   if [ -d "$2" ];then     cp $1 $2 && cd $2   else     cp $1 $2   fi }  #mv and cd in one command mvcd (){   if [ -d "$2" ];then     mv $1 $2 && cd $2   else     mv $1 $2   fi }
在一个命令中将 Bash 函数转换为 cp 或 mv 和 cd

Save 和 close 文件。 运行以下命令使更改生效。

$ source ~/.bashrc

现在将文件/目录从一个位置复制或移动到另一个位置,您将自动到达目标位置。

让我们制作一些示例目录和文件。

$ mkdir dir1 dir2
$ touch file1 file2

现在使用命令将 file1 复制到 dir1:

$ cpcd file1 dir1
$ pwd /home/sk/dir1

如您所见,上面的命令复制了 file1dir1 然后自动 cd 进入 dir1 地点。

下一步行动 file2dir2 使用命令:

$ cd
$ mvcd file2 dir2
$ pwd /home/sk/dir2

此命令复制 file2dir2 它会自动 cd 进入 dir2 地点。

示例输出:

cp 或 mv 和 cd 在一个命令中

希望这可以帮助。

其他 Bash 技巧

  • 在 Linux 中重命名文件而无需两次输入全名
  • 用于提取各种类型文件档案的 Bash 函数

BASHBash 函数Bash 技巧LinuxLinux 命令Shell