文件系统
1.一个文件具备两类数据
元数据 metadata
数据 data
索引中的信息为元数据,例如文件名,大小
索引指向的信息为数据
文件一定会占据空间,而且必定有文件名,可是文件名不占这个文件的空间,相似与人名不会长在身上,属于外围属性
目录索引也是也是文件,特殊的文件
2.文件名的命名规则
(1)文件名严格区分字符大小写,如file File 是不一样的两个文件
(2)文件名可以使用 / 之外的任意字符,而且不建议使用特殊字符
(3)文件名的长度,最长不能超过255个字符
(4)全部以 . 开头的文件,皆为隐藏文件。
3.关于字符/ 表示意义
(1)根目录
(2)路径分隔符
4.路径有两类
绝对路径:从根目录上起始的路径
相对路径:从当前目录起始的路径
5.当前目录
也叫作工做目录 working directory
查看当前目录的路径 命令是 pwd
表示方式: ./
6.上一级目录的表示方式 . .
7.关于外部命令的运行过程,以及缓存
因为命令的可执行文件存在某个目录中
命令 ls 为例
输入ls后,shell程序会在PATH环境变量中存储的路径,逐一寻找匹配,变量中的各个路径用冒号隔开,直到找到匹配的可执行文件
可是此寻找匹配的操做,只有在第一次执行ls命令是进行,由于第一次执行后,会将该命令的正确路径记录下来,放到缓存中(缓存教师内存的一段空间)
shell搜寻到的外部命令的路径结果,会缓存至KV存储中(键值存储)shell
命令 hash 能够查看KV(key-value)的内容 命令 hash -r 能够清除缓存中的全部内容 为何要清除呢?由于有时候缓存中的内容已经失效,不能对应 当第一次执行命令后,该命令的可执行文件的路径会记录到缓存中,可是咱们手动将可执行文件移动位置后,缓存的内容没有改变,执行该命令,会报错,没法执行 即便咱们移动到位置仍然在PATH环境变量中的路径中,可是不执行寻找过程,因此只看缓存,而缓存已经不正确,因此须要清除
8.关于history命令
它有什么做用?相关的环境变量是什么?有哪些有用的选项?缓存
管理历史命令 当用户登陆Linux系统后,以后操做的全部命令,都在缓存中保存 此时 .bash_history中没有内容。 可是当用户退出后,缓存中的命令会自动保存到 .bash_history文件中 第二次登录 执行命令,退出后,会追加到 .bash_history中 选项 history -a 执行后,将新操做的命令,追加到文件中,不须要退出登陆 history -d 编号 执行这个命令后,会删除历史命令文件中这个编号所对应的命令 history -c 清除命令历史 快捷操做 !编号 这个命令,能够直接调用命令历史中 编号对应的命令,如!25 意为执行历史命令中编号25的命令 !字符 这个命令,能够直接调用命令历史中最近一个以该字符开头的历史命令,如 !string !! 这个命令,执行上一条命令 注意:命令历史的空间是有限的