[linux] 循序渐进学运维-mv

2021/4/15 7:28:57

本文主要是介绍[linux] 循序渐进学运维-mv,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


文章目录

    • 1. -b 如果要拷贝过去的文件夹下有目标文件,则加~
    • 2. -f 强制覆盖
    • 3. -i:默认选项,当目标文件存在时,提示是否覆盖
    • 4. -n 如果文件存在则不覆盖
    • 5. -v 显示详细信息
    • mv命令介绍
    • 功能:
    • 案例:
    • 总结:


mv命令介绍

功能:

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
重命名或者移动文件名字
常用选项:
-b 目标文件存在创建备份,备份文件是"文件名后跟~"
-u 当源文件比目的文件修改时间新时才移动
-v 显示移动信息

–help的内容如下:

Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
  -f, --force                  do not prompt before overwriting
  -i, --interactive            prompt before overwrite
  -n, --no-clobber             do not overwrite an existing fileIf you specify more than one of -i, -f, -n, only the final one takes effect.
      --strip-trailing-slashes  remove any trailing slashes from each SOURCE
                                 argument
  -S, --suffix=SUFFIX          override the usual backup suffix
  -t, --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY
  -T, --no-target-directory    treat DEST as a normal file
  -u, --update                 move only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done  --help     display this help and exit  --version  output version information and exitThe backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

Report mv bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'mv invocation'

案例:

1. -b 如果要拷贝过去的文件夹下有目标文件,则加~

[root@zmedu ~]# mkdir test1 test2[root@zmedu ~]# touch test1/a.txt[root@zmedu ~]# touch test1/b.txt[root@zmedu ~]# touch test/a.txttouch: cannot touch `test/a.txt': No such file or directory[root@zmedu ~]# touch test2/a.txt[root@zmedu ~]# mv -b test2/a.txt test1
mv: overwrite `test1/a.txt'? y[root@zmedu ~]# ls test1/a.txt  a.txt~  b.txt[root@zmedu ~]# 可以看到多了一个a.txt,而且第二个a.txt后面有~符号

2. -f 强制覆盖

[root@zmedu ~]# lstest1  test2[root@zmedu ~]# ll test1/total 0
-rw-r--r-- 1 root root 0 Nov 17 20:42 a.txt
-rw-r--r-- 1 root root 0 Nov 17 20:42 a.txt~
-rw-r--r-- 1 root root 0 Nov 17 20:42 b.txt[root@zmedu ~]# ll test2/total 0
-rw-r--r-- 1 root root 0 Nov 17 20:48 a.txt[root@zmedu ~]# mv -f test2/a.txt test1/[root@zmedu ~]# ll test1/total 0
-rw-r--r-- 1 root root 0 Nov 17 20:48 a.txt
-rw-r--r-- 1 root root 0 Nov 17 20:42 a.txt~
-rw-r--r-- 1 root root 0 Nov 17 20:42 b.txt[root@zmedu ~]#

3. -i:默认选项,当目标文件存在时,提示是否覆盖

[root@zmedu ~]# touch a.txt[root@zmedu ~]# lsa.txt  test1  test2[root@zmedu ~]# mv -i a.txt test1/mv: overwrite `test1/a.txt'? y[root@zmedu ~]#

4. -n 如果文件存在则不覆盖

[root@zmedu ~]# lsa.txt  test1  test2[root@zmedu ~]# mv -vn a.txt test1/[root@zmedu ~]# ll test1/total 0
-rw-r--r-- 1 root root 0 Nov 17 20:51 a.txt
-rw-r--r-- 1 root root 0 Nov 17 20:42 a.txt~
-rw-r--r-- 1 root root 0 Nov 17 20:42 b.txt

5. -v 显示详细信息

[root@zmedu ~]# mv -v a.txt  test1/mv: overwrite `test1/a.txt'? y`a.txt' -> `test1/a.txt'[root@zmedu ~]#

总结:

学习的过程中多用 --help是必要的 ,如果有不懂的参数,直接–help一下,英文的解释会更清晰明了。



这篇关于[linux] 循序渐进学运维-mv的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程