当前位置: 首页 > news >正文

linux-21 目录管理(一)mkdir命令,创建空目录

  对linux而言,对一个系统管理来讲,最关键的还是文件管理。那所以我们接下来就来看看如何实现文件管理。当然,在文件管理之前,我们说过,文件通常都放在目录下,对吧?所以先了解目录,可能对我们而言是个基础,来看一下,目录管理的相关功能都有哪些吧?
首先我们讲过几个命令了,比方说ls、cd、pwd,再看其他命令,比如要想创建一个目录,该怎么办?mkdir,简写make directory,这就是用来创建空目录的。我们在什么地方可以创建目录?比方说一个路径压根就不存在,我在底下创建行不行?比如,假设我们在root下的x下的y下创建个z,/root/x/y/z请问这到底是创建root创建x再创建y再创建z?还是说我指的目的只是为了创建z?
也就意味着/root/x/y/ 是路径,是不是这意思啊?我们创建目标是谁啊?只是z而已,对吗?那如果z的父目录y不存在的话,怎么办?能创建z吗?不能,这个一定要理解,一说到创建目录就随便给个路径,就要创建,创建目录的时候给的任何一个路径上,只有最后一个节点,就是文件路径的最后一个点,才是要创建的那个目录。比如来看,ls一下当前目录,ls .,如下图,

没有叫x的目录是吧?我们mkdir x,如下图,

就创建了一个叫做x的目录,然后 mkdir x/y,大家看,现在使用的是绝对路径还是相对路径?相对路径,绝对路径都是以斜线开头的,对不对?O而相对路径都是以什么开头的,点斜杠,所以也可以写成 mkdir ./x/y这表示当前目录下x下的y,但是点斜杠可以省略,在很多时候是可以省略的,
这表示我创建个y,如下图,

是在x这个路径下创建的,x是当前目录下的x,此时我们是不是就可以创建z了?就这么简单,因为x和y都已经存在了,mkdir ./x/y/z,如下图,

我们来看看x下边是不是有y,是不是有个z,那么要使用什么命令可以看到目录树?这里我们使用个命令叫tree,查看目录树,这叫查看文件系统树的,tree命令,如下图,

它明显给我们一个结构,x下有y,然后y下有z,假设说我们此时想在root目录下创建个m,下面有个n,再往下有一个q的目录,该怎么来实现?跟刚才一样,先创建m,再创建n,再创建q,对吧?
这事很麻烦,所以很多时候我们希望一个命令搞定的话也可以,mkdir有个选项叫-p选项,-p表示parent,叫父目录,如果我们指定z的话,z的父目录y不存在,那就先创建y,会自动先创建,那如果y的父母x不存在的话,就自动先创建x,如果x父母root不存在,一样依次类推。当然,根不可能不存在的,对不对?那因此所以,我一个命令也能同时把它创建出来,比如,我们使用mkdir -p /root/m/n/q 就行了,不加-p,它会报错的,如下图,

mkdir: cannot create directory `/root/m/n/q': No such file or directory,它压根就没有m,怎么可能在m/n下创建q呢?这不可以,也不允许的,使用杠p选项就可以了,再说另外一个选项叫-v,linux的很多命令都有-v选项,叫做verbose,它意思表示详细信息。那因此我们把-p和-v一块来用,它会显示这个创建过程,mkdir -p /root/m/n/q,如下图,

先创建m,m下创建n,n下再创建q,如果不想查看这个过程,-v就不用带了,有没有发现?我们如果执行个命令,成功了不加-v选项,它什么都不给我们返回,如果失败了,就给我们说一大堆话,
是不是这样子?所以这也是linux的重要哲学思想之一,叫没有信息就是最好的信息。它不说话,那就说明这事儿成了,它要跟你说一大堆,那说明一般是有问题的。所以它一旦出现信息了,一定要看一看。看不懂也要看,反正我们有词典,有各种翻译,好,这是我们mkdir命令的使用,当然它的常用选项也就这么多,这是如何创建一个目录的,是不是很简单?好了,我们思考这样一个问题,有时候我们可能有这样的一种需求,假设在mnt下创建个创建个test目录,在test下创建个x,在test下还创建一个y。好在x下还有一个m,思考下,怎么用一个命令实现,一下子创建了几个路径出来?怎么实现?很简单,mkdir -pv /mnt/test/x/m /mnt/test/y,是不是这样子?那有没有发现整个路径里边前半段都是重复的?那怎么办呢?还可以这么来用,mkdir -pv /mnt/test/{x/m,y},这叫花括号,这是bash的一种特性,高级特性叫做花括号展开,或者叫命令行展开,当它遇见花括号的时候,会自动把逗号分隔的路径展开为两个,那意思就是说,有的路径是/mnt/test/x/m ,有的路径是 /mnt/test/y,所以它自动把它展开为上面这两个这个路径,这就叫花括号展开,或者叫命令行展开的一种功能,叫花括号展开。其实已经讲过一个了,另外一个展开叫波浪线展开,我写个cd ~student的时候,是不是自动给你转换完成这个student用户的家目录了?这就叫波浪线展开,我们来试一下,mkdir -pv /mnt/test/{x/m,y},如下图,

看看test、xx、m、y是不是展开了。

    好,那于是我们思考这样一个问题,我想在/mnt/目录下的mm目录下建立a_c a_d b_c b_d ,这四个目录如何通过一个命令完成呢?
很简单,mkdir -pv /mnt/mm/{a,b}_{c,d},如下图,

我们tree /mnt/mm ,如下图

这也是我们linux或者unix管理员的十大常用技巧之一,要学会使用,学会灵活运用。

相关文章:

linux-21 目录管理(一)mkdir命令,创建空目录

对linux而言,对一个系统管理来讲,最关键的还是文件管理。那所以我们接下来就来看看如何实现文件管理。当然,在文件管理之前,我们说过,文件通常都放在目录下,对吧?所以先了解目录,可能…...

总结-常见缓存替换算法

缓存替换算法 1. 总结 1. 总结 常见的缓存替换算法除了FIFO、LRU和LFU还有下面几种: 算法优点缺点适用场景FIFO简单实现可能移除重要数据嵌入式系统,简单场景LRU局部性原理良好维护成本高,占用更多存储空间内存管理,浏览器缓存L…...

【Vue】如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程

如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程。 安装 Vuex 首先,在你的 Vue 3 项目中安装 Vuex。可以使用 npm 或 yarn: npm install vuexnext --save # or yarn add vuexnext创建 Store 在 Vue 3 中,你可以使用 creat…...

VSCode 插件开发实战(十五):如何支持多语言

前言 在软件开发中,多语言支持(i18n)是一个非常重要的功能。无论是桌面应用、移动应用,还是浏览器插件,都需要考虑如何支持不同国家和地区的用户,软件应用的多语言支持(i18n)已经成…...

面试241228

面试可参考 1、cas的概念 2、AQS的概念 3、redis的数据结构 使用场景 不熟 4、redis list 扩容流程 5、dubbo 怎么进行服务注册和调用,6、dubbo 预热 7如何解决cos上传的安全问题kafka的高并发高吞吐的原因ES倒排索引的原理 spring的 bean的 二级缓存和三级缓存 spr…...

​Python数据序列化模块pickle使用

pickle 是 Python 的一个标准库模块,它实现了基本的对象序列化和反序列化。序列化是指将对象转换为字节流的过程,这样对象就可以被保存到文件中或通过网络传输。反序列化是指从字节流中恢复对象的过程。 以下是 pickle 模块的基本使用方法: …...

Spring Boot对访问密钥加解密——HMAC-SHA256

HMAC-SHA256 简介 HMAC-SHA256 是一种基于 哈希函数 的消息认证码(Message Authentication Code, MAC),它结合了哈希算法(如 SHA-256)和一个密钥,用于验证消息的完整性和真实性。 HMAC 是 “Hash-based M…...

HTML 元素:网页构建的基础

HTML 元素:网页构建的基础 HTML(HyperText Markup Language,超文本标记语言)是构建网页的基石。它定义了网页的结构和内容,而HTML元素则是构成HTML文档的基石。在本篇文章中,我们将深入探讨HTML元素的概念、类型、用法,以及如何在网页设计中有效地使用它们。 什么是HT…...

HEIC 是什么图片格式?如何把 iPhone 中的 HEIC 转为 JPG?

在 iPhone 拍摄照片时,默认的图片格式为 HEIC。虽然 HEIC 格式具有高压缩比、高画质等优点,但在某些设备或软件上可能存在兼容性问题。因此,将 HEIC 格式转换为更为通用的 JPG 格式就显得很有必要。本教程将介绍如何使用简鹿格式工厂&#xf…...

爆肝1个月:DDR4 的信号完整性(万字长文SI)

前言: 大学里面,总有很多课程,很浪费时间,学了没点用处,问过老师,为什么信号完整性,示波器使用等课程不开呢,这种是对工作真实有帮助的? 老师:因为老师…...

前端js验证码插件

相关代码,在最上方的绑定资源...

关于easy-es对时间范围查询遇到的小bug

前言:在使用easy-es之前作为一个小白的我只有es原生查询的基础,在自己通过查看官方文档自学easy-es遇到了一个挫折,其他的还好语法和MybatisPlus差不多,正以为我觉得很快就能入手,在对时间范围的判断就给我当头一棒&am…...

Mask R-CNN

目录 摘要 Abstract Mask R-CNN 网络架构 Backbone RPN Proposal Layer ROIAlign bbox检测 Mask分割 损失计算 实验复现 总结 摘要 Mask R-CNN是在Faster R-CNN的基础上进行改进的目标检测和实例分割网络。Faster R-CNN主要用于目标检测,输出对象的边…...

大模型-Dify使用笔记

大模型-Dify使用笔记 0、调整docker镜像源1、安装1、Docker Compose方式部署 2、访问 Dify 0、调整docker镜像源 由于墙的存在,所以默认的docker镜像源很难拉取项目,需要调整相关的docker配置文件 vim /etc/docker/daemon.json添加如下docker镜像源 { …...

Suno Api V4模型无水印开发「综合实战开发自己的音乐网站」 —— 「Suno Api系列」第14篇

历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中,支持120并发任务 Suno Api V4模型无水印开发「灵感模式」 —— 「Suno Api系列」第1篇 Suno Api V4模型无水印开发「自定义模式」 —— 「Suno Api系列」第2篇 Suno Api V4模型无水印开发「AI生成歌词」…...

云原生架构中的中间件容器化:优劣势与实践探索

在云原生架构逐步推进的过程中,许多企业已经开始将应用和服务容器化,以充分利用云计算带来的弹性和自动化。随着容器技术的发展,容器化不仅仅限于应用层,越来越多的中间件也被考虑纳入容器化范畴,包括Redis、Kafka、Ra…...

如何测试模型推理性能:从零开始的Python指南

如何测试模型推理性能:从零开始的Python指南 什么是模型推理性能?测试模型推理性能的步骤1. 监测内存使用情况2. 测试模型吞吐量 运行测试总结 在机器学习和深度学习中,模型的推理性能是一个非常重要的指标。它可以帮助我们了解模型在实际应用…...

我们来学activiti -- bpmn

bpmn 题记bpmn结余 题记 在《Activiti很难学》提到学习知识点需要面对的思想钢印问题 按常见步骤,先展示下官方的客套话 BPMN(Business Process Model and Notation)是一种业务流程建模符号, 它是一种图形化的语言,用…...

【每日学点鸿蒙知识】节点析构问题、区分手机和pad、 Navigation路由问题、Tabs组件宽度、如何监听Map

1、HarmonyOS 只调用根节点的dispose,是否其下的子节点都能析构掉还是需要遍历子节点,都执行dispose才能正常析构? 前端持有引用关系的需要dispose,new出来的builderNode和FrameNode也需要dispose。只调用根节点的dispose,无法保证其下的子节…...

敏捷测试文化的转变

敏捷文化是敏捷测试转型的基础,只有具备敏捷文化的氛围,对组织架构、流程和相关测试实践的调整才能起作用。在前面的敏捷测试定义中,敏捷测试是遵从敏捷软件开发原则的一种测试实践,这意味着敏捷的价值观。 此外,从传…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

反射获取方法和属性

Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...