点击返回 自学Linux命令行与Shell脚本之路

3.4-文件处理命令touch cp mv rm

1. touch命令

  • 一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
  • 二是用来创建新的空文件。

   touch(选项)(参数)

选项

  • -a:或--time=atime或--time=access或--time=use 只更改存取时间;
  • -c:或--no-create 不建立任何文件;如果文件不存在,则不要进行创建。
  • -d:<时间日期> 使用指定的日期时间,而非现在的时间;
  • -f:尝试强制 touch 运行,而不管文件的读和写许可权;
  • -m:或--time=mtime或--time=modify 只更该变动时间;
  • -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
  • -t:<日期时间> 使用指定的日期时间,而非现在的时间;
  • --help:在线帮助;
  • --version:显示版本信息。

参数
       文件:指定要设置时间属性的文件列表。

注:
  • touch 命令调用 utime () 子例程来更改所涉及文件的修改和访问时间。当没有真正拥有该文件,即使对文件有写许可权,使用标志时也可能使 touch 命令失败。
  • 当使用 touch 命令时,如果接收到错误消息,不要指定完整路径名 /usr/bin/touch 。

举例1   touch 文件   这会将 文件  的上次访问和修改时间设置为当前日期和时间。如果 文件 不存在,touch 命令就创建一个同名的空文件。

举例2   touch -c 文件     避免创建新文件

举例3 touch -c  -t  时间  文件名           明确设置访问和修改时间

举例4 touch -r  文件名1 文件名2           要使用另一文件的时间戳记而不用当前时间

2. CP命令

cp命令主要用于复制文件或目录。

cp(选项)原文件/目录  目标文件/目录

选项

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r    -R   若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

举例1    目标是文件,若不存在,则会新建目标文件(将源内容填充至目标文件中) ;  若目标是已存在文件,会将源内容覆盖至目标文件中(不提示)

若目标是已存在文件,会将源内容覆盖至目标文件中,想提示使用-i

举例2   目标是目录,则会在目标目录下新建与源同名的文件,并将源的内容填充至新文件中

举例3  源是多个文件,则目标必须是目录且存在,其他情形均为出错

举例4  源是目录:需使用-r选项,表示递归 ,

  • 目标不存在,则会创建指定目录,只能是单个源目录。
  • 目标存在且是文件则会报错,不可能把目录下的所有东西放到一个文件中去
  • 目标存在且是目录,则会将源下所有文件和目录复制到目标中去

3. mv命令

用于移动文件或者将文件改名

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

  • -b :若需覆盖文件,则覆盖前先行备份。
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会更新(update)
  • -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

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

举例1   将源文件 移动至目标目录中

举例2   mv  -i :若目标文件已经存在时,就会询问是否覆盖

4. rm命令

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

rm (选项)(参数)
  • -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
  • -f:强制删除文件或目录;
  • -i:删除已有文件或目录之前先询问用户;
  • -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;       
     rm -r *     删除当前目录下除隐含文件外的所有文件和子目录
  • --preserve-root:不对根目录进行递归操作;
  • -v:显示指令的详细执行过程。

参数      文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项

自学Linux Shell3.4-文件处理命令touch cp mv rm的更多相关文章

  1. 自学Linux Shell3.2-切换目录命令cd

    点击返回 自学Linux命令行与Shell脚本之路 3.2-切换目录命令cd 当登录系统并获得shell命令提示符后,你通常位于自己的主目录中. 使用pwd命令验证: pwd命令以绝对路径的方式显示用 ...

  2. 自学Linux Shell3.5-目录处理命令mkdir rmdir

    点击返回 自学Linux命令行与Shell脚本之路 3.5-目录处理命令mkdir rmdir 1. mkdir命令 创建一个或多个新的目录. mkdir 命令创建由 Directory 参数指定的一 ...

  3. 自学Linux Shell3.6-文件查看命令file cat more less tail head

    点击返回 自学Linux命令行与Shell脚本之路 3.6-文件查看命令file cat more less tail head 1.参看文件类型file 该命令用来识别文件类型,也可用来辨别一些文件 ...

  4. linux笔记:文件处理命令touch,cat,more,less,head,tail

    命令名称:touch功能:新建文件命令所在目录:/bin/touch用法:touch 文件名 命令名称:cat功能:显示文件内容命令所在目录:/bin/cat用法:cat [-n] 文件名参数:-n ...

  5. linux 学习2 文件处理命令

    ____命令格式与目录处理命令 ____目录处理命令 ____文件处理命令 ____链接命令 ls list 菜单 命令 [-选项][参数] 选项:调整功能,多个选项可以写在一起,不分顺序. 简化选项 ...

  6. [转]linux查看日志文件内容命令

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  7. linux查看日志文件内容命令tail、cat、tac、head、echo

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  8. 【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  9. linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

随机推荐

  1. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  2. C# out关键词应用

    C#的out关键词,即是方法内赋值. 返回处理后的结果.打个比喻,有一个宽度的需要按比例缩放.标准宽度为88,如宽度大于这个标准宽度的话,按照0.8进行缩放.如果小于标准宽度,输出的结果没变化. 此时 ...

  3. C# 枚举基本用法及扩展方法

    没什么好说的,都是些基础! 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; usi ...

  4. 介绍HTTP协议的传输过程

    1.HTTP是面向事物的应用层协议,它使用TCP连接进行可靠传输,服务器默认监听在80端口 2.服务流程 从协议执行过程来说,当浏览器要访问www服务器时,首先要对服务器进行域名解析(DNS协议).一 ...

  5. 【JVM.6】虚拟机类加载机制

    一.概述 虚拟机类加载机制:虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型. 与那些在编译时需要进行连接工作的语言不同 ...

  6. subprocess.Popen指令包含中文导致乱码问题解决

    其实解决起来非常简单,如果了解到Windows中文系统编码为GB2312的话 只需将你包含中文的指令字符串编码为GB2312即可 cmd = u'cd 我的文档' cmd.encode('gb2312 ...

  7. Nginx---应用场景小结

    Nginx介绍   Nginx一是一款轻量级的.高性能的HTTP.反向代理服务器,具有很高的稳定性.支持热部署.模块扩展也非常容易.Nginx采取了分阶段资源分配技术,处理静态文件和无缓存的反向代理加 ...

  8. linux alias 别名设置【转载】

    功能说明:设置指令的别名. 语 法:alias[别名]=[指令名称] 形如: alias cp=“cp -i” : 补充说明:用户可利用alias,自定指令的别名.若仅输入alias,则可列出目前所有 ...

  9. Daily Scrumming* 2015.12.20(Day 12)

    一.团队scrum meeting照片 二.成员工作总结 姓名 任务ID 迁入记录 江昊 任务1090 https://github.com/buaaclubs-team/temp-front/com ...

  10. checkbox未选中不提交数据

    如果checkbox为选中的话提交的数据为NULL function checkForm() { alert(($("#checkbox").get(0).checked)); i ...