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

文章目录

  • 前言
  • 一、相对路径与绝对路径
    • 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.hqwc.cn/news/9557.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单认识LVS-DR负载群集和部署实例

文章目录 一、LVS-DR负载群集简介1、DR模式数据包流向分析2、DR 模式的特点 二、DR模式 LVS负载均衡群集部署 一、LVS-DR负载群集简介 1、DR模式数据包流向分析 1、客户端发送请求到 Director Server(负载均衡器),请求的数据报文&#xff0…

jvm自带故障处理工具之jmap

jmap是java虚拟机自带的一种内存映像工具。 一般通过jmap可以生成堆的当前使用情况的快照,然后用它来分析或者调优JVM内存使用。 jmap -help jmap -histo:live pid 打印堆的直方图。对于每个Java类,将打印对象数,以字节为单位的内存大小以…

【深入浅出 Spring Security(七)】RememberMe的实现原理详讲

RememberMe 的实现原理 一、RememberMe 的基本使用二、RememberMeAuthenticationFilter 源码分析RememberMeServicesTokenBasedRememberMeServicesTokenBasedRememberMeServices 中对 processAutoLoginCookie 方法的实现总结原理图式 三、提高安全性PersistentTokenBasedRememb…

MySQL安装与部署

第一种方法:在线安装 配置一个安装yum源 Adding the MySQL Yum Repository 可以手动配置yum源,baseurl指向国内镜像源地址,比如清华、中科大。 Installing MySQL Starting the MySQL Server: 查询临时登录密码 修改数据库密码…

Linux内核代码中常用的数据结构

Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 链表 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链表所包含的元素可以动态创建并插入和删除。 链表的每个元素都是离散…

eBPF内核技术在滴滴云原生的落地实践

将滴滴技术设为“星标⭐️” 第一时间收到文章更新 导读 eBPF是Linux内核革命性技术,能够安全高效地扩展内核能力,应用广泛,尤其是在云原生可观测性领域的应用已经成为行业热点。在滴滴云原生环境中,eBPF技术进行了业务实践和内源…

CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)

简述:Cesium是一种基于WebGL开源的虚拟地球技术,可以用于构建高性能、跨平台的三维地球应用程序,它支持多种数据格式和地图服务,可以实现地球表面的高精度渲染、地形分析、数据可视化等功能。Cesium还提供了丰富的API和插件&#…

青岛大学_王卓老师【数据结构与算法】Week04_05_双向链表的删除_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–…

2023年03月份青少年软件编程Python等级考试试卷三级真题(含答案)

2023-03 Python三级真题 分数:100 题数:38 测试时长:60min 一、单选题(共25题,共50分) 1.十进制数111转换成二进制数是?( )(2分) A.111 B.1111011 C.101111 D…

flask_测试数据平台

实现功能:Flask框架平台访问批量自动造测试数据 import osfrom flask import Flask, render_template, request, jsonify, url_for, redirect from werkzeug.urls import url_parsefrom HuiCai import InsertHuiCaiOrderapp Flask(__name__, template_folderE:/fl…

23西安电子科技大学通信工程学院811考研录取情况

01、通信工程学院各个方向 02、23通信工程学院一志愿考研录取情况总览、平均分 PS:通院23年院线相对于22年院线上涨5-15分,个别专业下降10分反应西电通院热度23年和22年基本一致。 PS:1、通院23年比较多的考生在本部学硕、专硕扎堆&#xff…

插值应用案例1

案例1 一阶线性插值 待加工零件外形根据工艺要求在一组数据(x,y)给定(如下表),用程控铣床加工时每一刀只能沿着x方向或y方向走非常小的一步,需要从已知数据得到加工步长很小的(x,y)的坐标。 下表中所给x,y数据位于机翼断面的下…