Linux命令— cp 复制、 mv 移动/重命名、 rm 删除
cp 复制 拷贝
复制、拷贝 copy
cp 文件名 路径 cp bj.txt ./java/jee:把当前目录的bj.txt拷贝到当前目的java文件夹里的jee文件夹里
cp 文件名 文件名 cp dd.txt ee.txt :复制并改名,并存放在当前目录下 (cp源文件名 新文件名)
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
mv 移动/剪切、重命名
1、剪切 移动
mv文件名 路径 (mv源文件 目的地)
mv aa.txt ../android/ 把当前目录下的文件aa.txt剪切到上一级目录的子目录android目录里
mv aa.txt .. 把文件aa.txt移动到上一级目录
2.、重命名(假如把剪切的文件存放在同一个目录中,则是重命名)
mv 文件名 文件名 (mv源文件 目标名称)
mv bb.txt cc.txt 把文件bb.txt重命名为cc.txt
mv dir1 new_dir 重命名/移动 一个目录
rm 删除文件或目录
删除文件或文件夹(rm: remove)
rm 直接删除,rm文件名
rm -f 强制删除文件或目录,假如要删除的文件不存在,也不提示 rm -f文件名 force
rm -i 删除前提示是否删除,默认不删除, 若要删除,输入y interactive
rm -d 删除空白目录 rm -d空目录名 directory
rm -r 删除有内容的目录,将指定目录下的所有文件及子目录一并处理,递归删除 recursive
rm -rf filename 强制删除目录或文件(目录有内容时,也删除)
rmdir 删除文件夹(目录)
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1'的目录
rm -rf dir1 删除一个叫做 'dir1'的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
<2>
1.创建
mkdir [dirname] //创建单个目录
mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录
mkdir dir1/dir2/newdir3 //在已存在的目录中创建目录
mkdir -p dir1/newdir2/newdir3 //在已存在的目录中递归创建多级目录
mkdir /home/zhangsan/movie //使用 相对于根目录的 ‘绝对路径’的方式创建目录
总结:新目录的层次大于1时,就需要-p参数
2.移动
mv dir1 dir2 //dir1移动到dir2的目录下,结果:dir2/dir1
mv dir1/dir2 dir3 //dir2移动到dir3的目录下,结果:dir3/dir2
mv dir1/dir2 dir3/dir4 //dir2移动到dir4的目录下,结果:dir3/dir4/dir2
mv /home/zhangsan/movie /home/lisi/video //movie移动到video目录下,结果:/home/lisi/video/movie
3.改名
mv dir1 newdir //dir1移动到当前目录下,并改名字为newdir
mv dir1/dir2 dir3 //dir2移动到dir3目录下,并改名为原名,结果:dir3/dir2
mv dir1/dir2 dir3/newdir //dir2移动到dir3目录下,并改名为newdir,结果:dir3/newdir
4.复制
cp -R dir1 dir2 //dir1复制到dir2目录下,结果:dir2/dir1
cp -R dir1/dir2 dir3/newdir //dir2复制到dir3目录下,并改名为newdir,结果:dir3/newdir
cp -R dir1/dir2 newdir //dir2复制到当前目录下,并改名为newdir
cp dir1/file1 dir2 //file1复制到dir2目录下,结果:dir2/file1
cp dir1/file1 dir2/dir3/file2 //file1复制到dir3目录下,并改名为file2,结果:dir2/dir3/file2
5.删除
rm [filename] //删除文件
rm -r [dirname] //删除目录
rm -rf [filename] //强制删除文件
rm -rf [dirname] //递归强制删除目录
rm -rf / //递归强制删除”/斜杠”根目录(一旦删除,系统崩溃,慎用!!!)
<3>
cp命令
功能:将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。
语法:cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
参数:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。 需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
$ cp - i exam1.c /usr/wang/shiyan1.
该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 shiyan1.c。若不希望重新命名,可以使用下面的命令:$ cp exam1.c /usr/ wang/
$ cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。
mv命令
功能:为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS下的ren和move的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
说明: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成 文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件 或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将 丢失。
参数:
- I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。
需要注意的是,mv与cp的结果不同。mv好象文件“搬家”,文件个数并末增加,而cp对文件进行复制,文件个数增加了。
例1:将/usr/xu中的所有文件移到当前目录(用“.”表示)中:
$ mv /usr/xu/ * .
例2:将文件wch.txt重命名为wjz.doc
$ mv wch.txt wjz.doc
rm命令
功能:在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
语法: rm [选项] 文件…
如果没有使用- r选项,则rm不会删除目录。
参数:
- f 忽略不存在的文件,从不给出提示。
- r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
使用rm命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入cp,mv或其他命令时,不小心误输入了rm命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。为了防止此种情况的发生,可以使用rm命令中的 i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将被保留。在下一个例子中,用户要删除文件test和example。然后会被要求对每个文件进行确认。用户最终决定删除example文件,保留test文件。
$ rm - ii test example Remove test ?n
Remove example ?y
<4>
在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz
一、目录创建
在/home/wwwroot目录下新建一个sinozzz123的文件夹
mkdir /home/wwwroot/sinozzz123
二、目录复制
1.把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下
cp -rf /home/wwwroot/sinozzz/* /home/wwwroot/sinozzz123
2.把/home/wwwroot/sinozzz123/abc/下的文件夹和文件复制到home/wwwroot/sinozzz123目录下
cp -rf /home/wwwroot/sinozzz123/abc/* /home/wwwroot/sinozzz123
3.把/home/wwwroot/sinozzz目录复制到/home/wwwroot/sinozzz123目录下,即把sinozzz复制变成sinozzz123的子目录,变成/home/wwwroot/sinozzz123/sinozzz的路径
cp -rf /home/wwwroot/sinozzz /home/wwwroot/sinozzz123
三、目录剪切
1.使用mv命令剪切文件。
如需要将/home/wwwroot/sinozzz123/music/目录下的1.mp3文件剪切到/home/wwwroot/sinozzz123/abc目录下,执行下面的命令即可:
# mv /home/wwwroot/sinozzz123/music/1.mp3 /home/wwwroot/sinozzz123/abc
2.使用mv命令剪切文件夹。
把/home/wwwroot/sinozzz123/soft文件夹剪切到/home/wwwroot/sinozzz123/abc目录下
# mv /home/wwwroot/sinozzz123/soft /home/wwwroot/sinozzz123/abc
3.使用mv命令剪切文件夹和文件
把/home/wwwroot/sinozzz123/photo/下的文件夹和文件剪切到/home/wwwroot/sinozzz123/abc目录下
# mv /home/wwwroot/sinozzz123/photo/* /home/wwwroot/sinozzz123/abc
四、目录重命名
在linux下,移动文件跟重命名都是同一个命令,mv(就是move的意思)
命令: mv 源文件名 目标文件名
1.把/home/wwwroot/sinozzz123/index.htm重命名为/home/wwwroot/sinozzz123/index.html
# mv /home/wwwroot/sinozzz123/index.htm /home/wwwroot/sinozzz123/index.html
2.把/home/wwwroot/sinozzz123目录重命名为/home/wwwroot/sinozzz456
# mv /home/wwwroot/sinozzz123 /home/wwwroot/sinozzz456
五、目录删除
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。
直接rm就可以了,不过要加两个参数-rf
即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
1.删除文件使用实例:
rm -f /home/wwwroot/sinozzz456/index.html
将会强制删除/home/wwwroot/sinozzz456/index.html这个文件
2.清空文件夹实例:
rm -rf /home/wwwroot/sinozzz456/abc/*
将会强制删除/home/wwwroot/sinozzz456/abc目录下所有文件、文件夹,保留/home/wwwroot/sinozzz456/abc目录
3.删除文件夹实例:
rm -rf /home/wwwroot/sinozzz456
将会强制删除/home/wwwroot/sinozzz456目录以及其下所有文件、文件夹
需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的
当然,rm还有更多的其他参数和用法,man rm就可以查看了
如果是在/home/wwwroot/目录下进行操作,则可以省去每个命令的/home/wwwroot/部分
例如,要想test.txt文件添加内容"I am a boy",test.txt在当前目录中
方法一:vi编辑法
打开终端,输入vi test.txt 回车,按a或i进入编辑模式,输入 I am a boy,然后按esc键退出编辑模式,输入:wq保存并退出。
方法二:echo命令法
打开终端,输入echo ‘I am a boy’ >> ./test.txt
注:追加单行文本法
方法三:cat命令法
cat >> ./test.txt <<EOF
I am a boy
EOF
注:结尾的EOF要顶格,成对出现,可以其它字符代替。
方法四:cat编辑法
cat >> ./test.txt (回车后开始编辑输入内容)
I am a boy.
按cntl+d组合键结束编辑。
- VIM编辑器,可以新建文件也可以修改文件,命令为:vim /usr/local/con.cfg
- 如果这个文件,以前是没有的,则为新建,则下方有提示为新文件,如果文件已存在,则没有提示。
- 进入编辑器后,我们先按"I”,即切换到“插入”状态。就可以通过上下左右移动光标,或空格、退格及回车等进行编辑内容了,和WINDOWS是一样的了。
- 当文本编辑结束之后,通常需要退出编辑器。退出编辑器又分为4种情况:保存退出、正常退出、不保存退出及强制退出。
- 按键盘左上角的"ESC",左下角的插入状态不见了
- 然后这时,我们输入“冒号”,即":"(不需双引号),在下方会出现冒号,等待输入命令,如图,我输入的是WQ。功能如下。
W:write,写入
Q:quit,退出
再回车,就保存退出了 - 其实,保存退出还有二个方法:
A:在最后输入命令时,直接输入"x",也是一样的,即X=WQ。
B:最快捷的方法:按了ESC后,直接按shift+zz,或者切换到大写模式按ZZ,就可以保存退出了,即是按2下大写的Z。 - 可以用查看命令:cat查看其内容:cat /usr/local/con.cfg
- 正常退出有个前提条件是:打开的文本文件在内容上没有被改动过。
按了ESC后再输入冒号,在输入命令时,直接输入"q", -
不保存退出的方法,很多时候打开了文件,或者修改了一些地方,才发现错了,非常需要不保存退出。
先按ESC,再输入冒号,在输入命令时,直接输入"q!"
-
强制退出。这个实在是不应该做的操作,因为很操蛋!
先按ESC,再按冒号,在输入命令时,直接输入"!"