2014年5月11日星期日

Linux_042:常用命令之十三:cp mv rm

cp、mv、rm可以说是最常用的复制、移动、删除命令。
以下总结一下这些命令最常用的功能。

1. cp
(1)在当前目录下复制并重命名文件:cp test.txt test1.txt。
(2)复制文件到另一个目录:cp test.txt ./git (目录git必须存在,否则此行命令会被认为是复制并重命名文件test.txt为git文件)。
(3)复制目录(包括子目录)到另一个目录:cp -r git ./folder1(目录folder1必须存在,否则此命令会被认为是把git重名为folder1,然后把git下子目录复制到folder1目录下)。

2. mv 
(1)在当前目录下重命名文件:mv test.txt test2.txt。
(2)移动文件到另一个目录:mv test.txt ./git (目录git必须存在,否则此行命令会被认为是重命名文件test.txt为git文件)。
(3)移动目录(包括子目录)到另一个目录:mv git ./folder6(目录folder6必须存在,否则此命令会被认为是把git重名为folder6,然后把git下子目录复制到folder6目录下)。

3. rm
(1)删除文件:rm -f test.txt test2.txt。
(2)删除目录:rm -rf folder1 folder2。

4. 删除不小心解压的文件和目录
不知道别人有没有遇到,反正我是经常遇到,比如使用tar命令在当前目录下解压了一大堆文件和目录。
一个一个删除显然费时费力,那么怎么才能用一个命令把这些东东一次删掉呢?
答案是使用``,在``括起来的命令会优先执行,然后以其输出作为其它命令的参数。
比如,你先不小心使用tar -tvf test.tar,在当前目录下解压了一堆文件和目录。
然后可以使用 rm -rf  `tar -tf test2.tar`,一个命令删除所有东东。
为什么是 -tf?因为tar -tf 输出的是文件和目录的名称,比如像下面这个样子:
test/
test/maping.txt
test2/
test2/test/
test2/test/maping.txt

参考文献:
1. http://www.cnblogs.com/peida/archive/2012/10/29/2744185.html
2. http://www.cnblogs.com/peida/archive/2012/10/27/2743022.html
3. http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html
4. http://www.cnblogs.com/caosiyang/archive/2012/10/15/2724585.html

没有评论: