软链接

ext文件系统机制原理剖析

空扰寡人 提交于 2019-11-27 04:44:41
本文原创地址:博客园骏马金龙 https://www.cnblogs.com/f-ck-need-u/p/7016077.html 将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统。 文件系统的类型有很多种,如CentOS 5和CentOS 6上默认使用的ext2/ext3/ext4,CentOS 7上默认使用的xfs,windows上的NTFS,光盘类的文件系统ISO9660,MAC上的混合文件系统HFS,网络文件系统NFS,Oracle研发的btrfs,还有老式的FAT/FAT32等。 本文将非常全面且详细地介绍ext家族的文件系统,中间还非常详细地介绍了inode、软链接、硬链接、数据存储方式以及操作文件的理论,基本上看完本文,对文件系统的宏观理解将再无疑惑。ext家族的文件系统有ext2/ext3/ext4,ext3是有日志的ext2改进版,ext4对相比ext3做了非常多的改进。虽然xfs/btrfs等文件系统有所不同,但它们只是在实现方式上不太同,再加上属于自己的特性而已。 4.1 文件系统的组成部分 4.1.1 block的出现 硬盘的读写IO一次是一个扇区512字节,如果要读写大量文件,以扇区为单位肯定很慢很消耗性能,所以Linux中通过文件系统控制使用"块

linux硬链接与软链接

∥☆過路亽.° 提交于 2019-11-27 04:17:17
linux硬链接与软链接 Linux 系统中有软链接和硬链接两种特殊的“文件”。 软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录。 硬链接则透过文件系统的inode来产生新档名,而不是产生新档案。 创建方法都很简单: 软链接(符号链接) ln -s source target 硬链接 (实体链接)ln source target inode 要解释清楚两者的区别和联系需要先说清楚 linux 文件系统中的 inode 这个东西。当划分磁盘分区并格式化的时候,整个分区会被划分为两个部分,即inode区和data block(实际数据放置在数据区域中)这个inode即是(目录、档案)文件在一个文件系统中的唯一标识,需要访问这个文件的时候必须先找到并读取这个 文件的 inode。 Inode 里面存储了文件的很多重要参数,其中唯一标识称作 Inumber, 其他信息还有创建时间(ctime)、修改时间(mtime) 、文件大小、 属主、归属的用户组、读写 权限、数据所在block号等信息。 通常会根据分区的用途来安排inode的数量(这是另外一个话题了),比如文件数量很多而文件都很小,则需要调增inode较大,以便能索引全部文件。否则将会出现这个分区并没有写满而无法写入任何文件的情况。 目录文件与档案文件 目录文件:记录该目录下的文件名 档案文件

Linux系统命令(二)

坚强是说给别人听的谎言 提交于 2019-11-27 04:03:31
今天来续上命令(一)中剩余的命令,二者合二为一,威力巨大。 Shell:把用户指令转换成机器识别的指令(翻译官)。 绝对路径和相对路径 绝对路径是以根目录“/”为起点,它的目录开头有“/”符号;相对路径是以当前所在目录(如图中的etc目录)为起点,目录开头直接跟文件目录名,不需要跟“/”符号。 命令:su(空格)用户名称 即可更换登陆的用户名,也就是可以在超级管理员和普通用户之间来回切换。 下图中可看出,超级管理员的家目录是在root目录下,而普通用户的家目录是在home目录下。Pwd是看绝对路径的命令,在linux命令(一)中有提到。 文件字体颜色代表的含义 黑色: 数据文件 绿色: 可执行文件(shell脚本) 红色 : 压缩包 蓝色: 目录(文件夹) 天蓝色: 软链接文件(快捷方式) 粉色: 图片 补充知识: 图中为ls -alh命令设置别名为myls,及myls能够实现ls -alh的功能,设置的别名务必记住。 统计目录及空间占用情况-du 统计指定目录(或文件)所占用磁盘空间的大小 du 【选项】【文件或目录】 1.命令:du -ah,带单位显示所在目录下所有文件的大小及目录总空间 2.命令:du -sh,带单位显示所在目录的总空间 注意:命令a、s、h不能全部结合起来用,a和s的命令功能互相冲突。系统不能既显示总大小,又显示每个项目。要格外注意。 创建新目录-mkdir

linux学习(四)-----linux常用指令

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 03:59:28
touch 指令 touch 指令创建空文件 基本语法 touch 文件名称 应用实例 案例 1: 创建一个空文件 hello.txt cp 指令 cp 指令拷贝文件到指定目录 基本语法 cp [选项] source dest 常用选项 -r :递归复制整个文件夹 应用实例 案例 1: 将 /home/aaa.txt 拷贝到/home/bbb 目录下[拷贝单个文件] 案例 2: 递归复制整个文件夹,举例将/home/test 整个目录拷贝到 /home/zwj 目录 使用细节 强制覆盖不提示的方法:\cp rm 指令 rm 指令移除【删除】文件或目录 基本语法 rm [选项] 要删除的文件或目录 常用选项 -r :递归删除整个文件夹 -f : 强制删除不提示 应用实例 案例 1: 将 /home/aaa.txt 删除 案例 2: 递归删除整个文件夹 /home/bbb 使用细节 强制删除不提示的方法:带上 -f 参数即可 mv 指令 mv 移动文件与目录或重命名 基本语法 mv oldNameFile newNameFile (功能描述:重命名) mv /temp/movefile /targetFolder (功能描述:移动文件) 应用实例 案例 1: 将 /home/aaa.txt 文件 重新命名为 pig.txt 案例 2:将 /home/pig.txt文件 移动到

linux 文件系统与日志

拜拜、爱过 提交于 2019-11-27 03:14:04
Linux 文件系统——indoe与block 概述::文件储存在硬盘上,硬盘的最小储存单位叫扇区,每个扇区存储512字节。 操作系统读取硬盘的时候一次性连续读取多个扇区,即一次性读取一个块(block)。这种有多个扇区组成的块就是文件储存的最小单位。块的大小,最常见的为4KB 储存文件元信息的区域叫做indoe,也叫i节点/索引节点 一个文件必须占用一个indoe,但至少占用一个block indoe:文件的字节数,拥有者的UID、GID、文件的读写执行权限、时间戳等,但不包含问件名。文件名是储存在目录的目录项中。 Atime Mtime Ctime 详解; 英文 别称 中文翻译 何时修改 查看命令 Access Atime 访问时间 读取、写入 ls -lu Modify Mtime 修改时间 写入、修改 ls -l Change/Create Ctime 改变时间/创建时间 修改文件名、写入、修改、改权限、做链接 ls -lc indoe的号码: indoe一般为128字节或256字节,每个indoe中都记录着文件所在的block号, 每条记录着block号的信息占用4字节。indoe中关于block号的记录一共包含12个直接、1个间接、1个双间接和1个三间接 12个直接连接,共占用48字节磁盘空间,包含12个直接指向biock号的信息,文件系统默认的block大小为4KB

linux 二进制安装mysql

只谈情不闲聊 提交于 2019-11-26 21:48:46
mysql安装为什么大部分使用二进制安装。而不是源码手动去编译? mysql使用的glibc进行开发的。glibc库是一个底层api,所以只要是linux,都会有glibc库。所以,mysql安装不需要考虑环境是否符合要求。移植性很方便。直接将编译好的二进制代码复制到另外一个机器上,也是可以用的。 原理性东西:一般在linux下安装一个软件,不同软件所需要的函数库不同。于是会遇到一个现象:一个软件复制到另外一个平台可能无法运行。安装软件需要先侦测环境就是出于此考虑。因为mysql使用的是通用的glibc函数库。没有对其他东西的依赖性。所以,从一个平台复制到另外一个平台能够通用。并不需要去侦测环境。直接使用编译好的二进制即可 手动编译安装,显得步骤麻烦。基于mysql的特点,二进制安装完全可以。 注:mysql5.5安装的时候,需要用到cmake命令,所以需要保证你的机器上安装了该命令。没有的话,还要去安装该cmake。也显得麻烦。我暂时不想去安装最新版本的了。 如果使用二进制安装升级怎么进行? 升级获取的还是二进制压缩包。那么,直接将指向目录切换到新的目录即可。 不需要涉及到像php一样,手动编译可以达到自己定制模块的好处。而mysql安装的时候不需要涉及到模块 mysql官方建议安装方式:二进制安装。 实践过程 大致思路就是:解压二进制文件放到指定的目录。然后安装基本的数据库

软链接/硬链接

三世轮回 提交于 2019-11-26 17:19:34
1.链连接 软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件, 其中包含的有另一文件的位置信息。 比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。 但是 A 的数据块中存放的只是B的路径名(可以根据这个找到 B 的目录项)。 A 和 B 之间是“主从”关系,如果 B被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。 2. 硬链接 硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。 在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的inode节点号相同, 即一个 inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。 硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能

Linux常用命令

只愿长相守 提交于 2019-11-26 13:49:09
cd ls  -a 列出所有文件,包括隐藏文件和. ..  -l(L) 列出详细信息 mkdir  -p test/test1/test2 递归创建目录 rmdir  -p test/test1/test2 递归删除空目录 touch  -a 只修改文件的访问时间  -c 仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件  -m 只修改文件的数据修改时间 ln  /root/bols(源文件) /tmp(目标文件) 建立硬链接文件  -s 建立软链接文件  硬链接不能跨文件系统,不能链接目录 cp  /root/bols(源文件) /tmp/bols_h(目标文件)      -a 相当于 -d、-p、-r 选项的集合  -d 如果源文件为软链接则复制出的目标文件也为软链接  -p 复制后目标文件保留源文件的属性  -r 递归复制,用于复制目录 rm  test  -f 强制删除  -i 在删除文件或目录之前,系统会给出提示信息  -r 递归删除目录 mv  cangls(源文件) /tmp(目标文件)  -f 强制覆盖  -i 目标文件已经存在则询问用户 tar  -cvf 打包  -xvf 解打包  -zcvf 打包压缩为.tar.gz  -zxvf 解打包解压缩.tar.gz  -jcvf  .-jxvf  tar.bz2 来源: https:/

2 Linux的一些基础知识1

安稳与你 提交于 2019-11-26 08:38:53
一、Linux中的一些注意事项 1、Linux严格区分大小写 2、Linux一切皆文件 3、Linux不靠扩展名区分文件类型而是靠权限位标识来确定文件类型的。   但是Linux中的一些特殊文件还是要求写“拓展名的”为了方便管理员判断文件的格式。 压缩包:常见的压缩文件名有:*.gz *.bz2 *.zip *.tar.gz *.tar.bz2 *.tgz 二进制软件包:Centos中二进制安装包为rpm包,使用.rpm结尾,目的也是为了让管理员一目了然 程序文件:shell脚本一般用*.sh c语言*.c 网页文件 *.html *.php 不过这是网页服务器的要求而不是linux的要求 4、Linux中所有的存储设备都必须在挂载之后才能使用。 5、window下的程序不能直接在Linux中使用 Linux中的三种时间:atime(访问时间),ctime(状态修改时间)和mtime(数据修改时间) 二、Linux的版本 分为内核版本和发行版本 内核版:www.kernel.org(Linux内核版官网) 发行版主要分为两个系列Redhat和debian 三、Vmware的三种网络模式 桥接模式:本地真实网卡与虚拟机通信 NAT模式:VMnet8与虚拟机通信 仅主机模式:VMnet1与虚拟机通信 四、分区知识 两种分区类型: 1、MBR分区表(主引导记录分区表):最大支持2

linux的软链接和硬连接的区别

ぐ巨炮叔叔 提交于 2019-11-26 02:54:01
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 与软链接。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。链接可由命令 ln 创建。 文字描述: 描述Linux下软链接和硬链接的区别 在Linux系统中,链接分为两种,一种是硬链接(hard link),另一种称为符号链接或软链接(soft link 或symbolic Link)。 ①创建: 默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。 ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。 可对不存在的文件或目录创建软链接,不能创建硬链接。 ②关于inode: 硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同, ③删除: 删除软链接文件,对源文件和硬链接文件无任何影响。 删除文件的硬链接文件,对源文件及软链接文件无任何影响。 删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。 同时删除源文件及其硬链接文件,整个文件才会被真正的删除。 ④很多硬件设备的快照功能,使用的就是类似硬链接的原理。 ⑤软链接可以跨文件系统,硬链接不可以跨文件系统。 验证