用cp命令拷贝文件,源目录后带不带斜杠的区别
当我还是Linux超级傻白的时候,需要拷贝一个很大的数据集,然后再拷贝源文件夹的后面跟了一个前倾斜杠,然后就发现居然拷贝的是整个文件夹里的东西,而不是文件夹本身。事儿倒是不大,我重新建一个文件夹,把这些东西挪进去就行了。后来,等我记住这一招后,发现有的时候居然也不是这样。于是,做做实验,干脆搞搞清楚。
两个文件夹,各自内容如下:
使用命令cp –R dir_src/ dir_target后,结果如下:
重做一遍,使用cp –R dir_src dir_target后,结果如下:
于是我就记住了这个带不带前倾斜杠的区别。
后来,我特意使用这个斜杠方法拷贝的时候,居然栽了。
两个文件夹各自内容如下:
使用带斜杠的命令cp -R copytest_src/ copytest_target,结果如下:
看来不同的Linux发行版对这个cp命令带不带斜杠的执行是不一样的,第一个例子是FreeBSD,第二个是CentOS7。
总之,往后别捡懒了,想拷贝目录里面的内容而不是目录本身,就用斜杠加个星号“cp –R src/* target”; 想拷贝目录本身,就啥也不带“cp –R src target”就行了。