硬软链接的区别 节点 以及重定向和管道

INODE全称叫index node

表中包含文件系统所有文件列表

一个节点是在一个表项 包含有关文件的信息 ( 元数据 )

包括: 文件类型,权限,UID,GID 链接数(指向这个文件名路径名称个数) 该文件的大小和不同的时间戳 指向磁盘上文件的数据块指针 有关文件的其他数

1 文件引用一个是 inode号

2 我们是通过文件名来引用一个文件

3 一个目录是目录下的文件名和文件inode号之间的映射

由于 inode 找数据是不断地 创建新的节点 所以他的节点创建有局限性 而他的最大数量可为 1T

而之前我们所学的 cp mv rm 等命令 都可以用 inode来解释 例如

rm 命令 删除

rm 命令相当于链接数递减 从而释放的inode号可以被重用 把数据块放在空闲列表中 删除目录项 数据实际上不会马上被删除 但当另一个文件使用数据块 时将被覆盖

硬链接

1 创建硬链接会增加额外的记录项以引用文件

2 对应于同一文件系统上一个物理文件

3 每个目录引用相同的inode号

4 创建时链接数递增

5 删除文件时 rm命令递减计数的链接 文件要存在

6 至少有一个链接数 当链接数为零时 该文件被删除

7 硬链接不能跨越驱动器或分区 指向

8 硬链接与硬连接之间 指向同一个文件 地位 等同

语法 ln filename  [linkname ]

软链接也称符号链接

1 一个符号链接指向另一个文件

2 ls - l的 显示链接的名称和引用的文件

3 一个符号链接的内容是它引用文件的名称

4 可以对目录进行 可以跨分区 指向的是另一个文件的路径

5 其大小为指向的路径字符串的 长度 不增加或减少目标文件inode的引用计数

7 软链接可以对应多个文件 但这些文件 都不相同

语法 ln   -s  filename  [linkname]

硬链接和软连接之间的区别

硬链接是相对于同一文件系统上的物理文件 可以有多个别名 但只有一个文件 而软连接可以指向多个文件虽然文件不同 但 软链接可以跨区 指向 创建硬连接时需要占用节点 而软连接则直接指向路径字符串 不增加或减少节点

硬软连接的简单 演示 硬盘 到 系统上的文件 到 硬链接 再到 软链接

重定向 标准输入输出 和管道

标准输入输出简称 IO

Linux给程序提供三种I/O设备

标准输入(STDIN)-0 默认接受来自键盘的输入

标准输出(STDOUT)-1 默认输出到终端窗口

标准错误(STDERR)-2 默认输出到终端窗口

程序:指令+数据 读入数据 Input 输出数据 Output

打开的文件都有一个fd  file descriptor 文件描述符

I/O重定向就是 改变默认位置

把输出和错误重新定向到文件

下面是重定向的一些命令

1  > 把STDOUT重定向到文件

2  2> 把STDERR重定向到文件

3  &> 把所有输出重定向到文件

4  > 文件内容会被覆盖

5  # set -C 禁止将内容覆盖已有文件 但可追加

6  强制覆盖 >|

7  # set +C  允许覆盖

8  >>  原有内容基础上 追加内容

9   2> 覆盖重定向错误输出数据流;

10  2>>  追加重定向错误输出数据流;

11  标准输出和错误输出各自定向至不同位置:

12  COMMAND > /path/to/file.out 2> /path/to/error.out

13  合并标准输出和错误输出为同一个数据流进行重定向:

14  &>:覆盖重定向 &>> 追加重定向

15  COMMAND > /path/to/file.out 2> &1 (顺序很重要)

16  COMMAND >> /path/to/file.out 2>> &1 find /etc -name passwd 2> /dev/null

17  () 合并多个程序的STDOUT ( cal 2007 ; cal 2008 ) > all.txt

重定向 属于将数据流 导入或导出 一般和管道符使用 最佳

tr命令

tr – 转换和删除字符

tr [OPTION]... SET1 [SET2] 选项

-c或——complermen 取字符集的补集

-d或——delete 删除所有属于第一字符集的字符

-s或—squeeze-repeats 把连续重复的字符以单独一个字符 表示

-t或--truncate-set1 将第一个字符集对应字符转化为第二 字符集对应的字符

管道

管道(使用符号“|”表示)用来连接命令

例如命令1 | 命令2 | 命令3 | … 将命令1的STDOUT发送给命令2的STDIN 命令2的 STDOUT发送到命令3的STDIN STDERR默认不能通过管道转发 可利用2>&1 或 |& 实现 最后一个命令会在当前shell进程的子shell进程中执行用来 组合多种工具的功能 ls  | tr ‘a-z‘ ‘A-Z‘

管道是在 shell 脚本中连接 命令 字符 文件 的最佳 粘合剂

通过管道 我们可以把一些单一的命令组织起来 完成一项复杂的任务

例如 重定向到多个目标

$命令1 | tee 文件名 | 命令2 把命令1的STDOUT保存在文件名中,然后管道输入给命令2 使用   保存不同阶段的输出 复杂管道的故障排除 同时查看和记录输出

时间: 2024-11-03 22:38:05

硬软链接的区别 节点 以及重定向和管道的相关文章

[转帖]Linux 下软链接和硬链接的区别

Linux 下软链接和硬链接的区别 http://os.51cto.com/art/201911/605267.htm 软连接 文件是小的 只是一个链接 删除和其他处理不影响 原始文件的计数 删除源文件 链接文件立马完蛋 但是可以跨文件挂载点进行连接. 硬链接 增加了innode 的引用计数. 删除时 只要还有一个有链接 文件就还有. 但是不能跨挂载点进行硬链接 软连接 就是 ln -s 硬链接 直接 ln 在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件

Linux下软链接与硬链接的区别

Linux下软链接与硬链接的区别 Linux中的文件都文件名和数据,在linux上面被分为两个部分:元数据与数据.用户数据,即文件数据块(data block),数据块是记录文件真实内容的地方,而元数据是文件的附加属性,如大小,创建时间,所有者等信息.在Linux中,元数据中的inode号(inode是文件的元数据的一部分,但其不包含文件名,inode号即索引节点号)才是文件的唯一标识而不是文件名.文件名仅是为了方便人们的记忆和使用,系统或程序通过inode号寻找正确的文件数据快.下图为程序通过

文件系统结构以及软链接和硬链接的区别

文件系统结构 /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader, grub)都存放于此目录 /bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序 /sbin:管理类的基本命令:不能关联至独立分区,OS启动即会用到的程序 /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)     /lib64:专用于x86_64系统上的辅助共享库文件存放位置 /etc:配置文件目录 /home/USERNAME:

硬链接和软链接的区别

# 硬链接和软链接的区别## 1.概念 在linux中,链接可分为两种:一种为硬链接,另一种为软链接. 硬链接:ln 源文件 目标文件软链接:ln -s(soft)源文件 目标文件### 硬链接 硬链接是指通过索引节点inode来进行链接.linux系统中每个文件对应一个inode,并且允许多个文件名指向用一个inode.这种情况的文件就成为硬链接. 它的作用之一就是允许一个文件拥有多个入口,防止重要数据误删. 硬链接的原理: ### 软链接 软链接也称为符号链接,相当于windows中的快捷方

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

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 与软链接.链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径.增加权限安全及节省存储等好处.若一个 inode 号对应多个文件名,则称这些文件为硬链接.换言之,硬链接就是同一个文件使用了多个别名.链接可由命令 ln 创建. 文字描述:描述Linux下软链接和硬链接的区别在Linux系统中,链接分为两种,一种是硬链接(hard link),另一种称为符号链接或软链接(soft link 或symbolic Link).①

软链接与硬链接的区别

使用ln命令创建的是硬链接,ln -s 创建的是软链接. 硬链接文件iNode节点与源文件节点号相同,软链接节点号与源文件不同,它只是源文件的一个快捷方式. 不能对目录创建硬链接,但是可以创建软链接,对目录的软链接会经常用到. 软链接可以跨文件系统,硬链接不能跨越文件系统. 删除软链接对源文件和硬链接无任何影响. 删除硬链接对源文件和软链接无影响 删除源文件对硬链接无影响,但是软链接会失效.(红字闪烁) 同时删除源文件和硬链接,文件才会真正的删除.

硬盘分区与硬软链接

硬盘分区 2-4 分区设备文件名与挂载 1. 分区:把大的硬盘分为小的逻辑分区(Linux中逻辑分区占的编号都是从5开始的,1.2.3.4只能给主分区或者扩展分区使用) 2. 格式化:写入文件系统(工作步骤见下面) 3. 分区设备文件名:给每个分区定义设备文件名(接口表示方法)a:第一块接口硬盘:1:第一个分区/dev/hda1 (IDE硬盘接口)/dev/sda1 (SCSI硬盘接口:服务器传输接口.SATA硬盘接口) 4. 挂载:给每个分区分配挂载点(把目录作为挂载点和分区连接在一起的过程成

谢烟客---------Linux之文件系统自动挂载和ext文件系统结构、硬/软链接

/etc/fstab文件的格式 GDT,超级块,Indode,校验码 inode表,inode组成,地址指针结构 创建文件:位图索引 查找文件:目录 硬链接,软链接 删除文件,复制文件,移动文件 开机后,首先挂载的是根,然后手动通过根中的mount命令,关联其他分区至根 自动挂载的实现 1)定义在/etc/fstab文件中 2)挂载的文件系统支持auto选项     /etc/fstab文件为何开机能自动挂载 系统初始化脚本会起用mount命令扫描/etc/fstab文件中的每一行 /etc/f

linux 软连接和硬链接的区别

linux 软连接和硬链接的区别 2011-06-27  zale的图...   阅 3345  转 23 转藏到我的图书馆 微信分享: 4点不同 : (1)软连接可以 跨文件系统 ,硬连接不可以 .实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 .ln aa.txt /root/bb 失败 .(2)关于 I节点的问题 .硬连接不管有多少个,都指向的是同一个I节点,会把