您的位置:首页 > 运维架构 > Shell

15、文件存储详解、链接文件、用户交互命令read、bash测试

2017-12-27 18:02 351 查看
    文件系统

        数据区按相同块数,分多个块组,块组包含数据和inode,每组有自己信息保存gdt,所有信息保存在超级块,超级块会备份在各组中

        

        inode:索引节点(不包括文件名)

            地址指针

                直接指针:直接指定文件存储在哪些块上(会限制文件大小)

                间接指针

                三级指针

            inode bitmap(位图索引):以二进制对应标识每个inode是否空闲

            数据块位图:以二进制对应标识每个块是否空闲

            ls -i:显示文件inode号

        

        目录:路径映射文件,用于存储此目录下所有文件及对应inode信息

        访问/var/log/messages文件过程:先有/的inode-查找到/所在的块-查找到var的inode-var所在块-log的inode-log所在块-me的inode-me所在的块

        

        硬链接:多个文件使用相同的inode信息,创建硬链接即添加一个引用路径,会增加其引用计数,ll查看文件引用多次

            不能对目录创建,不能跨分区,目录2次引用另一个为.

            ln 源文件 链接文件名

        软链接:软链接文件inode里存放为源文件路径,文件大小为路径占的大小

            ln -s 源文件 链接文件名(软链接文件默认为777权限)

            

            

    文件管理操作对文件的影响

        文件删除:减少inode引用计数,为0时表示可用,块标记为可用;对于软链接直接删除inode路径信息

        文件复制:创建空文件,读出写入到新文件

        文件移动:跨分区时先复制再删除源文件,同分区时更改目录信息块上文件对应inode信息

        

        

    bash脚本编程之用户交互

        read 变量名1 变量名2 变量名3...:由键盘输入变量值

            多个变量时,键盘输入多个以空白分开的值;值少于变量数量时后面变量为空,大于变量数量时多余的值都添加到最后一个变量

        read -p '提示字符' 变量:显示提示字符

            -t #:等待输入多少秒后命令超时结束,未输入时变量值为空

            

            

    脚本语法检查

        bash -n 脚本名:检查语法错误

        bash -x 脚本名:调试执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: