软链接

Linux 文件系统 -- inode 笔记

落花浮王杯 提交于 2020-01-06 21:36:22
什么是 inode inode 的定义:Unix 文件系统中的一种数据结构,用来存储文件的元信息数据 文件在硬盘中的存储是以"块"(block)为单位的,常见的块大小是 4k 一个稍微大一点的文件则会存储在多个块中,那么如何快速访问到这些数据呢?答案就是 inode 在文件系统中,每个文件对象都对应着一个 inode,其中存储着常用的一些信息(所有者、创建时间、修改时间、文件权限、对应文件对象在系统中存储块的位置等等) 操作系统访问一个文件时分为三个步骤: 通过文件名找到对应的 inode 编号 通过 inode 编号访问对应文件对象的元信息 根据元信息找到文件对应的 block,读取数据 从上面的描述可以看出,inode 实际上就是文件系统中的一种索引,便于管理文件以及快速访问数据 关于 inode 的一些细节 inode 的内容 POSIX 标准定义了 inode 所包含的信息: 以字节为单位表示的文件大小 设备ID,标识容纳该文件的设备 文件所有者的 User ID 文件的 Group ID 文件的模式(mode),确定了文件的类型,以及它的所有者、它的 group、其它用户访问此文件的权限 额外的系统与用户标志(flag),用来保护该文件 3 个时间戳,记录了 inode 自身被修改(ctime, inode change time)、文件内容被修改(mtime,

Linux 文件系统 -- inode 笔记

心不动则不痛 提交于 2020-01-04 22:39:37
什么是 inode inode 的定义:Unix 文件系统中的一种数据结构,用来存储文件的元信息数据 文件在硬盘中的存储是以"块"(block)为单位的,常见的块大小是 4k 一个稍微大一点的文件则会存储在多个块中,那么如何快速访问到这些数据呢?答案就是 inode 在文件系统中,每个文件对象都对应着一个 inode,其中存储着常用的一些信息(所有者、创建时间、修改时间、文件权限、对应文件对象在系统中存储块的位置等等) 操作系统访问一个文件时分为三个步骤: 通过文件名找到对应的 inode 编号 通过 inode 编号访问对应文件对象的元信息 根据元信息找到文件对应的 block,读取数据 从上面的描述可以看出,inode 实际上就是文件系统中的一种索引,便于管理文件以及快速访问数据 关于 inode 的一些细节 inode 的内容 POSIX 标准定义了 inode 所包含的信息: 以字节为单位表示的文件大小 设备ID,标识容纳该文件的设备 文件所有者的 User ID 文件的 Group ID 文件的模式(mode),确定了文件的类型,以及它的所有者、它的 group、其它用户访问此文件的权限 额外的系统与用户标志(flag),用来保护该文件 3 个时间戳,记录了 inode 自身被修改(ctime, inode change time)、文件内容被修改(mtime,

(办公)记事本_Linux的In命令

一个人想着一个人 提交于 2020-01-02 00:50:32
参考菜鸟教程Linux:https://www.runoob.com/linux/linux-comm-ln.html linux的ln命令. Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件, 我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。 语法: ln [参数][源文件或目录][目标文件或目录] 其中参数的格式为 [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--] 命令功能 : Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链 接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容 是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。 不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。 软链接: 1.软链接,以路径的形式存在

linux 基础 文件系统 用户权限

耗尽温柔 提交于 2019-12-31 22:55:10
描述Linux系统的启动过程? 1.开机自检 BIOS 2.MBR引导 3.GRUB菜单 4.加载内核 5.运行init进程 6.从/etc/inittab读取运行级别 7.根据/etc/rc.sysinit 初始化系统(设置主机名 设置ip) 8.根据运行级别启动对应的软件(开机自启动软件) 9.运行mingetty显示登录界面 Linux系统的启动过程 临时修改 [root@template ~]# alias rm='echo command not found' [root@template ~]# rm command not found [root@template ~]# alias rm alias rm='echo command not found' ​ 永久设置 [root@template ~]# vim /etc/profile 按o 输入 alias rm='echo command not found' [root@template ~]#source /etc/profile ​​ 编辑 /root/.bashrc 把 alias rm='rm -i'这一行前面加上一个注释# 修改alis 查看 echo $LANG $PS1 [root@lewen-lnb ~]# echo $PATH /usr/local/sbin:/usr/local/bin:

Linux 软硬链接区别

本秂侑毒 提交于 2019-12-30 01:53:20
一、“硬链接“和“软链接“ 链接的概念: 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件 。 链接的作用: 可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OSX 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到 软链接(也称符号链接) 重点是软硬链接的区别: 首先,从使用的角度讲,两者没有任何区别,都与正常的文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行。 那区别在哪呢?在底层的原理上。为了解释清楚,我们首先在自己的一个工作目录下创建一个文件,然后对这个文件进行链接的创建: # touch myfile && echo "This is a test file." > myfile # cat myfile This is a test file. 现在我们创建了一个普通地不能再普通的文件了。然后我们对它创建一个硬链接,并查看一下当前目录: # ln myfile hard # ls -li 5445 -rw-r--r--. 2 root root 21 1月 8 06:40 hard 5445 -rw-r--r--. 2 root root 21 1月 8 06:40 myfile 在 ls

“软链接”和“硬链接”的区别

孤人 提交于 2019-12-30 01:00:59
什么是链接? 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。 它是用来干什么的? 你可以将链接简单地理解为 Windows 中常见的 快捷方式 (或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将 一些目录层次较深的文件 链接到一个 更易访问的目录 中。在这些用途上,我们通常会使用到 软链接 (也称 符号链接 )。 软链接和硬链接的区别是? 下面我们进入正题,来探讨一下软硬两种链接到底有什么区别? 首先,从使用的角度讲,两者没有任何区别,都与正常的文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行。 那区别在哪呢?在底层的原理上。 为了解释清楚,我们首先在自己的一个工作目录下创建一个文件,然后对这个文件进行链接的创建: $ touch myfile && echo "This is a plain text file." > myfile $ cat myfile This is a plain text file. 现在我们创建了一个普通地不能再普通的文件了。然后我们对它创建一个硬链接,并查看一下当前目录: $ ln myfile hard $ ls -li 25869085 -rw-r--r-- 2 unixzii staff 27 7 8 17:39 hard 25869085 -rw

Linux之软链接与硬链接

青春壹個敷衍的年華 提交于 2019-12-30 01:00:26
什么是链接? 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。 它是用来干什么的? 你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到 软链接 (也称 符号链接 )。 软链接和硬链接的区别是? 下面我们进入正题,来探讨一下软硬两种链接到底有什么区别? 首先,从使用的角度讲,两者没有任何区别,都与正常的文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行。 那区别在哪呢?在底层的原理上。 为了解释清楚,我们首先在自己的一个工作目录下创建一个文件,然后对这个文件进行链接的创建: $ touch myfile && echo "This is a plain text file." > myfile $ cat myfile This is a plain text file. 现在我们创建了一个普通地不能再普通的文件了。然后我们对它创建一个硬链接,并查看一下当前目录: $ ln myfile hard $ ls -li 25869085 -rw-r--r-- 2 unixzii staff 27 7 8 17:39 hard 25869085 -rw-r--r--

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

与世无争的帅哥 提交于 2019-12-30 00:59:40
在linux系统中,链接分为两种:一种被称为硬链接(hard link),另一种被称为符号链接或软链接(symbolic link) 1>默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接   在生产中,软连接更常用。 2>ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到   每安装一个应用软件,我们都会对其版本做一个软连接 3>删除软链接文件,对源文件及硬链接文件无任何影响 4>硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同 5>删除文件的硬链接文件,对源文件及软链接文件无任何影响 6>删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效 7>同时删除源文件及其硬链接文件,整个文件才会被真正删除 8>很多硬件设备中的快照功能,使用的就类似硬链接的原理 9>软链接可以跨文件系统,硬链接不可以跨文件系统 来源: https://www.cnblogs.com/orclcast/p/7127150.html

Linux的软链接和硬链接的区别

ε祈祈猫儿з 提交于 2019-12-30 00:59:03
在Linux系统中,链接分为两种,一种是 硬链接 (Hard link),另一种称为 符号链接或软链接 (Symbolic Link)。 ①默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。 ②硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同, ③ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。 ④删除软链接文件,对源文件和硬链接文件无任何影响。 ⑤删除文件的硬链接文件,对源文件及软链接文件无任何影响。 ⑥删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。 ⑦同时删除源文件及其硬链接文件,整个文件才会被真正的删除。 ⑧很多硬件设备的快照功能,使用的就是类似硬链接的原理。 ⑨软链接可以跨文件系统,硬链接不可以跨文件系统。 来源: https://www.cnblogs.com/relax1949/p/8883015.html

硬链接和符号链接的区别

不想你离开。 提交于 2019-12-30 00:57:55
序 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号 。 文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。 链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。 Linux中的两种链接 Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 硬链接 硬链接是文件的别名 。从技术上讲,他们公用一个inode(inode中包含了一个文件的所有必要的信息,说inode就是文件也是没有问题的)。 由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接也可以认为是一个指向文件索引节点的指针,系统并不为它重新分配inode, 每添加一个一个硬链接,文件的链接数就加1, 删除一个则链接数减1。 大多数系统不允许创建一个目录的硬链接 。在允许创建目录硬链接的系统上,只有超级用户才能才能这样做。 不能创建跨文件系统(分区)的硬链接 (这些限制在POSIX中都不是强制性的)。 硬链接的创建语法 : ln 存在的文件 新的文件 [root@localhost link]# touch SingleFile ;新建一个空文件 [root@localhost link]# ls -l