当前位置: 首页 > 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卖家如何组建自己的测评团队

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

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...