linux文件系统之loop环设备--新建一个文件系统并挂载
1. /dev目录下有所有已经连接到操作系统上的设备,他们能在/dev里出现就表示他们在硬件层面和系统核心层面被识别了。对于stdin、stdout、zero等设备是可以直接用> <这些访问符 访问的,但是对于块设备是不能直接访问的。
块设备是具有一定结构的随机存取设备,对这种设备的读写是按块来进行的,他使用缓冲区来暂时存放数据。而字符设备是一个顺序设备,对这种设备的读写是按字符来进行的,而这些字 符是连续的形成了一个数据流。他不具有缓冲区,所以对这种设备的读写是实时的。(资料:linux系统之linux块设备的详解)
我理解块设备如同Map List集合这种数据结构,而字符设备如同堆栈这种先进后出的数据结构。两种数据结构明显集合比堆栈更加灵活,使用更加方便,而且对已一般人而言Map list的数 据结构经过了高手的封装使用起来效率也更高。
相对应于我说的封装。事实是块设备还是字符设备的定义属于操作系统的设备访问层,与实际物理设备没有必然的哦联系。设备访问层下面是驱动程序,是驱动程序来支持设备是块设备还 是字符设备的。
访问块设备最一般的方式就是给块设备安装文件系统。一般来说,没有文件系统的块设备是不能被访问的。如果一个设备本身是有文件系统的,我们应该怎样访问这个文件系统哪?这就需 要linux下最常见的一个命名mount。
2.linux磁盘命令df可以查看已经被挂载的块设备的使用情况。直接在Terminal输入df可以查看到一下信息
harvey@harvey-Virtual-Machine:~$ df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 40144476 3211660 34870532 9% /
udev 483036 4 483032 1% /dev
tmpfs 197044 716 196328 1% /run
none 5120 0 5120 0% /run/lock
none 492600 176 492424 1% /run/shm
| Filesystem | 1 K-blocks | Used | Available | Use% | Mounted on |
| 该文件系统对应的块设备的路径在/dev文件夹下 | 该文件系统包含的数据块的数目 | 已经使用的数据块 | 没有使用的数据块 | 已用占总量的百分比 | 文件系统的挂载点 |
3.
harvey@harvey-PC ~
$ find /dev -name "sd*"
/dev/sda
/dev/sda1
/dev/sda2
代码中找sd开头的设备为sda sda1 sda2中sda表示该系统只有一个硬盘,有两个逻辑分区,一个主分区,直接查看是看不到主分区的内容的。
4.查看存储在磁盘上最开始位置的分区表信息的命令是fdisk –l
5.完整操作创建一个空的文件系统并挂载
harvey@harvey-Virtual-Machine:~$ dd if=/dev/zero of=loopfile.img bs=1G count=1 #创建一个1G的数据,用来作为虚拟设备的载体
记录了1+0 的读入
记录了1+0 的写出
1073741824字节(1.1 GB)已复制,73.8948 秒,14.5 MB/秒
harvey@harvey-Virtual-Machine:~$ ls #创建成功
D:wuxi.txt loopfile.img 模板 图片 下载 桌面
examples.desktop 公共的 视频 文档 音乐
harvey@harvey-Virtual-Machine:~$ file loopfile.img #刚创建的文件数据类型是data
loopfile.img: data
harvey@harvey-Virtual-Machine:~$ mkf #查看系统所有的文件系统类型
mkfifo mkfs mkfs.ext2 mkfs.ext4dev mkfs.ntfs
mkfontdir mkfs.bfs mkfs.ext3 mkfs.minix mkfs.vfat
mkfontscale mkfs.cramfs mkfs.ext4 mkfs.msdos
harvey@harvey-Virtual-Machine:~$ mkfs.ext4 loopfile.img #对载体分区,改变数据类型
mke2fs 1.42 (29-Nov-2011)
loopfile.img is not a block special device.
无论如何也要继续? (y,n) y
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376 Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 harvey@harvey-Virtual-Machine:~$ file loopfile.img #查看赋予文件系统的文件的类型改变了
loopfile.img: Linux rev 1.0 ext4 filesystem data, UUID=a23e0869-e3fa-438d-afcd-be73ee8e5f6b (extents) (large files) (huge files)
harvey@harvey-Virtual-Machine:~$ ll /mnt #mnt默认什么都没有
总用量 8
drwxr-xr-x 2 root root 4096 4月 19 2012 ./
drwxr-xr-x 24 root root 4096 3月 21 15:59 ../
harvey@harvey-Virtual-Machine:~$ sudo mkdir /mnt/loopback #mnt下创建loopback文件夹,用来显示查看到的挂载后的设备。所谓挂载如同数据类型的转换,不转换就无法交互使用
[sudo] password for harvey:
harvey@harvey-Virtual-Machine:~$ ll /mnt/loopback/ #loopback文件夹创建成功,并且是空的目录
总用量 8
drwxr-xr-x 2 root root 4096 3月 21 20:40 ./
drwxr-xr-x 3 root root 4096 3月 21 20:40 ../
harvey@harvey-Virtual-Machine:~$ sudo mount -o loop loopfile.img /mnt/loopback/ #回环挂载设备
harvey@harvey-Virtual-Machine:~$ ll /mnt/loopback/ #loopback挂载设备后创建了一个lost+fount文件夹--可能是文件系统的日志文件还没研究
总用量 24
drwxr-xr-x 3 harvey harvey 4096 3月 21 20:39 ./
drwxr-xr-x 3 root root 4096 3月 21 20:40 ../
drwx------ 2 root root 16384 3月 21 20:39 lost+found/
harvey@harvey-Virtual-Machine:~$ df #查看文件系统挂载列表 最后一行对loop0设备挂载了/mnt/loopback
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 40144476 3244852 34837340 9% /
udev 483036 4 483032 1% /dev
tmpfs 197044 716 196328 1% /run
none 5120 0 5120 0% /run/lock
none 492600 176 492424 1% /run/shm
/dev/loop0 999320 1284 929224 1% /mnt/loopback
harvey@harvey-Virtual-Machine:~$ umount /mnt/loopback #卸载挂载
umount:/mnt/loopback 不在 fstab 中(并且您不是 root 用户)
harvey@harvey-Virtual-Machine:~$ sudo umount /mnt/loopback
harvey@harvey-Virtual-Machine:~$ df #文件系统挂载类别没有了loop0设备的挂载信息
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 40144476 3244864 34837328 9% /
udev 483036 4 483032 1% /dev
tmpfs 197044 716 196328 1% /run
none 5120 0 5120 0% /run/lock
none 492600 176 492424 1% /run/shm
harvey@harvey-Virtual-Machine:~$ ll /mnt/loopback/ #/mnt/loopback目录下的lost+find文件夹也没有了
总用量 8
drwxr-xr-x 2 root root 4096 3月 21 20:40 ./
drwxr-xr-x 3 root root 4096 3月 21 20:40 ../
参考资料:losetup -- 设置循环设备
linux文件系统之loop环设备--新建一个文件系统并挂载的更多相关文章
- linux磁盘之回环设备
为什么要讲回环设备,下面看下系统的采样情况 上面图有loop0,loop1等设备标记,这些是什么?看看下面fdisk -l 的结果,乱糟糟的一堆? 什么是回环设备? 上面的loop0, loop1就是 ...
- 使用VMware新建一个Linux系统虚拟机(全)
我们将其分为两步,1:新建虚拟机:2:安装Red Hat Enterprse Linux 6操作系统 1.首先我们新建一个虚拟机,先不安装操作系统,稍后再对其安装Linux系统. 新建虚拟机步骤如下: ...
- linux 创建虚拟块设备,制作文件系统并挂载,用于测试lustre
1.制作块文件 3 个 [root@localhost yaoxu]# [root@localhost yaoxu]# [root@localhost yaoxu]# 2.创建回环设备 [root@l ...
- 阿里云Linux格式化数据盘,分区并挂载一个文件系统
阿里云一块全新的数据盘挂载到ECS实例后,您必须创建并挂载至少一个文件系统.本示例使用I/O优化实例,操作系统为CentOS 7.6,为一块新的300GiB数据盘(设备名为/dev/vdb)创建一个M ...
- 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow .它们分别与用户的账号,密码,用户组及 ...
- centos 安装MATLAB :设置回环设备失败: 没有那个文件或目录
基本参数:centos 7 x86_64,linux 系统, 安装matlab, 已经下载R2016b_glnxa64.iso 但挂载的时候遇到问题: [root@lf mnt]# mount -o ...
- Linux系统安全学习笔记(1)-- 文件系统类型
今天看了一个关于Linux系统安全的视频教程,这个教程有很多的知识点,我会分几篇博文将我的笔记分享出来. 首先是关于Linux文件系统类型的一些知识,Linux有四种常见的文件系统类型(网上大多数是3 ...
- 管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区
一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式 2> ...
- linux驱动开发之块设备学习笔记
我的博客主要用来存放我的学习笔记,如有侵权,请与我练习,我会立刻删除.学习参考:http://www.cnblogs.com/yuanfang/archive/2010/12/24/1916231.h ...
随机推荐
- 1 Mongodb安装
1.NoSQL简介 NoSQL,全名Not Only SQL,指的是非关系型的数据库 随着访问量的上升,网站的数据库性能出现了问题,于是NoSQL被设计出来了 优点.缺点 优点 高扩展性 分布式计算 ...
- shell编程——
一.分支语句 语法:(多路分支) case word in patterm1) list A ;; pattern2) list B ;; patternN) list N ;; esac例子:cas ...
- gulp相关
'use strict'; var gulp = require('gulp'), webserver = require('gulp-webserver'), //gulp服务器 connect = ...
- 自动化测试环境搭建--Python及selenium
安装pyhton 访问Python官网:http://www.python.org 下载页Windows下找到适合64位系统的版本 下载后双击安装 安装后查看计算机->属性->高级系统设置 ...
- 移动APP自动化测试框架对比
转自微信公众号:腾讯移动品质中心TMQ 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动 ...
- 求 n的阶乘
def chengji(n): if n == 0: return 1 return chengji(n-1)*nprint(chengji(n))
- Elasticsearch相关度评分_score
相关度评分 _score 的目的 是为了将当前查询的结果进行排序,比较不同查询结果的相关度评分没有太大意义. _score的计算方式 score(q,d) = # score(q,d) 是文档 d 与 ...
- Axios & Interceptors & Serialization & CORS & cookie
Axios https://github.com/axios/axios#config-defaults Global axios defaults axios.defaults.baseURL = ...
- node.js开发hello world
在你的 D 盘下面创建一个 server.js,写入以下内容 ---------------------------------------------------- var http = requi ...
- 【bzoj2038】[2009国家集训队]小Z的袜子(hose) 莫队算法
原文地址:http://www.cnblogs.com/GXZlegend/p/6803860.html 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终 ...