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

学习RHCSA的day.03

目录

2.6 Linux系统的目录结构

2.7 目录操作命令

2.8 文件操作命令


2.6 Linux系统的目录结构

1、Linux目录结构的特点

分区加载于目录结构:

使用树形目录结构来组织和管理文件。整个系统只有一个位于根分区的一个根目录(树根)、一棵树。其他所有分区、目录、文件以及外部设备(如硬盘、光驱等)都是以根目录为起点,挂接在目录树的某个目录中的,通过访问挂载点目录,即可实现对这些分区的访问。Linux的根目录用 “ / ” 表示。

而Windows的目录结构属于分区,每个主分区或逻辑分区都有一个独立的根目录和相应的树形目录结构,各分区采用盘符进行区分和标识。

以下是Linux系统的目录结构:

/Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录
/binBinary的缩写,存放普通用户可执行的程序或命令
/boot存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动
/devdev是设备(device)的英文缩写。包括所有的设备文件
/etc(来源于法语,属于历史遗留问题)存放了系统管理时要用到的各种配置文件和子目录
/home存放一般用户的个人目录
/lib是库(library)的英文缩写,存放系统的各种库文件
/lib64存放系统本身需要用到64位程序的共享函数库(library)
/mnt可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
/media原本是用于存放媒体文件的,后来也可以用来将别的文件系统挂载在这个目录下
/opt该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统
/proc可以在这个目录下获取系统信息,这些信息是在内存中由系统自己产生的
/root超级用户的个人目录,普通用户没有权限访问
/run保存自系统启动以来描述系统信息的文件
/sbin和/bin类似,这些文件往往用来进行系统管理,只有root用户可以使用
/srvsrv是服务(server)的简写,服务启动之后需要访问的数据目录
/sys本目录是将内核的一些信息映射文件,以供应用程序所用
/tmp用来存放不同程序执行时产生的临时文件。
/home存放一般用户的个人目录
/usr一般用户程序安装所在的目录,用于安装各种应用程序
/var通常各种系统日志文件放在这里

2、工作目录、用户家目录及路径

用“路径”来表示某个文件(或目录)在目录结构中所处的位置。顾名思义,路径是指从树型目录中的某个目录层次到达某一文件或子目录的一条线路,路径以“/”为分隔符的多个目录名构成。

路径可分为:

①绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式。

②相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。

3、Linux的文件类型大致可分为:

-:普通文件,用于存放数据、程序等信息的文件。

d:directory,目录文件,是由文件中一个目录所包含的目录项所组成的文件。

l:link file,链接文件,又称符号链接文件,用于不同目录下文件的共享。实际上它指向另一个文件。

设备文件:用于与I/O设备提供连接的一种文件,分为:

        b:block,块设备文件,表示磁盘、光盘等

        c:character,字符设备文件,联系着按照字符进行操作的终端、键盘等设备。

p:pipe,管道文件,主要用于在进程间传递数据

s:socket,套接字文件,通常用于网络数据连接

注:Linux没有隐藏属性,文件或目录要实现隐藏,在命名时只要以“.”开头即可,对于隐藏文件或目录,必须携带“-a”参数的ls命令才能查看到。

查看文件系统类型:

[root@rhcsa ~]# ls -l /dev/tty1
crw--w----. 1 gdm tty 4, 1 May 17 21:04 /dev/tty1
[root@rhcsa ~]# ls -l /dev/nvme0n1
brw-rw----. 1 root disk 259, 0 May 17 21:04 /dev/nvme0n1
[root@rhcsa ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1657 Apr 17 18:21 anaconda-ks.cfg
[root@rhcsa ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Aug 30  2019 /bin/sh -> bash
[root@rhcsa ~]# ls -l /tmp/
drwx------. 2 root root  6 May 14 10:10 vmware-root_1032-2999133043
[root@rhcsa ~]# ls -l /run/dmeventd-client 
prw-------. 1 root root 0 May 17 21:04 /run/dmeventd-client
#套接字文件我的虚拟机里/dev/run目录下并未找到,找了一个命令
# ls -l /dev/log
srw-rw-rw- 1 root root 0 12月 26 09:20 /dev/log

 使用file查看文件类型

[root@rhcsa ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text

2.7 目录操作命令

路径(定位文件)

1、查看当前的工作目录(Print Working Directory)--- pwd命令

[root@rhcsa ~]# pwd
/root

2、改变工作目录(Change Directory)--- cd命令

cd /usr/local/lib    //改变目录到/usr/local/lib目录下
cd ..                //进入当前目录的父目录
cd ../etc            //进入当前目录的父目录下的etc子目录
cd ~                 //进入root用户登录时的工作目录(家目录)
cd 桌面              //进入当前目录下的“桌面”子目录
cd                   //进入当前用户的家目录
[root@rhcsa /]# cd /usr/local/lib
[root@rhcsa lib]# 

3、列表(list)显示目录内容 --- ls命令

命令格式:ls [选项] 文件名或目录名

常用选项:

选项功能
-a显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件
-A

与-a选项的作用类似,但不显示表示当前目录的“.”和表示父目录的“..”。

-c

带-lt:排序,并显示ctime(文件状态信息最后一次修改的时间);

with-l:显示ctime并按名称排序;否则:按ctime排序,最新优先

-d显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息。
-h以更人性化的方式显现出目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果。
-l以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式。
-R以递归的方式显示指定目录及其子目录中的所有内容。

示例:

[root@rhcsa /]# ls -alh

 4、创建目录(make directory)--- mkdir命令

命令格式:mkdir [-p] [/路径/] 目录名

-p:可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖

示例:

[root@rhcsa /]# mkdir -p /test/mk

 5、统计目录及文件的空间占用情况 --- du命令

功能:查看某个目录中的各级子目录所占用的磁盘空间数。

命令格式:du [选项] [目录名]

如果不跟目录名,则缺省为当前目录。

选项:

选项功能
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
-s只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小。
-h以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。

示例:

[root@rhcsa lib]# du -ah /test
0	/test/mk
0	/test

2.8 文件操作命令

1、新建空文件或更新已有文件或目录的修改日期 --- touch命令
格式:touch [选项] 文件或目录名列表
功能:若指定的文件或目录已存在,则将文件或目录的日期和时间修改为当前系统的日期和时间。
若指定的文件不存在,则以指定的文件名创建空文件
选项:

选项功能
-d yyyymmdd把文件的存取或修改时间改为 yyyy年mm月dd日。
-a只把文件的存取时间改为当前时间。
-m只把文件的修改时间改为当前时间。

示例:

[root@rhcsa test]# touch file{1..9}
[root@rhcsa test]# ls
file1  file2  file3  file4  file5  file6  file7  file8  file9  mk

2、stat 命令
stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间, 其基本信息如下。
􀀀 命令名称: stat。
􀀀 英文原意: display file or file system status。
􀀀 所在路径: /usr/bin/stat。
􀀀 执行权限:所有用户。
功能描述:显示文件或文件系统的详细信息。

[root@rhcsa test]# stat file1File: file1Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 613278      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:default_t:s0
Access: 2023-05-17 21:48:53.158416504 +0800 #访问文件时间
Modify: 2023-05-17 21:48:53.158416504 +0800 #数据修改时间
Change: 2023-05-17 21:48:53.158416504 +0800 #状态修改时间Birth: -

3、复制(copy)文件或目录 --- cp命令
功能:目录或文件的复制。
命令:cp [选项] 源文件 目标文件
选项:

选项功能
-a通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录
-d拷贝时保留链接。
-f在覆盖已经存在的目标文件时不提示。
-i在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-p除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
-l不作拷贝,只是链接文件。

示例:

[root@rhcsa test]# cp -r mk ack
[root@rhcsa test]# ls
ack  file1  file2  file3  file4  file5  file6  file7  file8  file9  mk

3.移动(mv)文件或目录 --- mv命令
mv命令用于剪切或重命名文件,英文全称为:“move”

语法格式为:“mv [参数] 源文件名称 目标文件名称”。
剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作:

示例:

[root@rhcsa test]# mv file12 filex2
[root@rhcsa test]# ls
ack  file1  file3  file4  file5  file6  file7  file8  file9  filex2  mk

4.删除(remove)文件或目录 --- rm命令
格式:rm [选项] 文件或目录名及路径
功能:删除文件或目录,可包含一个或多个文件名(各文件间用空格分隔)或用通配符表达,以实现删除多个文件或目录。
选项:

选项功能
-f在覆盖已经存在的目标文件时不提示。

-i

在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-r递归删除整个目录树。

注:不要将rm -rf *在任意一个目录下使用,否则将会导致严重的后果(除非有特殊需要)

5.为文件或目录建立链接(Link)——ln命令
命令格式: ln [选项] 被链接的源文件或目录 链接文件或目标目录
选项:

 

选项功能
-s建立符号链接(软链接),不加该选项时建立的链接为硬链接。
-f删除已经存在目标文件与源文件之间的链接关系。
-i交互式地删除目标文件与源文件之间的链接关系。

软链接和硬链接的区别:

比较硬链接符号链接(软链接)
不同点使用不带选项-s的ln命令创建使用带选项-s的ln命令创建
只能在与源文件相同的文件系统、分区
和挂载设备上创建
可跨越不同的文件系统、分区和挂载设备创建
只能针对文件创建硬链接,不能针对目录针对文件和目录均可建立软链接
具有硬链接关系的两个文件名指向的是
硬盘上的同一块存储空间
一个文件(或目录)指向另外一个文件(或目录)的
文件名(或目录名),类似于Windows系统中的快
捷方式
删除硬链接的任何一方文件后,另一方文
件仍然有效
删除源文件或目录后,软链接文件或目录无效
相同点对任何一方的内容进行修改都会影响到
另一方
链接文件都不会将源文件复制一份,只会
占用非常少量的用于存储链接信息的存
储空间

相关文章:

学习RHCSA的day.03

目录 2.6 Linux系统的目录结构 2.7 目录操作命令 2.8 文件操作命令 2.6 Linux系统的目录结构 1、Linux目录结构的特点 分区加载于目录结构: 使用树形目录结构来组织和管理文件。整个系统只有一个位于根分区的一个根目录(树根)、一棵树。…...

电子邮件协议(SMTP,MIME,POP3,IMAP)

SMTP 关键词: 电子邮件协议:SMTP简单邮件传输协议,负责将邮件上传到服务器,采用TCP的25端口,C/S工作。仅传送ASCII码文本 详细介绍: SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上…...

Golang笔记:使用embed包将静态资源嵌入到程序中

文章目录 目的使用演示//go:embed 指令在WebServer中应用总结 目的 Golang编译程序默认是静态编译,会把相关的库都打包到一起,这在分发部署使用时非常方便。不过如果项目中用到的外部的静态资源文件,通常就需要将这些资源和程序一起拷贝分发…...

ImportError: cannot import name ‘OldCsv‘ from ‘pyflink.table.descriptors‘

我最近开始使用flink用于数据处理。 当我尝试执行table api 用于计数时 我不能导入OldCsv and FileSystem from pyflink.table.descriptors. I have also downloaded apache-flink using: pip install apache-flink [rootmaster flink]# pip3 list | grep flink apache-fli…...

YouCompleteMe(YCM)安装

vim在各个linux版本中是个比较好编辑器,反正nano我是用不惯。但这个ycm的安装也是不断的在变,现在的安装比之前要简单的多,基本个几命令就搞定了,而且 也不用关心系统里有没有vim,ycm已经可以自动安装。具体安装步骤如下&#xff…...

day33_css

今日内容 零、 复习昨日 一、CSS 零、 复习昨日 见代码 一 、引言 1.1CSS概念 ​ 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文…...

10个最流行的向量数据库【AI】

矢量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。 每个向量都有一定数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。 推荐:用 NSDT场景设计器 快速搭建3D场景。 矢量数据库&…...

vite3+vue3 项目打包优化二 —— 依赖分包策略

在没有配置构建工具的分包功能时,构建出来的文件将无比巨大且是独立的一个 js 和 css 文件(如下图),这样本地加载文件时会存在巨大的压力。 默认情况下,浏览器重复请求相同名称的静态资源时,会直接使用缓存…...

中国社科院与美国杜兰大学金融管理硕士——与时间赛跑,充分利用每一分钟

不管你愿不愿意,时间总是在不经意间流去。林清玄在《和时间赛跑》中写道:“虽然我知道人永远跑不过时间,但是可以比原来快跑几步。那几步虽然很小很小,但作用却很大很大”。是的,我们需要与时间赛跑,充分利…...

什么是Dirichlet分布?

Dirichlet分布是一种概率分布,用于描述多维随机变量的概率分布。它是一个连续分布,通常用于处理具有多种可能取值的离散型随机变量。在LDA模型中,Dirichlet分布通常被用作先验分布,用来表示主题的概率分布和单词的概率分布。 Dir…...

web前端开发需要哪些技术?学前端顺序千万千万不要搞错啦!

宝子们,下午好,之前给大家分享了前端岗位的前景规划,小源看的出来,还是有不少宝子想入行前端的! 那除了会面试,还要有充足丰富的知识储备,需要什么技术,怎么样做才能找到高薪工作呢&…...

【AFNetWorking源码(二)AFURLSessionManger和AFHTTPSessionManager】

前言 学习了Mananger的初始化和以GET请求为例的过程,发现整个过程离不开AFHTTPSessionManager和AFURLSessionManger的某些方法。这两个是AFN的重要的网络通信模块内容,对它们作揖详细的学习。 AFURLSessionManager和AFHTTPSessionManager都是AFNetwork…...

编程不头秃,Google「AI程序员」来了,聊天就能敲代码

上周 Google 在 I/O 大会宣布了一个能够辅助编程的聊天机器人 Codey,现在它终于上线 Google Colab 啦! 🌟 Codey 是基于 Google 目前最新的大语言模型 PaLM 2 运行,有着强大的语言理解和编程能力。 Codey 有这些功能&#xff1…...

【数据结构与算法】基础数据结构

文章目录 数组概述动态数组二维数组局部性原理越界检查 链表概述单向链表单向链表(带哨兵)双向链表(带哨兵)环形链表(带哨兵) 队列概述链表实现环形数组实现 栈概述链表实现数组实现应用 双端队列概述链表实…...

k8s系列(四)——资源对象

k8s系列四——资源对象 pod概念 思考:为什么k8s会引出pod这个概念,容器不能解决么? 我的理解:一组密切相关的服务使用容器的话,如果他们的镜像不在一个容器里的话,那么就需要配置反向代理进行通信&#xf…...

JavaScript如何使用for循环

JavaScript 是一门非常有趣的编程语言,它可以让我们在浏览器中创建交互式的 Web 应用程序。在 JavaScript 中,我们可以使用 for 循环来迭代一个数组或对象,从而执行一系列的操作。下面是一些关于 for 循环的有趣的用法和例子。 为什么要使用…...

(浙大陈越版)数据结构 第三章 树(上) 3.1 树和树的表示

目录 3.1.1 引子(顺序查找) 什么是树 查找 3.1.2 引子 二分查找例子(BinarySearch) 二分查找 3.1.3 引子 二分查找实现 二分查找代码 二分查找的启示 3.1.4 树的定义 一些基本术语: 3.1.5 树的表示 3.1.1 引子(顺序查找…...

平抑风电波动的电-氢混合储能容量优化配置(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

#机器学习--重新看待线性回归

#机器学习--重新看待线性回归 引言普通视角的线性回归最大似然角度的线性回归总结 引言 本系列博客旨在为机器学习(深度学习)提供数学理论基础。因此内容更为精简,适合二次学习的读者快速学习或查阅。 普通视角的线性回归 对于一组数据 { ( x 0 , y 0 ) , … ( x m…...

亚马逊,shopee,lazada卖家如何组建自己的测评团队

测评补单,这个话题在如今不管国内还是国外的电商行业已经是众所周知,它能够快速帮助自己的产品添加评论,获取排名,打造爆款,可以让用户更加真实、清晰、快捷的了解产品,以及产品的使用,快速上手…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...