点击返回 自学Linux命令行与Shell脚本之路html
3.4-文件处理命令touch cp mv rm
1. touch命令
一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来建立新的空文件。
touch(选项)(参数)数组
选项spa
- -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 命令就建立一个同名的空文件。3d


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

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

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

2. CP命令
cp命令主要用于复制文件或目录。
cp(选项)原文件/目录 目标文件/目录
递归
选项get
- -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 (选项)(参数)
参数 文件:指定被删除的文件列表,若是参数中含有目录,则必须加上-r
或者-R
选项。



