Ubuntu学习笔记(一)——目录与路径

news2024/12/24 0:15:53

文章目录

  • 前言
  • 一、相对路径与绝对路径
    • 1.绝对路径(absolute)
    • 2.相对路径(relative)
  • 二、目录相关操作命令
    • 1.cd(change directory, 切换目录)
    • 2.pwd(print working directory, 显示目前所在的目录)
    • 3.mkdir(make directory, 建立新目录)
    • 4.rmdir(remove directory, 删除“空”的目录)


前言

`

在介绍本章用到的基本命令之前,先介绍一下Linux的路径,我们对Windows系统很熟悉,我们知道Windows系统中的所有文件都是在从盘符开始的,并且文件都是存储在磁盘的(C盘、D盘、E盘等)比如C:\user\图片。但是Linux系统是完全不一样的,在Linux中,文件系统里面不都是磁盘文件。Linux文件系统里面除了磁盘文件,还有很多设备、甚至一些虚拟的对象,也在文件系统目录里面访问。
Linux系统中所有的文件的路径始终是从一个根节点开始的,即" / “,Linux在启动的过程中,会根据配置,创建一个虚拟的文件系统目录结构(可以想象成Linux创建在内存中的一个目录结构)。在启动过程中,Linux有一个过程叫做挂接,会将文件系统挂接到虚拟的文件目录结构里的一个挂接点上,比如下图中,将一个磁盘分区挂到opt这个点上,opt上面还有根” / ",因此磁盘挂接在“ /opt ”下,挂接好了之后,再去访问磁盘上的文件就是通过/opt去访问。所以,我们要决定如何访问磁盘中的文件,就是看磁盘挂接在哪个点上。
综上,我们可以得出结论,Linux文件系统其实就是一个虚拟的目录结构,放在内存中,所有磁盘需要挂接到目录的某个点上,然后再去通过这个点去访问。这是与Windows中的目录结构不一样的。

注意:在Linux下面,所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头,然后再一个一个的分支下来,有点像是树枝状,因此,我们也称这种目录配置方式为:目录树(directory tree)。其特性有三个:
1.目录树的起始点为根目录(/)
2.每一个目录不止能使用本地分区的文件系统,也可以使用网络上的文件系统。
3.每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。

在这里插入图片描述

一、相对路径与绝对路径

上面介绍完了Linux的目录系统,这里我们介绍访问Linux系统的文件的时候路径的两种访问方式。
根据文件名写法的不同,可以将所谓的路径(path),定义为绝对路径(absolute)和相对路径(relative)。

1.绝对路径(absolute)

由根目录(/)开始写起的文件名或目录名称,例如/home/username/anaconda/python.py

2.相对路径(relative)

相对于目前的文件名的写法。例如./home/username/anaconda/python.py。
开头不是" / "就属于相对路径的写法。

二、目录相关操作命令

下面就来讲几个常见的处理目录的命令“

cd: 切换目录
ped: 显示当前目录
mkdir: 建立一个新目录
rmdir: 删除一个空目录

1.cd(change directory, 切换目录)

cd ~  #表示回到自己的家目录
cd   #不加任何路径,也代表回到自己的家目录
cd ~user1 #表示进入到user1这个使用者的家目录,但是在非root用户的情况下,是进不去的,会提示权限不够
cd .. #表示回到相对于现在目录的上一层目录
cd - #表示回到刚刚所在的那个目录

2.pwd(print working directory, 显示目前所在的目录)

pwd  #单纯显示当前的工作目录
pwd -P  #如果当前的目录为链接文件的路径,那么添加-P参数之后显示的不是当前的目录,而是链接文件的正确的完整路径

3.mkdir(make directory, 建立新目录)

mkdir test1   #表示在当前目录下创建一个名为test1的文件夹
mkdir -p test2/test3/test4   #表示在当前目录下创建一个名为test2的文件夹,并在test2的文件夹下创建一个名为test3的文件夹,并在test3的文件夹下创建一个名为test4的文件夹。创建多层的目录文件夹,必须添加-p参数,否则会报错。
mkdir -m 711 test2  #建立权限为rwx--x--x的目录,如果不添加-m属性来强制设置新目录的权限,那么新建立的目录的权限使用的是默认权限,默认权限与umask有关。

4.rmdir(remove directory, 删除“空”的目录)

rmdir test1  #test1下面没有任何的文件和目录,因此可以直接删除
rmdir test2  #test2下面有目录test3,因此会删除失败
rmdir -p test2/test  #可以将、test2/test一次一起删除,不过要注意,rmdir仅能删除空目录。当test2下还有目录test2/test1时,这时就无法删除test2/test了,因此删除了test后test2中还有test1,不是空目录
rm -r test2 #可以删除非空的文件夹,但是比较危险,容易误删有用的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Versioning data and models for rapid experimentation in machine learning

翻译博客:https://medium.com/pytorch/how-to-iterate-faster-in-machine-learning-by-versioning-data-and-models-featuring-detectron2-4fd2f9338df5 在本文中,您将学习如何创建和使用版本化的数据集作为可重现的机器学习流程的一部分。为了说明这一…

自定义MVC工作原理

目录 一、MVC二、MVC的演变2.1 极易MVCController层——Servletview层——JSP缺点:Servlet过多、代码冗余 2.2 简易MVCController层——Servletview层——JSP缺点:在Servlet中if语句冗余 2.3普易MVCController层——Servletview层——JSP缺点&#xff1a…

OBS播放NDI源

下载OBS Studio的NDI运行时和插件 https://github.com/obs-ndi/obs-ndi/releases 下载文章中的下面这两个文件,并直接双击安装。 或者从百度云下载也行: 链接:https://pan.baidu.com/s/1vNn1yMdCy6BZkKxKCq-kDw 提取码:cxxg 安装完成之后,打开OBS Studio 点击加号添…

RabbitMQ系列(11)--RabbitMQ交换机(Exchange)简介

1、交换机概念 生产者生产的消息从不会直接发送到队列,生产者只能把消息发送到交换机(Exchange),交换机接收来着生产者的消息,另一方面把消息推入队列,交换机必须知道如何处理收到的消息,是应该…

【设计模式】第十五章:责任链模式详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章:单例模式 【设计模式】第二章:工厂模式 【设计模式】第三章:建造者模式 【设计模式】第四章:原型模式 【设计模式】第五章:适配器模式 【设计模式】第六章&…

银河麒麟服务器v10 sp1 nginx开机自动启动

接上一篇:银河麒麟服务器v10 sp1 安装 nginx_csdn_aspnet的博客-CSDN博客 设置开机自启动 定义服务启动文件内容: [Unit] Descriptionnginx - high performance web server Afternetwork.target remote-fs.target nss-lookup.target [Service] Ty…

menuconfig selected by 怎么处理

比方说我想取消掉flex,但是被强制生成了: 输入搜索命令查了一下: 搜一下selected by [y] 中的 linux_pam: 取消掉 这样就不用编flex了。

【HarmonyOS】元服务启动命令漫谈

在日常开发中,我们可以通过DevEco Studio,直接Run我们的元服务工程,在测试机上拉起我们开发的元服务页面。但是我们自己打包HarmonyOS元服务hap在手机上安装后是没有桌面图标的。虽然我们可以在设置的服务管理中找到我们安装的元服务&#xf…

Go语言操作MySql数据库

go-sql-driver/mysql库是Go语言官方推荐的MySQL驱动库,可以很方便地实现对MySQL数据库的连接和操作。本文记录以下使用go-sql-driver/mysql数据库驱动来操作mysql数据库。 目录 1.安装驱动程序 2.导入驱动包 3.操作数据库 3.1 获取mysql版本 3.2 创建表 3.3 …

详解JAVA Socket

目录 1.概述 2.使用 3.使用场景 3.1.web server中的网络通信 3.2.长连接 3.3.性能问题 1.概述 什么是网络通信: 就像打电话一样,两点间要通信,两点间就必须有连接,为了实现任意两个节点之间的通信,我们就必须采…

用户与组管理介绍

文章目录 一、服务器系统版本介绍二、用户管理1. 用户概述2. 内置账户3. 配置文件4. 用户管理命令 三、组管理1. 组概述2. 内置组(系统自带的组)3. 组管理命令 一、服务器系统版本介绍 Windows服务器系统:win2000、win2003、win2008、win2012…

Spring 与 Servlet-2

学习笔记(加油呀): Spring的通知类型 Spring 通知类型按切面功能调用的不同时刻,可以分为提供了 5 种 Advice 类型 1、前置通知 Before advice:在某连接点之前执行的通知,但这个通知不能阻止连接点之前的…

SAP ABAP ALV FIELDCAT 字段设置详细说明

一、SAP ABAP ALV FIELDCAT 字段设置的位置: 二、SAP ABAP ALV FIELDCAT 字段设置的详细说明: 字段属性描述使用目的CFIELDNAME参照Currency单位的字段名根据单位显示相应值CHECKBOX设置成复选框字段输出选项COL POS字段的输出顺序字段输出选项COLDDICT…

Android Studio实现内容丰富的安卓视频管理平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号081 1.开发环境 android stuido 2.功能介绍 安卓端: 1.注册登录 2.本地视频 3.视频播放 4.收藏功能 5.网路视频…

R语言绘图丨论文中最常用箱线图绘制教程,自动进行显著性检验和误差线标注

多组比较式箱线图 在科研论文绘图中,对于多组数据进行比较一般采用箱线图的方法,今天分享一下这个经典数据可视化方法,从零开始绘制一张带误差棒并自动计算显著性比较结果的箱线图。 前言:箱线图有什么优势? 数据分布…

【AcWing算法基础课】第三章 搜索与图论

文章目录 前言课前温习一、深度优先搜索(DFS)1、排列数字1.1题目描述1.2思路分析1.3代码实现 2、 n-皇后问题1.4题目描述1.5思路分析1.6代码实现 二、宽度优先搜索(BFS)1、走迷宫2.1题目描述2.2思路分析2.3代码实现 三、树与图的存…

2023.07.05 ARM day6

实验1 1.在键盘输入一个字符,串口工具进行显示 2.例如:在在键盘输入一个字符a,串口工具进行显示b 实验2 1.在键盘输入一个字符串,串口工具进行显示 2.例如:在在键盘输入一个字符串“huyue”,串口工具进行显示“huyue” inclu…

MySQL数据库管理与开发

什么是MySQL 数据库? M典MQLB公司开发的一个关系型数据库管理系统。通过它司以有效地组织和管理存储在数据库中的数据。MySQL 数据库可以称得上日前运行速度最快的SQL语言数据库。 MySQL 的优势 MySQL数据库是一款自由软件,任何人都可以从MySQL的官方…

保姆级 雅特力AT32 MCU 从SRAM启动KEIL工程配置步骤(STM/GD/APM通用)

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。 本文档用于本人对知识点的梳理和记录。 一、前言 开发工具:KEIL 开发板:AT32F415 AT-START-F415 软件工程:雅特力BSP flash_wirte_read 点击…

阿里开业项目chat2DB-人工智能SQL分析介绍

1. chat2DB简介 1-1. 简介 ​ chat2DB是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力,能够将自然语…