Linux 新手:第一次用 cp 和 mv,复制移动文件别踩这三个坑
刚学 Linux,复制和移动文件是最早用到的两个命令:cp 复制,mv 移动(改名也靠它)。用法看着简单,cp 文件名 目标、mv 文件名 目标,一回车就完事。但新手最容易在这两个命令上踩坑,文件丢了、覆盖了、目录套目录了,都是常见事故。先把三个坑认清,再用就稳了。
第一个坑:cp 默认不复制目录。想复制一个文件夹,cp 目录名 目标 会报错,提示 omitting directory。复制目录必须加 -r:cp -r 目录名 目标。-r 的意思是递归,把目录里面的东西一层层都复制过去。记住:复制单个文件不用 -r,复制目录一定要 -r。
第二个坑:目标已存在同名文件时,cp 和 mv 会直接覆盖,不问你。Linux 不像图形界面会弹窗问“是否替换”,命令行里一回车旧文件就没了,找不回来。新手最稳的做法是加 -i:cp -i、mv -i。-i 会在覆盖前停下来问一句,确认了再覆盖。养成加 -i 的习惯,比事后后悔强得多。
第三个坑:目标路径写错,文件会跑到意想不到的地方。mv 文件名 目录名 是把文件移进目录;mv 文件名 新名字 是给文件改名。如果目标目录名打错了一个字母,比如把 backup 打成 bakcup,而当前目录下没有 bakcup 这个目录,mv 会以为你要改名,直接把文件改名成 bakcup,连个提示都没有。动手之前先 ls 看一眼目标目录在不在,拼写对不对。
还有两个顺手的小技巧。cp 想一次复制多个文件,写法是 cp 文件1 文件2 目标目录,目标必须是目录,否则报错。mv 一次移动多个文件也是同样的写法。想看复制或移动的过程,加 -v:cp -rv、mv -v,每复制一个文件就打印一行,批量操作时心里有数。
最后记住这张小抄:cp 复制文件,cp -r 复制目录,mv 移动或改名,-i 防覆盖,目标路径动手前先 ls 核对一次。复制移动看着是小事,但文件一旦覆盖丢了就是大事,这几个习惯现在养成,以后天天受益。
- 点赞
- 收藏
- 关注作者
评论(0)