Linux命令— cp 复制、mv 移动/重命名、 rm 删除

2021/9/19 7:06:29

本文主要是介绍Linux命令— cp 复制、mv 移动/重命名、 rm 删除,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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/部分
————————————————
版权声明:本文为CSDN博主「歪歪100」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41646716/article/details/82082148



这篇关于Linux命令— cp 复制、mv 移动/重命名、 rm 删除的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程