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 使用   保存不同阶段的输出 复杂管道的故障排除 同时查看和记录输出

转载于:https://blog.51cto.com/11902658/1832990

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

  1. centos7删除符号链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  2. linux 软链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  3. linux目录和链接的区别,Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  4. 软连接和硬连接的区别linux,软链接和硬链接的区别你真的知道吗?

    导读 在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了:普通文件:目录文件:链接文件:设备文件 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通 ...

  5. 硬链接与软链接的区别有哪些?

    首先,大家要理解如下的概念: 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号. 文件属性保存在索引结点里,在访问文件时,索引结点被复制到 ...

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

    硬链接和软链接的区别 Linux 与其他类 UNIX 系统一样并不区分文件与目录:目录是记录了其他文件名的文件.我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user ...

  7. 【Linux原理】Linux中硬链接和软链接的区别和联系

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的 ...

  8. linux 硬软链接区别

    linux 硬软链接区别 linux的软连接(symbolic link or soft link)类似于windows的快捷方式:而硬链接(hard link)机制有点像copy,不过不同的是,带有 ...

  9. Linux 软链接 与 硬链接 的区别

    Linux 软链接 与 硬链接 的区别 1.概念 ​  链接文件:是 Linux 操作系统中的一种文件,主要用于解决文件的共享使用问题,而链接的方式分为两种--软链接和硬链接. ​  inode:是文 ...

  10. 详解软链接和硬链接的区别

    软链接:又称符号链接,文件用户数据块中存放的内容是另一文件的路径名的指向.软链接就是一个普通文件,只是数据块内容有点特殊.软链接可对文件或目录创建. 软链接主要应用于以下两个方面:一是方便管理,例如可 ...

最新文章

  1. 为什么你用matplotlib savefig保存下来的图像是一个空白图片?
  2. 用jquery修改默认的单选框radio或者复选框checkbox选择框样式
  3. 解决安装win7后ubuntu无法启动问题
  4. php安卓交互安全,php结合安卓客户端实现查询交互实例
  5. LINQ中判断日期时间段
  6. SpringBoot 处理内置对象
  7. 第 4 节:前端面试指南 — JavaScript篇
  8. NotificationManager滑动不退出_退出支付宝的相互宝大病互助计划居然需要8个步骤!...
  9. 三星开源的 tcpflow 抓包工具
  10. socket 收不到16进制 数据_UDP编程-套接字(socket)
  11. 使用OpenCV进行简单的图像分割
  12. 怎么用xmind整理我们获取的杂乱的信息
  13. 【Unity步步升】导航网格、寻路算法及AI行为树等应用与实践...
  14. 惯性导航算法(三)-方向余弦矩阵(下)
  15. 双闭环矢量控制的电压型PWM整流器参数整定
  16. 鸿蒙系统吓坏谷歌,华为被谷歌正式“除名”,鸿蒙系统将正式登场绝地反击!...
  17. 本周开课 | 10年运营专家亲授,掌握9类运营的核心技能,强化运营实力
  18. 网易云接口手机号验证码验证登录
  19. php 豆瓣api_豆瓣的账号登录及PHP api操作
  20. pdf转图片的两种方式(java)

热门文章

  1. 使用VideoView实现简单视频播放器
  2. js添加option设置空值_3.11 在散点图中添加标签(2)
  3. nacos动态配置数据源_Spring Cloud 系列之 Alibaba Nacos 配置中心
  4. c语言冒泡排序法程序填空_五种数组的排序方法(C语言)Part1
  5. 云的种类 计算机,云架构常用的云组件类型分析
  6. python-json下载以及分析-案例
  7. pycharm--Microsoft Visual C++ 14.0 is required. 。。
  8. java new 数据类型_Java之基本数据类型
  9. python中bool怎么用_python函数之bool([x])用法详解
  10. 直线检测原理matlab,Hough变换 直线检测原理及其Matlab实现