简而言之,cp就是复制源文件到目标文件,或者复制多个文件源到指定目录
几个重要的参数
-a:将文件和属性一起复制
-p:也是将文件和属性一起复制,而不是默认方式
-i:若文件存在,则会询问是否覆盖
-u:目标文件与源文件有差异才会复制
cp 复制file1给file2 将多个文件复制到指定目录
wxc@wxc-Lenovo-G40-30:~/learngit$ cp -a file1 file2
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
123 789 cwsroot file2 WXC196728
456 aaa file1 messagebox WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ cp file1 file2 aaa
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
123 789 cwsroot file2 WXC196728
456 aaa file1 messagebox WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ cd aaa/
wxc@wxc-Lenovo-G40-30:~/learngit/aaa$ ls
file1 file2
在没有带a参数时,两个文件的时间是一致的 -a 两个文件的时间是一致的
还可以把文件夹复制给另一个文件夹
wxc@wxc-Lenovo-G40-30:~/learngit$ cp -a 222 aaa
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
123 222 456 789 aaa cwsroot file1 messagebox WXC196728 WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ cd aaa
wxc@wxc-Lenovo-G40-30:~/learngit/aaa$ ls
222 file1 file2
wxc@wxc-Lenovo-G40-30:~/learngit/aaa$ cd 222
wxc@wxc-Lenovo-G40-30:~/learngit/aaa/222$ ls
file2
使用cp -i参数复制文件,若存在文件file2 则会询问是否覆盖,若不存在file2,则不会提示
wxc@wxc-Lenovo-G40-30:~$ sudo cp -i file file2
cp:是否覆盖'file2'?
mv是remove的含义,主要功能是文件和目录的移动和文件的更名
基本参数:
-i:若更名时已经有次名称,会提示是否覆盖
-f:即使钥修改的名字已存在,也强制覆盖
-u:若目标文件已存在,且目标文件比较新时才会覆盖
文件改名 mv file1name file2name
wxc@wxc-Lenovo-G40-30:~$ ls
dump.rdb gavin learngit2 temp wget-log 视频 下载
file GitSSH linuxEdit useVim 公共的 图片 音乐
file2 learngit projects vi 模板 文档 桌面
wxc@wxc-Lenovo-G40-30:~$ mv file mvFile
wxc@wxc-Lenovo-G40-30:~$ ls
dump.rdb GitSSH linuxEdit temp wget-log 视频 下载
file2 learngit mvFile useVim 公共的 图片 音乐
gavin learngit2 projects vi 模板 文档 桌面
移动文件 mv filename 文件目录
wxc@wxc-Lenovo-G40-30:~$ ls
dump.rdb GitSSH linuxEdit temp wget-log 视频 下载
file2 learngit mvFile useVim 公共的 图片 音乐
gavin learngit2 projects vi 模板 文档 桌面
wxc@wxc-Lenovo-G40-30:~$ mv mvFile learngit
wxc@wxc-Lenovo-G40-30:~$ cd learngit
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
456 789 cwsroot messagebox mvFile WXC196728 WXC196728.pub
将多个文件移动到同一个目录
wxc@wxc-Lenovo-G40-30:~$ ls
dump.rdb GitSSH linuxEdit useVim 公共的 图片 音乐
file2 learngit projects vi 模板 文档 桌面
gavin learngit2 temp wget-log 视频 下载
wxc@wxc-Lenovo-G40-30:~$ mv file2 temp learngit
wxc@wxc-Lenovo-G40-30:~$ cd learngit
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
456 789 cwsroot file2 messagebox mvFile temp WXC196728 WXC196728.pub
mv -i:将文件file1改名为file2,若file2已存在,则会弹出提示 是否覆盖掉
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
456 789 cwsroot file2 messagebox mvFile temp WXC196728 WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ mv -i mvFile 456
mv:是否覆盖'456'? Y
mv -f:即使file2存在,也会直接覆盖
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
789 cwsroot file2 messagebox temp WXC196728 WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ mv -f file2 temp
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
789 cwsroot messagebox temp WXC196728 WXC196728.pub
mv dir1 dir2:默认是将dir1移动到dir2,若没有dir2目录,则操作dir1改名为dir2
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
789 aaa bbb cwsroot messagebox temp WXC196728 WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ mv aaa bbb
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
789 bbb cwsroot messagebox temp WXC196728 WXC196728.pub
wxc@wxc-Lenovo-G40-30:~/learngit$ mv bbb ccc
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
789 ccc cwsroot messagebox temp WXC196728 WXC196728.pub
mv * ../:将dir1下的所有文件移动到它的上一层目录
wxc@wxc-Lenovo-G40-30:~/learngit$ cd ccc
wxc@wxc-Lenovo-G40-30:~/learngit/ccc$ ls
789 aaa
wxc@wxc-Lenovo-G40-30:~/learngit/ccc$ mv * ../
wxc@wxc-Lenovo-G40-30:~/learngit/ccc$ ls
wxc@wxc-Lenovo-G40-30:~/learngit/ccc$ cd ..
wxc@wxc-Lenovo-G40-30:~/learngit$ ls
789 aaa ccc cwsroot messagebox temp WXC196728 WXC196728.pub