Open mowatermelon opened 6 years ago
mkdir [选项] {目录} 选项是非必写,目录名是必写的,注意,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的,区分大小写。
选项名 | 说明 |
---|---|
-m or --mode | 模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask |
-v or --verbose | 显示此帮助信息并退出 |
-p or --parents | 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; |
--version | 输出版本信息并退出 |
选项说明速记,完整单词都是两个中划线,如果是缩写,则是一个中划线
$ mkdir melon1
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 melon1/
-v
指令$ mkdir -v melon2
mkdir: created directory 'melon2'
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 melon1/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
-p
指令# 创建新文件夹下的子文件夹,即同时创建了两个文件夹
$ mkdir -p melon3/melon33
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 21:23 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 melon1/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:23 melon3/
$ tree learnVim
learnVim
├── melon1
├── melon2
└── melon3
└── melon33
4 directories, 0 files
# 同时创建多级文件夹,并且输出相关创建信息
# 注意如果父级文件夹下只需要创建一个文件夹,可以不用加大括号 eg: static/plugins,
# 如果父级文件夹下需要创建多个文件夹,必须要加大括号eg: src/{pages,assets},
$ mkdir -vp vue-demo/{build/,config/,node_modules/,src/{pages,assets},static/plugins,test/{e2e,unit}}
mkdir: created directory 'vue-demo'
mkdir: created directory 'vue-demo/build/'
mkdir: created directory 'vue-demo/config/'
mkdir: created directory 'vue-demo/node_modules/'
mkdir: created directory 'vue-demo/src'
mkdir: created directory 'vue-demo/src/pages'
mkdir: created directory 'vue-demo/src/assets'
mkdir: created directory 'vue-demo/static'
mkdir: created directory 'vue-demo/static/plugins'
mkdir: created directory 'vue-demo/test'
mkdir: created directory 'vue-demo/test/e2e'
mkdir: created directory 'vue-demo/test/unit'
$ tree vue-demo # 打印目录结构
vue-demo
├── build
├── config
├── node_modules
├── src
│ ├── assets
│ └── pages
├── static
│ └── plugins
└── test
├── e2e
└── unit
11 directories, 0 files
-m
指令$ mkdir -m 777 melon4 # 创建权限为777的目录
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 melon1/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:23 melon3/
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 melon4/
drwxrwxr-x 1 melon melon 4096 Aug 19 23:43 vue-demo/
# eg []
touch {file} # 新建文件
# 可以输入 ls,查看当前路径下文件和文件夹名
$ ls
test01.js
# 可以输入ls -l 查看当前文件夹中相关文件显示信息
ls -l
total 0
-rw-rw-rw- 1 melon melon 87 Aug 19 20:57 test01.js
# 可以输入ll,查看当前文件夹(包含隐藏文件)中相关信息
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 20:57 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
-rw-rw-rw- 1 melon melon 87 Aug 19 20:57 test01.js
rm [-dfirv][--help][--version]{文件或目录...} 中括号内是非必写,目录名是必写的
指令名 | 说明 |
---|---|
-d or --directory | 直接把欲删除的目录的硬连接数据删成0,删除该目录。 |
-f or --force | 强制删除文件或目录 |
-i or --interactive | 删除既有文件或目录之前先询问用户 |
-r,-R, or --recursive | 递归处理,将指定目录下的所有文件及子目录一并处理。 |
-v or --version | 输出版本信息并退出 |
指令说明速记,完整单词都是两个中划线,如果是缩写,则是一个中划线。
删除文件,不管文件内是否有内容,都直接执行的删除。
# 新建一个文件方便测试删除
$ touch melon.js
$ vim melon.js # 在文件中输入一些数据
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
-rw-rw-r-- 1 melon melon 0 Aug 19 23:53 melon.js
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 melon1/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:23 melon3/
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 melon4/
drwxrwxr-x 1 melon melon 4096 Aug 19 23:43 vue-demo/
# 尝试删除刚才创建的文件
$ rm melon.js
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 19 23:56 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:21 melon1/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
drwxrwxrwx 1 melon melon 4096 Aug 19 21:23 melon3/
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 melon4/
drwxrwxr-x 1 melon melon 4096 Aug 19 23:43 vue-demo/
# 删除成功
-d
指令删除文件夹,如果文件夹内有内容,结合-d
指令会提示删除失败,文件夹不为空。
# 尝试删除之前的melon1
$ rm -d melon1
$ tree melon1
melon1 [error opening dir]
0 directories, 0 files
# 删除成功
# 尝试删除之前有两级的melon3
$ rm -d melon3
rm: cannot remove 'melon3': Directory not empty
# 删除失败
-f
指令删除文件夹,如果文件夹内有内容,结合-f
指令会提示删除失败,这是一个文件夹。
# 尝试删除之前有两级的melon3
$ rm -f melon3
rm: cannot remove 'melon3': Is a directory
# 删除失败
$ rm -rf melon3 # 执行递归强制删除
# 删除成功
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 20 00:09 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 melon4/
drwxrwxr-x 1 melon melon 4096 Aug 19 23:43 vue-demo/
-i
指令删除过程中使用-i
指令,会在删除之前询问一下用户,是否删除,如果输入y
,则代表是确认删除,如果输入n
,则代表是不允许删除。
# 尝试删除之前的melon2
$ rm -i melon2
rm: cannot remove 'melon2': Is a directory
$ rm -id melon2
rm: remove directory 'melon2'? n # 尝试取消删除
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 20 00:09 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 21:22 melon2/
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 melon4/
drwxrwxr-x 1 melon melon 4096 Aug 19 23:43 vue-demo/
$ rm -id melon2
rm: remove directory 'melon2'? y # 尝试确认删除
$ ll
total 0
drwxrwxrwx 1 melon melon 4096 Aug 20 00:12 ./
drwxrwxrwx 1 melon melon 4096 Aug 19 20:37 ../
drwxrwxrwx 1 melon melon 4096 Aug 19 23:55 melon4/
drwxrwxr-x 1 melon melon 4096 Aug 19 23:43 vue-demo/
-v
指令# 尝试删除之前的melon4
$ rm -v melon4
rm: cannot remove 'melon4': Is a directory
$ rm -rv melon4
removed directory 'melon4' # 打印出来的删除日志
# 尝试删除之前的vue-demo,这个日志比较全一些
$ rm -rv vue-demo
removed directory 'vue-demo/build'
removed directory 'vue-demo/config'
removed directory 'vue-demo/node_modules'
removed directory 'vue-demo/src/assets'
removed directory 'vue-demo/src/pages'
removed directory 'vue-demo/src'
removed directory 'vue-demo/static/plugins'
removed directory 'vue-demo/static'
removed directory 'vue-demo/test/e2e'
removed directory 'vue-demo/test/unit'
removed directory 'vue-demo/test'
removed directory 'vue-demo'
vim显示行号