Shell/Bash代码信息

运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,不支持键盘输入语句但是拥有更高的运行速度,输出简洁明了 。 点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
shell颜色大全 发布于:2021-04-20 02:08 临时测试的 发布于:2021-04-18 04:49 shell脚本方式启动Tomcat服务 发布于:2021-03-02 13:59 九九乘法表 发布于:2021-02-24 19:27 shell 基本用法记录 发布于:2021-01-29 11:02 监控cpu、内存,并且告警 发布于:2021-02-04 16:02 接口测试shell脚本 发布于:2021-01-13 16:56 自动生成openssl证书 发布于:2021-01-12 14:23 curl auth ter global 发布于:2020-09-22 11:32 截取命令结果/后面字符 发布于:2020-09-02 08:55 linux- 1.查看系统信息 发布于:2020-08-06 16:26 v2ray-shell 发布于:2020-09-21 16:13 ubuntu 常用命令 发布于:2020-02-22 17:09 又来测试了 发布于:2019-12-25 10:39 The first project of shell 发布于:2019-05-17 14:51 Shell/Bach 时间戳 发布于:2019-04-03 14:17 linux命令查询cpu、内存信息 发布于:2019-02-24 18:59 [更多]
显示目录

ln 命令-创建软/硬链接文件

ln 命令

想学习ln命令,则必须先解释下 ext 文件系统(Linux 文件系统)是如何工作的。

ext4 文件系统会把分区主要分为两大部分:小部分用于保存文件的 inode (i 节点)信息;剩余的大部分用于保存 block 信息。

inode 的默认大小为 128 Byte,用来记录文件的权限(r、w、x)、文件的所有者和属组、文件的大小、文件的状态改变时间(ctime)、文件的最近一次读取时间(atime)、文件的最近一次修改时间(mtime)、文件的数据真正保存的 block 编号。每个文件需要占用一个 inode。大家如果仔细查看,就会发现 inode 中是不记录文件名的,那是因为文件名记录在文件所在目录的 block 中。

block 的大小可以是 1KB、2KB、4KB,默认为 4KB。block 用于实际的数据存储,如果一个 block 放不下数据,则可以占用多个 block。例如,有一个 10KB 的文件需要存储,则会占用 3 个 block,虽然最后一个 block 不能占满,但也不能再放入其他文件的数据。这 3 个 block 有可能是连续的,也有可能是分散的。

重要信息:

  • 每个文件都独自占用一个 inode,文件内容由 inode 的记录来指向;
  • 如果想要读取文件内容,就必须借助目录中记录的文件名找到该文件的 inode,才能成功找到文件内容所在的 block 块;

了解了 Linux 系统底层文件的存储状态后,接下来学习 ln 命令。

ln 命令给文件创建链接方式:

  • 软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。

  • 硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。

ln 命令基本格式:

[root@localhost ~]# ln [选项] 源文件 目标文件
选项 作用
-s: 建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;
-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;

示例

创建硬链接:

[root@localhost ~]# touch cangls
[root@localhost ~]# ln /root/cangls /tmp
#建立硬链接文件,目标文件没有写文件名,会和原名一致
#也就是/tmp/cangls 是硬链接文件

创建软链接:

[root@localhost ~]# touch bols
[root@localhost ~]# In -s /root/bols /tmp
#建立软链接文件

注意:软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求);否则软链接文件会报错。这是初学者非常容易犯的错误。

由JSRUN为你提供的Shell/Bash在线工具
        JSRUN提供的Shell/Bash在线运行,Shell/Bash 在线编译工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

皮肤:

运行模式:

嵌入代码 iframe嵌入: