Linux学习笔记(一)

  • CentOS7挂载U盘
    • 插入U盘连接虚拟机
    • 打开终端
    • 创建U盘目录
    • 挂载U盘
    • 卸载U盘
    • 可能出现的bug
  • Linux文件系统与Windows文件系统之比
    • 二者文件系统具体
    • 二者文件系统格式之比

CentOS7挂载U盘

此操作基于CentOS7系统进行,

插入U盘连接虚拟机

打开终端

输入fdisk -l 查看u盘在内存中的名称

在图中可以看到U盘名称为
设备 Boot Start End Blocks Id System
/dev/sdb1 224 61009919 30504848 c W95 FAT32 (LBA)

其中System 为FAT32 证明其为windows文件系统下的文件格式

创建U盘目录

首先输入cd /转到根目录下,在根目录下输入mkdir -p /mnt/usb 创建挂载点

挂载U盘

输入mount -t vfat /dev/sdb1 /mnt/usb
随后进入到挂载点cd /mnt/usb,再输入ls查看当前文件夹下的文件

卸载U盘

使用完之后需要将U盘卸载,直接拔出可能导致文件丢失
输入umount /mnt/usb 将挂载点取消。

若出现下图情况,表名你正在访问此目录 应退出根目录后再进行卸载挂载点
输入cd /或者 cd ..(返回上级目录)

可能出现的bug

如出现 mount:unknown filesystem type 'ntfs'
先加源:wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
然后运行:yum install ntfs-3g 下载安装即可

Linux文件系统与Windows文件系统之比

二者文件系统具体

  1. windows文件系统

在 Windows 下,打开 “计算机”,我们看到的是一个个的驱动器盘符:

每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:

  1. Linux文件系统

在 Linux 下,Everything is file,我们是看不到这些驱动器盘符,我们看到的是一切是文件夹(目录):
linux没有盘符这个概念,只有一个根目录 /,所有文件都在它下面

二者文件系统格式之比

  1. windows

    1.1 FAT

    FAT(File Allocation Table)文件系统诞生于1977年,它最初是为软盘设计的文件系统,但是后来随着微软推出dos和win 9x系统,FAT文件系统经过适配被逐渐用到了硬盘上,并且在那时的20年中,一直是主流的文件系统。

    后来随着硬件技术的进步,硬盘的容量也越来越大,这种文件格式逐渐被扩展了,出现了FAT12,FAT16,FAT32等文件系统,甚至后来还出现了FAT64的文件系统。

    在今天,FAT已经不是windows系统的主流文件系统了,但是它在软盘,闪存(u盘),以及很多嵌入式设备上还是很常见的。

    目前最通用的的是FAT32,很多U盘上都是FAT32格式,关于FAT32文件系统,以下几点值得注意

     2. 单个文件最大为4G 3. 最大文件数量268,435,437 4. 分区最大容量8TB 5. 可在多种操作系统读写
    

    有时候,我们向U盘拷贝大文件时,会发现拷不进去,实际上就是因为这个U盘是FAT32格式的

    1.2 NTFS

    NTFS全称是New Technology File System,它是一种比FAT32功能更加强大的文件系统。

    从windows 2000之后的windows系统的默认文件系统都是NTFS,而且这些windows系统只能够安装在NTFS格式的磁盘上。
    NTFS具有以下特点:

  1. 理论上最大文件尺寸可达16EB-1KB,实际上有16TB-64KB(1EB = 1024PB 1PB =1024TB,至于理论和实际为什么差这么多,没有进行过深入研究,有可能是现在的科技还不足以制造出这么大的磁盘的)
  2. 最大文件数量可达pow(2,32)-1个
  3. 操作系统支持大部分windows系统,Unix/Linux系统,Mac OS(在Mac OS10.4+系统上,NTFS格式是只读的,即在Mac系统下,你只能从NTFS格式的磁盘上读取数据,而不能写入数据)
  4. NTFS系统是一个日志性的文件系统,系统中对文件的操作都可以被记录下来,当系统崩溃之后,利用日志功能可以修复数据

1.3 ExtFAT

ExFAT(Extended File Allocation Table)又叫FAT64,看名字就知道它是对FAT文件系统的扩展。

ExFAT是虽然也是微软开发的文件系统,但说它是windows下的文件系统并不合适,它是专门为闪存盘设计的文件系统,单个文件突破了4G的限制,而且分区的最大容量可达64ZB(比EB大一级的),建议512TB。
ExFAT在windows,Linux以及Mac系统上,都可以读写,作为U盘或者是移动硬盘的格式还是比较合适的。

  1. Linux

2.1 Ext2

第二代扩展文件系统(英语:second extended filesystem,缩写为
ext2),是LINUX内核所用的文件系统。它开始由RémyCard设计,用以代替ext,于1993年1月加入linux核心支持之中。ext2的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。其他的实现包括GNU
Hurd,Mac OS X (第3方),Darwin(第3方),BSD。
ext2为数个LINUX发行版的默认文件系统,如Debian、Red Hat > Linux等。

2.2 Ext3

第三代扩展文件系统(英语:Third extended
filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。Stephen
Tweedie在1999年2月的内核邮件列表[2]中,最早显示了他使用扩展的ext2,该文件系统从2.4.15版本的内核开始,合并到内核主线中[3]。

它的性能(速度)不如它的竞争对手,例如JFS2,ReiserFS和XFS,但它具有重要的优势,那就是它允许在适当的时候从流行的ext2文件系统升级,而无需备份和恢复数据;除此之外,它还具有比ReiserFS和XFS更低的的CPU使用率。

尽管Ext3相对于Ext2有了不少的优势,但是它还是有一些劣势:

(1)ext3会在删除文件时把文件的节点(inode)中的块指标清除。这样做可以在unclean载入文件系统后,重放日志时,可以减少对文件系统的访问。但也同样也增加了文件在反删除上面的困难。用户唯一的补救是在硬盘中捞取数据,并且要知道文件的起始到结束的块指标。尽管提供了比
ext2在删除文件上稍微高一些的安全性,却也无可避免的带来了不便之处。 (2)Ext3不支持透明压缩(Ext2以非官方补丁支持)。
(3)大小限制,
(4)Ext3在写入日志时,并不做校验和。如果barrier=1没有作为加载参数(在文件/etc/fstab),并且如果硬件在无次序的写入缓存,在崩溃时会严重损坏文件系统(该选项在大多数流行的Linux发行版中都没有被启用,所以大多数发行版的处境都很危险。)

2.3 Ext4
  
Ext4具有以下特点

  • 大型文件系统

ext4文件系统可支持最高1 Exbibyte的分区[6]与最大16 Tebibyte的文件。

  • Extents

ext4引进了Extent文件存储方式,以替换ext2/3使用的block
mapping方式。Extent指的是一连串的连续实体block,这种方式可以增加大型文件的效率并减少分裂文件。ext4支持的单一Extent,在单一block为4KB的系统中最高可达128MB[1]。单一inode中可存储4笔Extent;超过四笔的Extent会以Htree方式被索引。

  • 向下兼容

ext4向下兼容于ext3与ext2,因此可以将ext3和ext2的文件系统挂载为ext4分区。由于某些ext4的新功能可以直接运用在ext3和ext2上,直接挂载即可提升少许性能。
ext3文件系统可以部分向上兼容于ext4(也就是说ext4文件系统可以被挂载为ext3分区)。然而若是使用到Extent技术的ext4将无法被挂载为ext3。

  • 预留空间

ext4允许对一文件预先保留磁盘空间。目前大多数文件系统做到这点的方式是直接产生一个填满0的文件;ext4和XFS可以使用Linux核心中的一个新的系统调用“fallocate()”获取足够的预留空间。

  • 延迟获取空间

ext4使用一种称为allocate-on-flush的方式,可以在数据将被写入磁盘(sync)前才开始获取空间;大多数文件系统会在之前便获取需要的空间。这种方式可以增加性能并减少文件分散程度。

  • 突破32000子目录限制

ext3的一个目录下最多只能有32000个子目录。ext4的子目录最高可达64000,且使用“dir_nlink”功能后可以达到更高(虽然父目录的link
count会停止增加)。为了避免性能受到大量目录的影响,ext4默认打开Htree(一种特殊的B树)索引功能。该功能已经实现于Linux核心2.6.23版。

  • 日志校验和

Ext4使用校验和特性来提高文件系统可靠性,因为日志是磁盘上被读取最频繁的部分之一。这个特性还有一个好处就是可以安全地避免日志处理时磁盘I/O的等待,而稍微提高一些性能。日志校验和的技术源于威斯康辛大学的一篇名为IRON
File Systems的研究论文(见第六节 transaction checksums校验和处理)[7]

  • 在线磁盘整理

对于在线磁盘整理工具有许多草案,但是这些草案都没有被包含在主流的内核当中。即使Ext4包含有许多避免磁盘碎片的技术,但是磁盘碎片还是难免会在一个长时间使用过的文件系统中存在。Ext4将会有一个具有磁盘整理功能的工具[8]。

  • 快速文件系统检查

Ext4将未使用的区块标记在inode当中,这样可以使诸如e2fsck之类的工具在磁盘检查时将这些区块完全跳过,而节约大量的文件系统检查的时间。这个特性已经在2.6.24版本的Linux内核中实现。

参考链接:https://blog.csdn.net/u013301192/article/details/47859899?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task)

Linux学习笔记1--Linux文件系统之CentOS7挂载U盘相关推荐

  1. Linux中常用的文件目录,Linux学习笔记2——Linux中常用文件目录操作命令

    ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...

  2. Linux学习笔记之——Linux系统内部相关介绍

    Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...

  3. 【黑马程序员新版Linux学习笔记】Linux系统实用操作命令——操作演示

    [黑马程序员新版Linux学习笔记]Linux 零基础快速入门: (一)Linux基本命令--操作演示 (二)Linux用户和权限 -- 操作演示 (三)Linux 小技巧快捷键 (四)Linux系统 ...

  4. 【Linux学习笔记】Linux服务器:配置与管理samba服务器

    Linux系列文章目录 一.[linux学习笔记]红帽Linux 7.8系统在虚拟机上的安装 二.[Linux学习笔记]Linux系统的基本操作 三.[Linux学习笔记]管理Linux操作系统:用户 ...

  5. Linux学习笔记:Linux常用命令总结

    文章目录 前言 Linux学习笔记:Linux常用命令总结 1. 目录命令 1.1 Linux目录结构 1.2 cd命令 切换工作目录 1.3 ls命令 显示目录下文件 1.4 mkdir命令 创建目 ...

  6. 【Linux学习笔记】Linux获取CPU使用率,内存使用率和磁盘使用率

    实现目标: 在Linux上使用shell脚本回显系统当前的CPU使用率.内存使用率和磁盘空间使用率 1.CPU使用率: 使用top命令能够实时显示系统中各个进程的资源占用状况,所以这边可以使用top命 ...

  7. 【嵌入式Linux学习笔记】Linux驱动开发

    Linux系统构建完成后,就可以基于该环境方便地进行开发了,相关的开发流程与MCU类似,但是引入了设备树的概念,编写应用代码要相对复杂一点.但是省去了很多配置工作. 学习视频地址:[正点原子]STM3 ...

  8. linux学习笔记,linux基础调优,已老男孩教育视频为基础

    什么是计算机 计算机是电子数字计算机的简称,是一种自动的地,高速地进行数值运算和信息处理的电子设备.他主要由一些机械的,电子的器件组成,再配以适当的程序和数据.程序及数据输入后可以自动执行,用以解决某 ...

  9. Linux学习笔记之Linux常用命令

    从事IT行业的很多人都会使用Linux的常用命令,但是知道这些常用命令全称的人并不多,让我们来看看这些常用命令对应的全称吧! Linux命令大全(手册) https://www.linuxcool.c ...

最新文章

  1. python执行mysql多个sql语句_mysql -- 一次执行多条sql语句
  2. php 预处理原理,PHP的PDO对象预处理的2种实现方法,实现原理详解
  3. 【NLP】图解 BERT 预训练模型!
  4. AT4513-[AGC030D]InversionSum【dp】
  5. 2015年上半年 软件设计师 上午试卷 综合知识-2
  6. .jardesc文件
  7. 机器学习算法:scikit-learn 线性回归算法总结
  8. 拼多多否认对极兔快递“政策倾斜”;86版西游记“红孩儿”成中科院博士;AirTag遭破解 | 极客头条...
  9. 智慧交通之智能红绿灯调控系统分析
  10. 此页面上的脚本造成Web浏览器运行速度减慢。如果继续运行,您的计算机将可能停止响应。
  11. 记一次Maya使用入门
  12. 电脑仙人掌机器人作文_仙人掌作文3篇
  13. Kubernetes容器平台架构之道
  14. win10笔记本:掉帧卡顿、开机后卡顿、玩游戏帧数低、GPU占用率上不去,解决办法
  15. [博弈论] Nim游戏及SG函数(经典+台阶+集合+拆分)
  16. 初学Web前端会用到开发工具【零基础web前端入门视频教程】
  17. 时间字符串和时间戳的转换
  18. ubuntu18.04部署syslog服务器
  19. TDSQL MySQL版基本原理-水平分表 读写分离 弹性扩展 强同步
  20. 怎么画动漫人物握剑姿势?该怎么画?

热门文章

  1. python airflow_1.airflow的安装
  2. 便利贴女孩_百度百科
  3. C#根据Debug、Release模式动态加载dll
  4. 依赖排除 provided,optional 和 exclusion 最全区分指南
  5. Redis事务Multi介绍
  6. 打电话时长记录 CTCallCenter
  7. 发生了COMException 异常来自 HRESULT:0x80040228
  8. 山东电信高铁信号继续不掉线 网速比美2M
  9. Bootstrap的下拉菜单被挡住
  10. CN2线路好处都有啥?