Linux基础知识之cp mv rm

该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统和sjsir普通用户身份登录系统。

为什么要学习cp、mv、rm命令?

    cp、mv、rm命令为Linux系统使用最长使用的三个命令之一,复制、移动和删除是我们平时处理一些文件必须要学会的命令,应该用于熟练掌握和使用的技能。

    cp命令:(copy)

    cp 只能复制一个文件到一个文件,复制多个文件到一个目录

格式:

  cp [OPTION]… [-T] SOURCE DEST

  cp [OPTION]… SOURCE… DIRECTORY

  cp [OPTION]… -t DIRECTORY SOURCE…

  cp SRC DEST

    blob.png

对于上图的总结:

    a.当源文件为单个文件的时候:

①若复制的目标文件夹不存在时,会首先建一个文件夹,然后将源文件复制到新建的目标文件夹下,且目标文件和源文件的名称相同;

     blob.png

②若复制的源文件名和目标文件名相同时,root账户执行操作的时候,会询问root用户是否执行复制操作(想当于使用cp -i 选项(alias可以查询root的cp<–>cp -i),系统认为root用户的权限过高,防止直接将源文件覆盖,造成文件系统的损坏或者部分文件丢失),sjsir用户执行时,会直接将目标文件直接覆盖,即使目标文件同名;

     root身份执行操作:

     blob.png

     sjsir身份执行操作:(继续覆盖不会提醒)

    blob.png

③若复制的源文件名和目标文件夹名相同时,会直接复制到该同名文件夹下;

    blob.png

选项:(由于学过几天命令,命令已经会使用,所以不再去执行命令具体参数的执行过程做具体的截图和操作,但是将特殊的选项做具体的讲解和分析。) 

     -i:交互式(每当源文件和目标文件相同时,会询问你是否继续操作将目标文件覆盖,root用户默认cp<–>cp -i)

     -r,-R:递归复制目录及内部的所有内容;

     -a:归档,相当于-dR –preserv=all

     -d –no-dereference –preserv=links :不复制原文件,只复制链接名

     –preserv[=ATTR_LIST]

         mode:权限

         ownership:属主属组

         timestamp:时间戳

         links:链接

         xattr 

         context:环境

         all:所有

     -p:  等同–preserv=mode,ownership,timestamp 保持原有文件的属性信息

     -v: –verbose 显示命令复制的过程

     -f: –force  强制覆盖

     mv命令:

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

1.命令格式:

    mv [选项] 源文件或目录 目标文件或目录

2.命令功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.命令参数;

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖;

   4.命令实例:
       a.文件改名;mv history.log2 mv.log (将history.log2改名为mv.log)blob.png        b.移动单个文件;mv mv.log Desktop/ (将mv.log移动到Desktop目录下)

blob.png

        c.移动多个文件;

blob.png

     rm命令:

rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm -rf /(CentOS6.8和7.2都有保护 机制,但是rm -rf /*是可以直接执行的))。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

1.命令格式:

rm [选项] 文件… 

2.命令功能:

删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

3.命令参数:

    -f, –force    忽略不存在的文件,从不给出提示。

    -i, –interactive 进行交互式删除

    -r, -R, –recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

    -v, –verbose    详细显示进行的步骤

       –help     显示此帮助信息并退出

       –version  输出版本信息并退出

  4.rm命令比较简单,所以不演示和赘述了。

原创文章,作者:sjsir,如若转载,请注明出处:http://www.178linux.com/26494

(0)
sjsirsjsir
上一篇 2016-07-29 09:28
下一篇 2016-07-29 09:48

相关推荐

  • Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性   dr-xr-x—.   7       root     root       4…

    2017-04-03
  • 基于ssl的mysql的主从复制

    实验环境: system:CentOS Linux release 7.2.1511 (Core) mariadb server:mariadb-server-5.5.44-2.el7.centos.x86_64 master server:10.1.51.20/16 slave serv…

    2016-11-22
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 引导加载程序grub的使用详解

    引导加载程序grub的使用详解 为运行于虚拟机上的CentOS 6添加一个新硬件,提供两个主分区 为硬盘建两个主分区;并为其安装grub 为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs 为rootfs提供bash、ls、cat程序以及所依赖的库文件 为grub提供配置文件 将新的硬盘设置为第一启动项并能够正常启动目标主机 1.…

    Linux干货 2017-09-04
  • MySQL常见备份与恢复方案

    MySQL常见备份方案有以下三种:        mysqldump + binlog        lvm + binlog          xtrabac…

    Linux干货 2015-10-01
  • Lua简明教程

    这几天系统地学习了一下Lua这个脚本语言,Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,当你把他的源码下下来编译后,你会发现解释器居然不到200k,这是多么地变态啊(/bin/sh都要1M,MacOS平台),而且能和C语言非常好的互动。我很好奇得浏览了一下Lua解释器的源…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-29 09:39

    总结的很好,再接再厉!