访问Liunx文件系统

访问Liunx文件系统

在这里插入图片描述

识别文件系统和设备

存储管理概念

Linux服务器上文件按文件系统层次结构访问。该文件系统层次结构测试由系统可用的存储设备所提供的文件系统组装而来。每个文件系统都是一个已格式化的存储设备,可用于存储文件。

文件系统和挂载点

要让文件系统的内容在文件系统层次结构中可用,必须把它挂载到一个空目录中。挂载后,如果使用ls列出该目录,就会看到已挂载文件系统的内容,并可以正常访问和使用这些文件。

文件系统,存储和块设备

在Linux中,对存储设备的低级别访问是由一种称为块设备的特殊类型文件提供的,挂载在这些块设备前,必须使用文件系统对其进行格式化。块设备文件与其他设备文件一起存储在/dev 目录下。

磁盘分区

通常不会把整个存储设备设置为一个文件系统。存储设备通常划分为更小的块,称为分区。

分区用于划分硬盘:不同部分可以通过不同文件系统进行格式化或其他用途。

逻辑卷

整理磁盘和分区的另一种方式通过逻辑卷管理(LVM)。通过lvm,一个或多个块设备可以汇聚为一整个存储池,称为卷组。卷组的磁盘空间被分配到一个或多个逻辑卷,功能等同于驻留在物理磁盘上的分区。

检查文件系统

df命令,查看本地和远程文件系统设备及可用空间大小。

[root@servera ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 874504       0    874504   0% /dev
tmpfs                    894592       0    894592   0% /dev/shm
tmpfs                    894592    8900    885692   1% /run
tmpfs                    894592       0    894592   0% /sys/fs/cgroup
/dev/mapper/rhel-root  17811456 1888092  15923364  11% /
/dev/nvme0n1p1          1038336  225396    812940  22% /boot
tmpfs                    178916       0    178916   0% /run/user/0

如需有关某一特定目录树使用的空间的详细信息,可以使用du命令。du命令具有-h和-H选项,将输出转换为可读形式。du命令以递归方式显示当前目录树所有文件大小。

du -h dirname

挂载和卸载文件系统

手动挂载文件系统

驻留于可以的存储设备上的文件系统需要挂载后才能访问。mount命令运行root用户手动挂载整个文件系统。

mount 要挂载的文件系统 指定在文件系统层次结构中用于挂载点的目录

识别块设备

每次连接到存储设备都可能插接到不同的端口。

lsblk列出指定块设备或所有可用设备的详细信息。



[root@servera ~]# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0   20G  0 disk
├─sda1                    8:1    0    1G  0 part /boot
└─sda2                    8:2    0   19G  0 part
  ├─centos_servera-root 253:0    0   17G  0 lvm  /
  └─centos_servera-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                       8:16   0   20G  0 disk
sr0                      11:0    1  918M  0 rom

按块设备名称挂载

[root@servera ~]# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0   20G  0 disk
├─sda1                    8:1    0    1G  0 part /boot
└─sda2                    8:2    0   19G  0 part
  ├─centos_servera-root 253:0    0   17G  0 lvm  /
  └─centos_servera-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                       8:16   0   20G  0 disk
└─sdb1                    8:17   0   20G  0 part
sr0                      11:0    1  918M  0 rom

要挂载文件系统,目标目录必须存在

[root@servera ~]# mount /dev/sdb1 /mnt/data/

按文件系统UUID卸挂载

一个稳定且与文件系统关联的标识符UUID,是文件系统一部分,只要系统不重建,UUID始终保持不变。


[root@servera ~]# lsblk -fp
NAME                           FSTYPE      LABEL           UUID                                   MOUNTPOINT
/dev/sda
├─/dev/sda1                    xfs                         f817436a-8545-4281-9824-d6e702ed8a87   /boot
└─/dev/sda2                    LVM2_member                 Z3H2lv-Wy4E-dThI-BW4F-QGho-V1HW-d5GnNW
  ├─/dev/mapper/centos_servera-root
                               xfs                         b26176ca-72a1-4982-acb1-af8c367203ec   /
  └─/dev/mapper/centos_servera-swap
                               swap                        efad3a2a-eab4-489b-9570-2da62da5d1bc   [SWAP]
/dev/sdb
└─/dev/sdb1                    ext4                        051cef52-7ecd-4438-adf7-3f4171e9fc71
/dev/sr0                       iso9660     CentOS 7 x86_64 2018-11-25-21-21-31-00

根据UUID挂载

[root@servera ~]# mount UUID="051cef52-7ecd-4438-adf7-3f4171e9fc71" /mnt/data
[root@servera ~]# lsblk -fp | grep /dev/sdb1
└─/dev/sdb1                         ext4                        051cef52-7ecd-4438-adf7-3f4171e9fc71   /mnt/data

卸载文件系统

关机和重新引导过程会自动卸载所有文件系统。缓存在内存中的任何文件系统数据都会刷新到存储设备,从而保证文件系统不会遭到数据损坏。

要卸载文件系统,使用umount命令用挂载点作为参数。


[root@servera ~]# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0   20G  0 disk
├─sda1                    8:1    0    1G  0 part /boot
└─sda2                    8:2    0   19G  0 part
  ├─centos_servera-root 253:0    0   17G  0 lvm  /
  └─centos_servera-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                       8:16   0   20G  0 disk
└─sdb1                    8:17   0   20G  0 part /mnt/data
sr0                      11:0    1  918M  0 rom
[root@servera ~]# umount /mnt/data
[root@servera ~]# lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0   20G  0 disk
├─sda1                    8:1    0    1G  0 part /boot
└─sda2                    8:2    0   19G  0 part
  ├─centos_servera-root 253:0    0   17G  0 lvm  /
  └─centos_servera-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                       8:16   0   20G  0 disk
└─sdb1                    8:17   0   20G  0 part
sr0                      11:0    1  918M  0 rom

查找系统中的文件

搜索文件

  • locate搜索预生成所有中的文件名或文件路径,返回结果
  • find通过爬取整个文件系统层次结构搜索

根据名称查找文件

locate根据文件名称或路径查找文件。这种方式速度比较快,因为它是从mlocate数据库中查找这些信息。但是,数据库不会实时更新,但root用户可以通过updatedb强制实施更新。

如果没有locate这个命令请下载

sudo yum install mlocate


[root@servera ~]# updatedb
[root@servera ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd

[root@servera ~]# locate image  -
/etc/selinux/targeted/contexts/virtual_image_context
/usr/bin/grub2-mkimage
/usr/lib/firewalld/services/ovirt-imageio.xml
/usr/lib/firmware/nvidia/gm20b/pmu/image.bin
/usr/lib/firmware/nvidia/gp102/sec2/image.bin

-i 选项咨询不区分大小写的搜索。


[root@servera ~]# locate -i messages 
/usr/share/locale/aa/LC_MESSAGES
/usr/share/locale/ab/LC_MESSAGES
/usr/share/locale/ace/LC_MESSAGES
/usr/share/locale/ach/LC_MESSAGES
/usr/share/locale/ada/LC_MESSAGES

-n限制返回的数量

[root@servera ~]# locate -n 5 message
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion/mptbase.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion/mptctl.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion/mptsas.ko.xz
[root@servera ~]#

搜索实时文件

find命令通过在文件系统层次结构中执行实时搜索,比locate慢,但准确度较高。此外还可以根据文件名以外的条件搜索文件,例如文件权限/类型/大小/修改时间

find使用执行搜索的用户账户查看文件系统的文件。

find的第一个参数是要搜索的目录。如果省略了目录参数,find将从当前目录开始搜索,并在任何子目录中查找匹配项。

若按文件名搜索文件使用-name filename选择 find将返回于filename完全匹配的文件的路径。

[root@servera ~]# find / -name sshd_config
/etc/ssh/sshd_config

可以使用通配符搜索文件名,并返回部分匹配的所有结果。如果使用通配符,务必将要查找的文件名用括号括起,以防止终端对通配符进行解译。


[root@servera ~]# find / -name '*.txt' | head -n 3
/etc/pki/nssdb/pkcs11.txt
/var/cache/yum/x86_64/7/base/mirrorlist.txt
/var/cache/yum/x86_64/7/timedhosts.txt
[root@servera ~]#

[root@servera ~]# find /etc -name '*pass*'
/etc/pam.d/passwd
/etc/pam.d/password-auth-ac
/etc/pam.d/password-auth
/etc/passwd-
/etc/passwd
/etc/security/opasswd
/etc/openldap/certs/password
/etc/selinux/targeted/active/modules/100/passenger


要对所给文件名执行不区分大小写的搜索,可使用-iname选项


[root@servera ~]# find / -iname '*messages*' | head -n 3
/var/log/messages
/usr/share/locale/ast/LC_MESSAGES
/usr/share/locale/ca/LC_MESSAGES

根据所有权或权限搜索

参数:

  • -user
  • -group
  • uid
  • gid
  • perm
[root@servera ~]# find -user root | head -n 3
.
./.bash_logout
./.bash_profile
[root@servera ~]# find -group root | head -n 3
.
./.bash_logout
./.bash_profile

[root@servera ~]# find -uid 0
.
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg

根据大小搜索文件

  • -k 千字节
  • -M 兆字节
  • -G 千兆字节
find -size 10M 大小为10M的文件
fing -size +10G 大小超过10G的文件
find -size -10k 大小不到10k的文件

根据修改时间搜索

-mmin加上分钟以上的时间,将搜索过去n分钟前更改的所有文件


find / -mmin 120  #120分钟以前修改的所有文件
find / -mmin +200 #200分钟以前修改的所有文件
find / -mmin -150 #150分钟内修改的所有文件

根据文件类型搜索

-type:

  • f普通文件
  • d目录
  • l软链
  • b块设备
#/etc目录的所有文件
[root@servera ~]# find /etc -type d | head -n 3
/etc
/etc/grub.d
/etc/terminfo
#/etc目录下所有软链

[root@servera ~]# find / -type l | head -n 3
/dev/cdrom
/dev/snd/by-path/pci-0000:02:02.0
/dev/initctl
#/dev下的块设备
[root@servera ~]# find /dev -type b
/dev/sdb1
/dev/dm-1
/dev/dm-0
/dev/sr0
/dev/sdb
/dev/sda2
/dev/sda1
/dev/sda

#软链大于3的普通文件
find  / -type f -links +1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【mysql】—— 数据库的操作

序言: 在上篇文章我已经对数据库进行了详细的介绍,接下来我们就将上手学习操作的细节了。本篇文章便带领大家去学习有关库操作的基本知识!!! 目录 (一)库的操作 1、 创建数据库 2、字符集和…

HTML input text 常用事件

前言 用于记录开发中常用到的&#xff0c;快捷开发 简单实例 <input type"text" name"noSecretKeyJson" maxlength"200" />常用事件 oninput &#xff08;在用户输入时触发&#xff09;及案例 案例一&#xff1a;限制只允许输入数字…

C#基础--反射

反射 一、为什么学习反射 因为反射真的是无处不在&#xff0c;ORM、MVC、IOC、AOP、Attribute等等都会使用到反射。反射是程序员的快乐 二、什么是反射 Ilspy&#xff1a;逆向工程&#xff0c;可以吧DLL/Exe文件反编译回来 DLL/EXE 文件下包含Metadata和IL&#xff0c;IL是对…

跨文化合作:如何解决海外网红营销中的文化差异?

随着社交媒体的快速发展&#xff0c;海外网红营销已成为许多品牌和企业获取国际市场的有效方式。然而&#xff0c;由于不同国家和地区存在着独特的文化差异&#xff0c;如语言、价值观、习俗等&#xff0c;这也给品牌进行海外网红营销带来了一系列挑战。本文Nox聚星将和大家探讨…

WPF 自定义控件完成库容表盘显示效果

先看一下显示效果&#xff1a; 需要注意的地方有以下几点&#xff1a; 表盘的刻度分部&#xff0c;长刻度和短刻度显示。在数值80W时&#xff0c;需要更改刻度盘的颜色渐变。在数值80W时&#xff0c;更改库容总数背景的显示&#xff0c;也是颜色渐变。刻度盘控件属性定义&…

JVM中的堆和栈到底存储了什么

JVM数据区 先上一张Java虚拟机运行时数据区中堆、栈以及方法区存储数据的概要图&#xff0c;如下所示&#xff1a; 然后我们来具体解析一下堆和栈 堆 堆是存储时的单位&#xff0c;对于绝大多数应用来说&#xff0c;这块区域是 JVM 所管理的内存中最大的一块。线程共享&#…

JavaScript XHR、Fetch

1 前端数据请求方式 2 Http协议的解析 3 XHR的基本用法 4 XHR的进阶和封装 5 Fetch的使用详解 6 前端文件上传流程 早期的页面都是后端做好&#xff0c;浏览器直接拿到页面展示的&#xff0c;用到的是jsp、asp、php等等的语言。 这个叫做服务器端渲染SSR。 这里后端向前端…

[sqoop]导入数据

一、覆盖导入 例如维度表&#xff0c;每次导入的数据需要覆盖上次导入的数据。 hive-overwrite参数&#xff1a;实现覆盖导入 hive-import参数&#xff1a;表示向hive表导入 hive-table参数&#xff1a;指定目标hive库表 sqoop import \ --connect jdbc:mysql://hadoop1:3…

介绍性能压力测试的重要性

在当今数字化时代&#xff0c;软件和应用程序的性能对于用户体验和业务成功至关重要。为了确保系统在面临高负载和压力时能够正常运行&#xff0c;性能压力测试成为一项不可或缺的活动。本文将介绍性能压力测试的重要性。 性能压力测试是一种通过模拟实际场景中的负荷和用户访问…

前端两种实现轮播图方式

今天研究两种简单实现轮播图功能的方式。 目录 Layui实现轮播图 码云下载 提取静态文件 示例 注意 参数说明 改为轮播图 增加图片资源文件 轮播栏目修改 改为上下切换 切换事件 脚本中绑定改变事件 控制器查看 Swiper实现轮播图 下载swiper 下载到本地 加载sw…

EMC学习笔记(十七)PCB设计中的安规考虑

PCB设计中的安规考虑 1 概述2.安全标识2.1 对安全标示通用准则2.2 电击和能量的危险2.3 PCB上的熔断器2.4 可更换电池 3.爬电距离和电气间隙4.涂覆印制板4.1 PCB板的机械强度4.2 印制电路板的阻燃等级4.3 热循环试验与热老化试验4.4 抗电强度试验4.5 耐划痕试验 5.布线和供电 1…

网络安全(黑客)万字自学笔记

目录 特别声明&#xff1a; 一、前言 二、定义 三、分类 1.白帽黑客&#xff08;White Hat Hacker&#xff09; 2.黑帽黑客&#xff08;Black Hat Hacker&#xff09; 3.灰帽黑客&#xff08;Gray Hat Hacker&#xff09; 四、黑客文化 五、伦理问题 六、黑客的作用 …

shell脚本备份数据库

首先是在本地windows环境下尝试备份数据库 打开mysql的bin目录&#xff0c;然后在地址栏cmd&#xff0c;进入cmd界面&#xff0c;输入mysqldump命令&#xff0c;-u输入用户名&#xff0c;-p输入密码 还有数据库名称&#xff0c;以及后面要保存到的位置 mysqldump -uroot -p tes…

编写测试用例的方法,这个是真的很好用

大家测试过程中经常用的等价类划分、边界值分析、场景法等&#xff0c;并不能覆盖所有的需求&#xff0c;我们之前讲过很少用到的因果图法&#xff0c;下面就来讲另一种不经常用到但又非常重要的测试用例编写方法——测试大纲法。 测试大纲法适用于有多个窗口&#xff0c;每个…

Vue-Router相关理解4

两个新的生命周期钩子 activated和deactivated是路由组件所独有的两个钩子&#xff0c;用于捕获路由组件的激活状态具体使用 activated路由组件被激活时触发 deactivated路由组件失活时触发 src/pages/News.vue <template><ul><li :style"{opacity}&qu…

linux之Ubuntu系列(五)用户管理、查看用户信息 终端命令

创建用户 、删除用户、修改其他用户密码的终端命令都需要通过 sudo 执行 创建用户 设置密码 删除用户 sudo useradd -m -g 组名 新建用户名 添加新用户 -m&#xff1a;自动建立用户 家目录 -g&#xff1a;指定用户所在的组。否则会建立一个和用户同名的组 设置新增用户的密码&…

尝试-InsCode Stable Diffusion 美图活动一期

一、 Stable Diffusion 模型在线使用地址&#xff1a; https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型相关版本和参数配置&#xff1a; 活动地址 三、图片生成提示词与反向提示词&#xff1a; 提示词&#xff1a;realistic portrait painting of a japanese…

vscode remote-ssh配置

使用vscode的插件remote-ssh进行linux的远程控制。 在vscode上安装完remote-ssh插件后&#xff0c;还需要安装openssh-client。 openssh-client安装 先win R打开cmd&#xff0c;输入ssh&#xff0c;查看是否已经安装了。 如果没有安装&#xff0c;用管理员权限打开powershe…

商城-学习整理-基础-环境搭建(二)

目录 一、环境搭建1、安装linux虚拟机1&#xff09;下载&安装 VirtualBox https://www.virtualbox.org/&#xff0c;要开启 CPU 虚拟化2&#xff09;虚拟机的网络设置3&#xff09;虚拟机允许使用账号密码登录4&#xff09;VirtualBox冲突5&#xff09;修改 linux 的 yum 源…

DirectX12(D3D12)基础教程(二十二) ——HDR IBL 等距柱面环境光源加载和解算及 GS 一次性渲染到 CubeMap

前序文章目录 DirectX12&#xff08;D3D12&#xff09;基础教程&#xff08;一&#xff09;——基础教程 DirectX12&#xff08;D3D12&#xff09;基础教程&#xff08;二&#xff09;——理解根签名、初识显存管理和加载纹理、理解资源屏障 DirectX12&#xff08;D3D12&…