• Unix高级编程之文件及目录



    文件和目录

    实现
    ls -l

    1.
    stat();
    fstat();
    lstat();

    2.文件的类型(st_mode)
    dbcpls-
    d:目录
    b:块设备
    c:字符设备
    p:管道
    l:符号链接
    s:套接字
    -:普通文件

    3.文件的权限(st_mode)
    rwx
    u+s:u一定要拥有x权限,加s权限,使得执行此文件的用户临时拥有文件拥有者权限
    g+s:
    o+t:如果一个目录有t权限,能够保证其他用户对此目录都能创建文件,但是只能删除/修改自己的文件

    4.文件的硬链接个数(st_nlink)
    硬链接:
    给任意一个文件创建一个硬链接文件,相当于增加一条记录项
    同一个inode,对应两个名字.
    符号链接:
    给任意一个文件创建一个符号链接文件,符号链接文件中存储的是源文件的路径,有独立的inode

    5.文件的拥有者和所属组(st_uid, st_gid)

    6.文件的大小
    文件的字节个数(st_size)
    不等于所占磁盘空间的大小
    磁盘最小单位是扇区(512B)(st_blocks)
    文件系统最小单位是块(一般4K)

    7.文件的时间
    access time ----- 最后一次访问的时间
    modify time ----- 最后一次修改内容的时间(ls -l)
    change time ----- 最后一次修改属性信息(inode)的时间

    8.读目录
    opendir(3);
    readdir(3);
    closedir(3);


    glob(3);

    9.了解
    mkdir(2);
    rmdir(2);

    remove(3);//unlink(2)/rmdir(2);
    rename(2);

    chown(2);
    fchown(2);
    lchown(2);

    umask(2);
    chmod(2);
    fchmod(2);

    link(2);
    unlink(2);

    系统数据文件和信息

    1./etc/passwd
    man 5 passwd

    getpwuid(3);
    getpwnam(3);

    2./etc/group
    man 5 group

    getgrgid(3);
    getgrnam(3);

    3./etc/shadow
    man 5 shadow

    getspnam(3);
    crypt(3);
    getpass(3);

    4.时间例程
    time(2);//时间戳
    gmtime(3);
    localtime(3);
    strftime(3);
    mktime(3);

    ctime(3);

    有时候,不小心知道了一些事,才发现自己所在乎的事是那么可笑。
  • 相关阅读:
    Delegte的BeginInvoke
    C# socket 实现客户端连续发送数据
    Button的PerformClick()
    Invoke和BeginInvoke
    Application.DoEvents() 处理队列消息,防界面假死
    BackgroundWorker后台线程
    CF773F
    ORM框架,没必要搞那么复杂
    VS Unable to copy file
    Unbuntu auto start program
  • 原文地址:https://www.cnblogs.com/axjlxy/p/5859939.html
Copyright © 2020-2023  润新知