前言:本篇是 Linux 基本操作篇章的内容!
笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。


学习集:


目录索引:
1. 基本语法及功能
2. 常用可选项说明
3. 文件剪切操作
- - 3.1 指定目录下文件(上级目录) => 当前所在目录
- - 3.2 指定目录 => 指定目录
- - 3.3 拷贝指定文件到上级目录
4. 目录剪切操作
5. 文件/目录重命名【含写法格式】
- - 5.1 文件重命名
- - 5.2 目录重命名
6. 相关文章或系列推荐


1. 基本语法及功能

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

语法:

  • mv [选项] 源文件或目录 目标文件或目录
  • 注:必须指定目标文件或目录

功能:

  1. 视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至目标目录中。

2. 常用可选项说明

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

3. 常用选项及测试

3.1 指定目录下文件(上级目录) => 当前所在目录
/* 查看当前操作所在目录内容 */
[Mortal@VM-12-16-centos ~]$ ls
copy.txt  StudyingOrder_Linux  test1  test2  test3  test_cp  test_mkdir

/* 创建并进入测试目录 */
[Mortal@VM-12-16-centos ~]$ mkdir test_mv
[Mortal@VM-12-16-centos ~]$ cd test_mv

/* 剪切上级目录中的 copy.txt 到 当前目录 */
[Mortal@VM-12-16-centos test_mv]$ mv ../copy.txt .
    
/* 查看当前操作所在目录内容 */
[Mortal@VM-12-16-centos test_mv]$ ls
copy.txt

/* 查看上级目录内容 */
[Mortal@VM-12-16-centos test_mv]$ ls ..
StudyingOrder_Linux  test1  test2  test3  test_cp  test_mkdir  test_mv

3.2 指定目录 => 指定目录
[Mortal@VM-12-16-centos test_mv]$ ls ..
StudyingOrder_Linux  test1  test2  test3  test_cp  test_mkdir  test_mv
[Mortal@VM-12-16-centos test_mv]$ ls
copy.txt

/* 递归创建多级目录 */
[Mortal@VM-12-16-centos test_mv]$ mkdir -p a/aa/aaa

/* 查看目录树结构 */
[Mortal@VM-12-16-centos test_mv]$ tree .
.
|-- a
|   `-- aa
|       `-- aaa
`-- copy.txt

3 directories, 1 file

/* 指定目录 => 指定目录 */
[Mortal@VM-12-16-centos test_mv]$ mv copy.txt a/aa/aaa

/* 查看目录树结构 */
[Mortal@VM-12-16-centos test_mv]$ tree .
.
`-- a
    `-- aa
        `-- aaa
            `-- copy.txt

3 directories, 1 file

3.3 拷贝指定文件到上级目录
/* 查看当前所在路径 */
[Mortal@VM-12-16-centos test_cp]$ pwd
/home/Mortal/test_cp

/* 执行操作: */
[Mortal@VM-12-16-centos test_cp]$ cp origin_dir/test_origin.txt ../copy.txt

/* 返回上级并查看目录: */
[Mortal@VM-12-16-centos test_cp]$ cd ..
[Mortal@VM-12-16-centos ~]$ pwd
/home/Mortal

/* 查看是否存在拷贝文件 */
[Mortal@VM-12-16-centos ~]$ ls
copy.txt(这)  StudyingOrder_Linux  test1  test2  test3  test_cp  test_mkdir

4. 目录剪切操作

目录的剪切只直接操作,无需考虑是否为空等问题!

[Mortal@VM-12-16-centos test_mv]$ mv a/aa/aaa .
[Mortal@VM-12-16-centos test_mv]$ tree .
.
|-- a
|   `-- aa
`-- aaa
    `-- copy.txt

3 directories, 1 file

5. 文件/目录重命名【含写法格式】

5.1 文件重命名

结论:不能直接拷贝目录!

语法格式:mv + [指目录]文件名 + [指目录](new)文件名

[Mortal@VM-12-16-centos test_mv]$ touch test_nane.txt
[Mortal@VM-12-16-centos test_mv]$ mv test_nane.txt test_new_name.txt
[Mortal@VM-12-16-centos test_mv]$ ls
a  aaa  test_new_name.txt

5.2 目录重命名

语法格式:mv + [指目录]目录名 + [指目录](new)目录名

/* 简单修改 */
[Mortal@VM-12-16-centos test_mv]$ ls
a  aaa  test_new_name.txt
[Mortal@VM-12-16-centos test_mv]$ mv aaa newaaa
[Mortal@VM-12-16-centos test_mv]$ ls
a  newaaa  test_new_name.txt

/* 查看目录树结构 */
[Mortal@VM-12-16-centos test_mv]$ tree .
.
|-- a
|   `-- aa
|-- newaaa
|   `-- copy.txt
`-- test_new_name.txt

3 directories, 2 files

/* 修改指定目录下的目录名 */
[Mortal@VM-12-16-centos test_mv]$ mv a/aa a/bb

/* 查看目录树结构 */
[Mortal@VM-12-16-centos test_mv]$ tree .
.
|-- a
|   `-- bb
|-- newaaa
|   `-- copy.txt
`-- test_new_name.txt

3 directories, 2 files

6. 相关文章或系列推荐

1. Linux 学习目录合集


2. Linux :: 【基础指令篇 :: 文件及目录操作:(4)】:: mkdir :: 创建目录:指定路径单个目录创建及一次性创建多级目录
3. Linux :: 【基础指令篇 :: 文件及目录操作:(5)】:: touch:创建普通文件、修改文件创建时间及其他基本操作
4. Linux :: 【基础指令篇 :: 文件及目录操作:(6)】:: rmidr / rm:删除空目录、删除非空目录及删除文件指令
5. Linux :: 【基础指令篇 :: 文件及目录操作:(7)】:: cp:指定文件或目录的拷贝及指定拷贝到指定路径(与重命名)


GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐