ll -i 文件属性的意思
33808108 d rwxr-xr-x. 2 root root 6 Nov 5 2018 fssnap.d
67486541 d rwxr-xr-x. 2 root root 54 Jul 25 08:11 pluginconf.d
67486545 d rwxr-xr-x. 2 root root 26 Jul 26 19:20 protected.d
------1-------2------3------4---5----6----7---------8------------9------
文件inode号码 inode(index node)==书的目录
文件类型信息 文件类型和文件扩展名无关
文件权限信息 r-read 读 w-write 写 x-execute 可执行
文件硬链接数 相当于超市的多个门
文件所属用户 (属主) 监护人 管理数据最高权力
文件所属组用户(属组) 亲人 管理数据信息
文件容量大小 默认显示字节信息 ls -lh(以人类可读的方式显示)
文件时间信息 文件修改的时间信息
文件名称信息
文件类型
- '-' ---普通文件,包括文本文件;二进制文件;压缩文件及数据格式文件
- d ---目录文件,能用cd命令进入的;类似于windows的文件夹
- s ---套接字文件,本地进程与进程间的通讯方式。通常用网络数据连接,来进行数据通信
- b ---块设备,就是存储数据以供系统存取的接口设备(硬盘,光盘,分区)
- l ---链接文件,类似于windows下的快捷方式
- c ---字符设备,用于提供用户的输入,系统返回的输出结果
- p ---管道文件
查看文件类型: file
扩展名
windows里通过扩展名来区分文件类型的。linux里文件扩展名和文件类型没有关系。但为了容易区分,我们还是会用扩展名来表示文件类型。举例如下:
- 源码.tar、.tar.gz、.tgz、.zip、.tar.bz表示压缩文件,创建命令一般为tar,gzip,zip等。
- sh表示shell脚本文件,通过shell语言开发的程序。
- conf表示系统服务的配置文件。
- rpm表示rpm安装包文件。
- py表示python语言文件,通过python语言开发的程序。
软连接与硬链接
inode:记录文件的权限;属主属组;文件大小;文件时间信息;文件的block编号;但不记录文件名。每个文件必须占用一个inode号
block:block用于实际的数据存储,文件block没占满,也不能放入其他文件数据
硬链接:ln +源文件 +链接文件
文件的基本信息都存储在inode中,硬链接就是给一个文件inode分配多个文件名,通过任何一个文件名,都可以找到此文件的inode,从而读取文件数据信息。
软链接:ln -s +源文件 +链接文件
类似于windows中的快捷方式,链接到一个文件,删除链接对源文件无影响;删除源文件链接失效
主要用于代码上线,更新和回退
通配符:&& ---前一个命令成功;执行后一个命令
硬链接与软链接的区别:
- ln 命令创建硬链接;ln -s 创建软链接
- 目录不能创建硬链接,硬链接不能跨越分区
- 目录软链接特别常用,软链接支持跨分区
- 硬链接文件与源文件inode相同,软链接文件与源文件inode不同
- 删除软链接对源文件及硬链接文件无影响
- 删除硬链接对源文件及链接文件无影响
- 删除源文件,对硬链接无影响,会导致软链接失效
- 删除源文件及其所有硬链接,文件会被真正删除
命令的执行流程
- 判断命令是否是绝对路径
- 判断命令是否有别名
- 判断命令是内置命令还是外置命令
- bash的内部命令直接执行,外部命令检查是否有缓存
- 通过$PATH变量查找命令,有命令执行,没有命令报错'command not found'