文件及目录操作 - mkdir、mv

1、mkdir:创建目录

mkdir命令的功能说明

mkdir命令用于创建目录,默认情况下,要创建的目录已存在,会提示文件存在,不会继续创建目录。

mkdir命令的语法格式

mkdir [OPTION]... DIRECTORY...
mkdir [参数选项] [目录]

mkdir命令的选项说明

mkfir 选项就几个,表1为 mkdir 命令的参数及说明:

表1: mkdir命令的参数及说明

参数选项 解释说明(带*的为重点)
-p 递归创建目录,如果目录事先存在,也不会报错*
-m 设置新创建的目录的默认目录对应的权限
-v 显示创建的过程

mkdir命令的实践操作

范例1: 不使用任何参数创建目录

[root@oldboyedu  ~]# cd /data/
[root@oldboyedu  /data]# tree -d          <-->没有任何目录
.

0 directories
[root@oldboyedu  /data]# mkdir test      <-->创建一个test目录
[root@oldboyedu  /data]# tree -d            <-->再次查看,发现已经创建好了
.
└── test

1 directory
[root@oldboyedu  /data]# mkdir test       <-->再创建一次,提醒已经存在
mkdir: cannot create directory ‘test’: File exists

范例2: 使用 -p 参数递归创建目录

[root@oldboyedu  /data]# mkdir oldboy/oldgirl         <-->创建oldboy下的oldgirl,业务没有oldboy,所以报错
mkdir: cannot create directory ‘oldboy/oldgirl’: No such file or directory
[root@oldboyedu  /data]# mkdir -p oldboy/oldgirl     <-->使用 -p 参数,就可以创建了
[root@oldboyedu  /data]# tree -d                                 <-->查看结果(也可先创建oldboy,在创建oldgirl,不推荐)
.
├── oldboy
│   └── oldgirl
└── test

3 directories

范例3:-v 参数显示创建目录的过程(没什么实际用途)

[root@oldboyedu  /data]# mkdir -pv oldboy2/test
mkdir: created directory ‘oldboy2’
mkdir: created directory ‘oldboy2/test’

范例3: 创建目录时可使用 -m参数设置目录的默认权限

[root@oldboyedu  /data]# mkdir dir1
[root@oldboyedu  /data]# ls -ld dir1/
drwxr-xr-x 2 root root 6 Apr  6 17:23 dir1/     <-->目录的默认权限是755
[root@oldboyedu  /data]# mkdir -m 333 dir2
[root@oldboyedu  /data]# ls -ld dir2
d-wx-wx-wx 2 root root 6 Apr  6 17:23 dir2    <-->权限已经发生变法了

2、mv:移动或重命名文件

mv命令的功能说明

mv命令用于移动或重命名文件。

mv命令的语法格式

mv [OPTION]... SOURCE... DIRECTORY
mv [参数选项] [源文件或目录] [目标文件或目录]

mv命令的选项说明

mv 选项就几个,表1为 mv 命令的参数及说明:

表1: mv命令的参数及说明

参数选项 解释说明(带*的为重点)
-f 若目标文件已经存在,不会询问是否覆盖
-i 若目标文件已经存在,就会询问是否覆盖
-n 不覆盖已经存在的文件
-t 指定mv的目标目录,此时目标目录在前,源文件在后
-u 在源文件比目标文件新,或目标文件不存在时才移动

mv命令的实践操作

范例1: 给文件改名字

[root@oldboyedu  /test]# ls
dir1  dir2  dir3  file1.txt  file2.txt  file3.txt
[root@oldboyedu  /test]# mv file3.txt file4.txt   <-->若目标文件不存在,重命名
[root@oldboyedu  /test]# ls
dir1  dir2  dir3  file1.txt  file2.txt  file4.txt
[root@oldboyedu  /test]# mv file2.txt file4.txt   <-->若目标文件存在,则会提示
mv: overwrite ‘file4.txt’? y                               <-->y表示确认,n表示不同意
[root@oldboyedu  /test]# alias mv                     <-->之所以会提示,是因为系统做了别名
alias mv='mv -i'
[root@oldboyedu  /test]# ls
dir1  dir2  dir3  file1.txt  file4.txt
[root@oldboyedu  /test]# \mv file1.txt file4.txt   <-->取消别名的方法
[root@oldboyedu  /test]# ls
dir1  dir2  dir3  file4.txt

范例2: 移动文件

移动单个文件

[root@oldboyedu  /test]# ls dir1/
sub1
[root@oldboyedu  /test]# mv file4.txt dir1/
[root@oldboyedu  /test]# ls dir1/
file4.txt  sub1

移动多个文件

[root@oldboyedu  /test]# ls dir1/
file4.txt  sub1
[root@oldboyedu  /test]# ls
dir1  dir2  dir3
[root@oldboyedu  /test]# touch file1.txt file2.txt
[root@oldboyedu  /test]# mv file1.txt file2.txt dir1/
[root@oldboyedu  /test]# ls dir1/
file1.txt  file2.txt  file4.txt  sub1

范例3: 将源文件和目标文件调换移动文件到目录(-t参数)

[root@oldboyedu  /test]# ls
dir1  dir2  dir3
[root@oldboyedu  /test]# ls dir1/
file1.txt  file2.txt  file4.txt  sub1
[root@oldboyedu  /test]# mv dir1/file* .                                     <-->还原实验环境
[root@oldboyedu  /test]# ls dir1/
sub1
[root@oldboyedu  /test]# mv -t dir1/ file1.txt file2.txt file4.txt   <-->源文件和目标文件调换
[root@oldboyedu  /test]# ls dir1/
file1.txt  file2.txt  file4.txt  sub1
[root@oldboyedu  /test]# ls
dir1  dir2  dir3
[root@oldboyedu  /test]# 

范例3: 移动目录

[root@oldboyedu  /test]# ls
dir1  dir2  dir3
[root@oldboyedu  /test]# mv dir1 dir4      <-->目录dir4不存在,重命名
[root@oldboyedu  /test]# ls
dir2  dir3  dir4
[root@oldboyedu  /test]# ls dir4
file1.txt  file2.txt  file4.txt  sub1
[root@oldboyedu  /test]# mv dir2 dir4      <-->目录dir4存在,移动
[root@oldboyedu  /test]# ls dir4
dir2  file1.txt  file2.txt  file4.txt  sub1
[root@oldboyedu  /test]# mv dir3 dir4
[root@oldboyedu  /test]# ls
dir4
[root@oldboyedu  /test]# ls dir4/
dir2  dir3  file1.txt  file2.txt  file4.txt  sub1

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

Shell命令-文件及目录操作之mkdir、mv的更多相关文章

  1. Shell命令-文件及目录操作之ls、cd

    文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...

  2. Shell命令-文件及目录操作之pwd、rm

    文件及目录操作 - pwd.rm 1.pwd:显示当前所在位置信息 pwd命令的功能说明 pwd命令用于显示当前工作目录的绝对路径,以便在各个目录间来回切换. pwd命令的语法格式 pwd [OPTI ...

  3. Shell命令-文件及目录操作之touch、tree

    文件及目录操作 - touch.tree 1.touch:创建文件或更改文件时间戳 touch命令的功能说明 touch命令用于创建新的空文件或改变已有文件的时间戳属性. touch命令的语法格式 t ...

  4. Shell命令-文件及目录操作之file、md5sum

    文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file ...

  5. Shell命令-文件及目录操作之cp、find

    文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORY ...

  6. Shell命令-文件及目录操作之chattr、lsattr

    文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性, ...

  7. Linux操作系统常用命令合集——第一篇-文件和目录操作(40个命令)

    一.选项和参数的区别        在经过上一次的系统安装后我们已经成功登陆,登陆LInux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着“选项”(英文名:options)或“参数” ...

  8. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  9. 『学了就忘』Linux基础命令 — 19、目录操作的相关命令

    目录 1.ls命令 2.cd命令 (1)绝对路径和相对路径 (2)cd命令的简化用法 3.pwd命令 4.mkdir命令 5.rmdir命令 常用目录操作的相关命令: ls命令 cd命令 pwd命令 ...

随机推荐

  1. 配置javaJDK环境

    1.官网下载JDK包 2.解压包 3.打开vi /etc/profile文件添加一下内容 export JAVA_HOME=/usr/jdk1.8.0_121 #你的jdk所在的目录 export C ...

  2. MySQL主从复制配置指导及PHP读写分离源码分析

    开发环境 master环境:ubuntu16.04.5LTS/i5/8G/500G/64位/mysql5.7.23/php7/apache2 slave环境:kvm虚拟机/ubuntu14.04.01 ...

  3. sqlserver操作geography方法

    参考:https://www.cnblogs.com/ytwy/p/5977848.html http://desktop.arcgis.com/zh-cn/arcmap/latest/manage- ...

  4. JavaScript类型化数组(二进制数组)

    0.前言 对于前端程序员来说,平时很少和二进制数据打交道,所以基本上用不到ArrayBuffer,大家对它很陌生,但是在使用WebGL的时候,ArrayBuffer无处不在.浏览器通过WebGL和显卡 ...

  5. Java实践:一个简易的http server和client的java源码学习和总结。

    一.基本思路: 1.服务器端通过socket(), 监听在TCP 8080端口,等待客户端来连接. 2.服务器端解析客户端的HTTP请求中的URI值,把本地的目录下指定文件通过java的读取文件的方式 ...

  6. 测者的测试技术手册:揭开java method的一个秘密--巨型函数

    揭开java method的一个秘密:巨型函数 相信,很多人都不知道Java的Method的上限为64K.本文将超过这个上限的函数叫做巨型函数. 巨型函数的问题 1.如果代码超过了这个限制,Java编 ...

  7. JavaScript中闭包的写法和作用详解

    1.什么是闭包 闭包是有权访问另一个函数作用域的变量的函数. 简单的说,Javascript允许使用内部函数---即函数定义和函数表达式位于另一个函数的函数体内.而且,这些内部函数可以访问它们所在的外 ...

  8. AngularJS学习之旅—AngularJS SQL(十二)

    一.使用 PHP 从 MySQL 中获取数据 <div ng-app="myApp" ng-controller="customersCtrl"> ...

  9. python粗谈面向对象(一)

    1.面向过程编程vs函数式编程 面向过程编程 以计算对象的元素个数为例. str_1 = 'abcdefg' count = 0 for i in str_1: # 统计字符串元素个数 count + ...

  10. python3 Queue(单向队列)

    创建队列 import queue q = queue.Queue() empty(如果队列为空,返回True) import queue q = queue.Queue() print(q.empt ...