linuxln命令使用方法

Linux中ln命令用于创建链接文件,链接文件分为硬链接和符号链接(也称为软链接)。
使用ln命令时,可以使用-s选项指定创建软链接。
如果没有“-s”,默认情况下将创建硬链接。
###硬链接硬链接是文件系统中一个文件的多个目录条目。
它直接指向文件的inode(索引节点),因此通过硬链接访问的文件与原始文件是同一个文件。
硬链接不能跨文件系统,也不能链接目录(只有目录的硬链接是其本身,即“.”)。
**基本用法**​​:`ln源文件目标链接名`例如,要创建从`file.txt`到`file_hardlink.txt`的硬链接,可以使用:`lnfile.txtfile_hardlink.txt`###软链接软链接类似于Windows中的快捷方式,存储目标文件的路径。
通过软链接可以访问原始文件,但实际访问的是链接指向的路径。
软链接可以跨越文件系统并且可以链接目录。
**基本用法**​​:`ln-s源文件目标链接名`例如,要为`dir_a`目录创建软链接`dir_a_link`,可以使用:`ln-sdir_adir_a_link`创建的链接`ln`命令,可以方便地在不同位置访问同一个文件或目录,而不占用额外的磁盘空间(软链接除外,软链接本身占用很少的磁盘空间来存储路径信息)。

Linux内核程序入口地址

在Linux内核中,使用内核映像(路径:arch/arm64/kernel/)中的相关部分(例如:.text、.data)。

Linux内核编译时,vmlinux.lds.S文件最终会构建到链接脚本vmlinux.lds文件中(路径:arch/arm64/kernel/)。

本文主要介绍了vmlinux.lds.S文件中定义的Linux内核程序的起始位置_text如下:

如上所示,:_text=KIMAGE_VADDR+TEXT_OFFSET。

文件:arch/arm64/include/asm/memory.h;定义如下:

文件:include/linux/sizes.h;定义如下:

宏KIMAGE_VADDR扩展如下:

以上数值按无符号计算;KIMAGE_VADDR为:0xFFFFFF8008000000。

文件:arch/arm64/Makefile;定义如下:

根据计算,_text值为:0xFFFFFF8008080000。

当Linux内核启动时,从日志信息中也可以找到对应的地址:

_text对应的是一个虚拟地址,通过访问该地址可以直接访问其存储。
内核中的值对应于Image中的第一个字0x14424000。

如何查看镜像如下:

本文基于RockPI4A单板Linux4.4内核。