如何在一个命令中执行cp和cd
时间:2020-03-21 11:42:44 来源:igfitidea点击:
在Linux中cp 或mv 后执行cd
意味着我们将要将文件/目录从一个位置复制或者移动到另一个位置,并立即进入目标目录。
当然,我们可以用一个in-liner命令执行此操作。
例如,可以使用命令将文件/目录复制或者移动到目标目录中的其他目录和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 "" ];then cp && cd else cp fi } #mv and cd in one command mvcd (){ if [ -d "" ];then mv && cd else mv fi }
保存并关闭文件。
运行以下命令以生效更改。
$source ~/.bashrc
现在将文件/目录从一个位置复制或者移动到另一个位置,我们将自动登陆目的地位置。
让我们制作一些示例目录和文件。
$mkdir dir1 dir2
$touch file1 file2
现在使用命令将file1复制到dir1:
$cpcd file1 dir1
$pwd /home/sk/dir1
如我们所见,上面的命令将File1复制到Dir1,然后将CD自动CD到Dir1位置。
接下来使用命令将文件2移动到dir2:
$cd
$mvcd file2 dir2
$pwd /home/sk/dir2
此命令将File2复制到DIR2,将CD自动CD插入DIV2位置。