学习RHCSA的day.03

news2024/11/28 8:40:13

目录

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 file1
  File: file1
  Size: 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系统中的快
捷方式
删除硬链接的任何一方文件后,另一方文
件仍然有效
删除源文件或目录后,软链接文件或目录无效
相同点对任何一方的内容进行修改都会影响到
另一方
链接文件都不会将源文件复制一份,只会
占用非常少量的用于存储链接信息的存
储空间

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

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

相关文章

chatgpt赋能Python-mac版python教程

了解Mac版Python教程 Python编程语言越来越受欢迎,是由其简单易学、使用广泛的特点所得。Mac用户也喜欢使用Python进行编程,因为Python在macOS中得到良好的支持。在本篇文章中,我们将介绍一些最受欢迎的Mac版Python教程,并提供一…

chatgpt赋能Python-a____python

理解Python的a[:]语法 Python是一门高级编程语言,它被广泛应用于数据分析、机器学习、人工智能等领域。在Python编程中,有一个很重要的语法就是a[:]。 在本文中,我们将介绍这个语法的含义、作用和用法,并帮助读者更好地理解这个语…

动态规划算法:解决复杂问题的利器

文章目录 摘要引言动态规划的基本原理动态规划的应用场景动态规划的实际代码示例总结与展望 动态规划算法的优缺点优点:缺点: 总结: 摘要 动态规划(Dynamic Programming)是一种高效解决复杂问题的算法方法&#xff0c…

如何学习网络安全?

近半年我一直在整理网络安全相关资料,对于网络安全该怎么入门我谈谈我的看法,网络安全一直处于法律的边缘,学的不好或者剑走偏锋一下子人就进去了,所以我建议入门前先熟读《网络安全法》,除此之外还有《互联网安全产品…

AVL树(平衡二叉搜索树)

如果BST树插入的顺序是有序的,那么BST树就会退化成一个双链表结构,查询的速率就会很慢, 所以有了AVL树的意义。 AVL树的定义: 是具有下列性质的二叉搜索树 1、它的左子树和右子树都是AVL树 2、左子树和右子树的高度之差的绝对值…

Java --- redis7之redisson的使用

目录 一、自研分布式锁核心 二、redlock红锁算法 Distributed locks with redis 2.1、设计理念 2.2、容错公式 2.3、单机案例实现 三、redisson源码分析 四、多机案例 4.1、启动三台docker的redis7 4.2、进入redis 一、自研分布式锁核心 1、按照JUC里面java.util.conc…

linux kernel pwn

基础知识 内核概述 内核架构 通常来说我们可以把内核架构分为两种:宏内核和微内核,现在还有一种内核是混合了宏内核与微内核的特性,称为混合内核。 宏内核(Monolithic kernel),也译为集成式内核、单体…

工信部认可! 开源网安“源码级软件开发安全解决方案”成功入选优秀方案

日前,开源网安“源码级软件开发安全解决方案”成功入选工信部网络安全产业发展中心“2022年信息技术应用创新解决方案”,成为经工业部认可的优秀解决方案。 据悉,由工业和信息化部网络安全产业发展中心(工业和信息化部信息中心&am…

【Leetcode刷题】算法:罗马数字转整数

文章目录 一、问题二、代码理解 一、问题 二、代码理解 class Solution:def romanToInt(self, s: str) -> int:answer0length len(s)d{I:1,V:5,X:10, L:50,C:100, D:500,M:1000}for i in range(length-1):if d[s[i1]]>d[s[i]]:answeranswer-d[s[i]]else:answeranswerd[…

2023年市场规模将超147亿美元,中国人工智能产业的“风口”来了吗?

2023年IDC中国ICT市场趋势论坛于5月10日召开,会议重点探讨了人工智能、工业互联网、网络安全、大数据、云计算等领域,并强调了智能终端、智慧城市和半导体等行业的前景。 IDC预计,中国人工智能市场规模在2023年将超过147亿美元,到…

Day2 排序子序列、倒置字符串

✨个人主页: 北 海 🎉所属专栏: C/C相关题解 🎃操作环境: Visual Studio 2019 版本 16.11.17 文章目录 选择题1.字符串/C指针2.计算机组成原理 编程题1.排序子序列2.倒置字符串 选择题 1.字符串/C指针 题目&#xff…

【网络协议详解】——数据链路层协议(学习笔记)

📖 前言:数据链路层是 OSI 模型中的第二层,位于物理层之上,是通信网络中的重要组成部分之一。数据链路层协议负责将网络层传输的数据分组封装成帧,传输到物理层,并通过物理介质进行传输。同时,数…

为什么有些同事昨天还干的好好地,今天就离职了老板都留不住?

HR时常会遭遇员工突发申请离职,对于一些核心岗位员工的离职,甚至没有时间去挽留。 但从心理学的角度来说,人的行为与意识是相互反应、互加映衬的。 也就是说,员工离职意识的产生与发展, 与他近期的行为息息相关。 与…

零基础学软件测试怎么样? 完好就业吗

在当今数字化快速发展的社会中,软件行业已经成为了一个具有巨大潜力和广阔前景的行业。而软件测试作为软件开发过程中不可或缺的一部分,也因此成为了备受瞩目的职业之一。 对于零基础的人来说,学习软件测试是一项非常实用的技能,…

PyQt5开发入门到IP查询工具实现

1 基本介绍 1.1 简介 ,QT 是最强大的 GUI 库之一,PyQt 是 Python 绑定 QT 应用的框架,是最强大和流行的跨平台 GUI 库之一。 PyQt 兼容所有流行的操作系统,包括 Windows、Linux 和 Mac OS。 它是双重许可的,可在 GPL 和商业许可下使用。新…

stm32f407单片机上通过HAL库实现can总线数据的收发

最近在使用can总线,由于这个以前接触的比较少,所以调试代码的时候直接是下载的正点原子的例程,在这个基础上修改调试的。现在将调试中遇到的问题,总结一下,避免以后踩坑。目前写了一个查询方式的,一个中断方…

Kubernetes第4天

第六章 Pod控制器详解 本章节主要介绍各种Pod控制器的详细使用。 Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种p…

Nginx的原理

Nginx的原理 1、mater 和 worker2、worker 如何进行工作的3、一个 master 和多个 woker 有好处4、设置多少个 woker 合适5、连接数 worker_connection 1、mater 和 worker 2、worker 如何进行工作的 3、一个 master 和多个 woker 有好处 (1)可以使用 ng…

Kubernetes第5天

第七章 Service详解 本章节主要介绍kubernetes的流量负载组件:Service和Ingress。 Service介绍 ​ 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着…

【计算机网络详解】——数据链路层(学习笔记)

📖 前言:数据链路层提供了一种在不可靠的物理介质上传输数据的方式,并负责在网络层和物理层之间提供一个可靠的通信连接。本文将对数据链路层进行详细的介绍,包括数据链路层的定义、协议、功能和应用等方面。 目录 🕒 …