文件及目录操作 - 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... DIRECTORYmv
[参数选项] [源文件或目录] [目标文件或目录]
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
今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津