ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux学习笔记三

2020-03-29 10:00:12  阅读:167  来源: 互联网

标签:文件 缓存 文件名 路径 笔记 学习 命令 Linux history


文件系统
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存储中(键值存储)

            命令 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  
                 !!  这个命令,执行上一条命令
                 注意:命令历史的空间是有限的

标签:文件,缓存,文件名,路径,笔记,学习,命令,Linux,history
来源: https://blog.51cto.com/12721002/2482817

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有