首页 > 系统服务 > 详细

linux文件系统

时间:2019-09-03 15:49:22      阅读:113      评论:0      收藏:0      [点我收藏+]

# linux文件系统

linux由虚拟文件系统VFS提供同一套API操作不同的文件类型。

  • 普通文件:存储设备上的文件,如C文件、目录、可执行文件等
  • 字符设备文件:可以像文件一样访问的设备,如串口、控制台
  • 块设备文件:需通过内存缓冲区且一次读写访问固定大小数据的设备,不直接对设备进行数据读写。如磁盘、软盘、光驱等
  • socket文件:通过文件描述符抽象实现对网络的访问

    创建文件系统

    查看分区情况

    fdisk -l

    建立分区(假设目标磁盘为dev/sdb)

    >fdisk /dev/sdb

    之后根据提示输入对应命令字操作
  • a 设置为启动分区
  • b 编辑bsd磁盘
  • c 设置兼容dos标志
  • d 删除一个分区
  • l 列出当前系统支持的分区方式
  • m 打印命令/help
  • n 增加一个分区
  • o 建立新的dos分区表
  • p 打印分区情况
  • q 不保存退出
  • s 建立一个新的Sun空磁盘
  • t 改变分区ID
  • u 改变显示单元
  • v 修正分区表
  • w 保存并退出
  • x 专家模式

    格式化分区

    mkfs.ext3 /dev/sdb1 //将dev/sdb1格式化为ext3类型文件系统

    挂载分区

    >mount /dev/sdb1 /test //将/dev/sdb1 挂载到/test

    mount命令用于挂载文件,其使用格式如下:

    mount -t type mountpoint device -o options
    上面的命令表示将文件类型为type的设备device按照options设置挂载到mountpoint上

    查看分区挂载情况

    df

    文件操作

    ### 文件描述符(file descriptor)

    linux通过一个整型数字文件描述符来表示文件,是一个与系统设置有关的有限资源,使用完毕后必修及时释放,其值仅在同一进程有效;
    系统已分配3个文件描述符
  • 0->标准输入(stdin)
  • 1->标准输出(stdout)
  • 2->标准错误(stderr)

    打开/创建文件

//open()函数
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
  • 使用时需包含头文件sys/types.h、sys/stat.h、fcntl.h
  • 成功返回文件描述符,失败返回-1
  • pathname最大长度通常为1024,不同系统有差别,超长自动截断
  • flags
    • O_RDONLY 0 只读
    • O_WRONLY 1 只写
    • O_RDWR 2 可读可写
    • O_APPEND 写操作时追加
    • O_CREAT 不存在则创建,此时需设置mode参数以确定新文件权限
    • O_TRUNC 将文件长度截断为0,若文件存在并成功打开,则文件长度截断为0
    • O_NONBLOCK 以非阻塞方式打开文件,不指定是默认阻塞方式打开
  • mode参数值与含义
    |选项|值|含义|
    |:----:|:----:|:----:|
    |S_IRWXU|00700|用户(文件所有者)有读写和执行权限|
    |S_IRUSR|00400|用户有读权限|
    |S_IWUSR|00200|用户有写权限|
    |S_IXUSR|00100|用户有执行权限|
    |S_IRWXG|00070|组用户(文件所有者)有读写和执行权限|
    |S_IRGRP|00040|组用户有读权限|
    |S_IWGRP|00020|组用户有写权限|
    |S_IXGRP|00010|组用户有执行权限|
    |S_IRWXO|00007|其他用户(文件所有者)有读写和执行权限|
    |S_IROTH|00004|其他用户有读权限|
    |S_IWOTH|00002|其他用户有写权限|
    |S_IXOTH|00001|其他用户有执行权限|

linux文件系统

原文:https://www.cnblogs.com/hztd/p/11453492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!