Unix操作系统基础:Unix文件系统之目录

 

Unix操作系统基础:Unix文件系统之目录

主要内容:
1. Unix文件的概念
2. Unix的目录操作
3. Unix的文件结构
4. Unix的文件操作

一、文件的概念
    计算机中的所有信息保存在文件中。
    如:通知、程序、文本
    文件是:
        数据集合
        字符流(字节流)
        操作系统不对文件进行任何结构化
        在Unix系统中,文件是字节的序列

二、文件类型
    普通文件:
        文本数据或代码数据
        没有内部的格式
    目录文件:
        将所有内容组织成一个表
        目录内文件名的列表
    特殊文件:
        代表系统中的设备,在/dev目录中

三、路径名
    由斜杠/分隔的由目录名组成的一个序列。
    它指示找到一个文件所必须经历的目录。
    两种类型:
        绝对路径:由根目录/开始
        相对路径:由当前目录开始
    举例:
        .  表示当前目录
        .. 表示上级目录

四、Unix目录及与目录相关的命令

    1. 工作目录
       在Unix系统中,用户总处于某个目录中,正在工作的这个目录
       叫工作目录或当前目录.

       显示工作目录的命令:pwd
       a. 列出正在工作的目录(Print Working Directory)pwd命令.
       b. pwd命令总是返回你当前所处的目录的完整路径名.
       c. 登录完成后,显示用户主目录的路径名.

       定位工作目录中的文件
      
       定位其他目录中的文件
      
    2. 改变当前目录(change director)
       格式:$cd dir_name
       作用:从一个目录改变到另一个目录
             $cd    #命令不带任何参数时,改变到主目录中.
             $cd .. #改变到上一级目录上      
       
    3. 创建目录
       格式:$mkdir dir_name
       作用:创建一个子目录,或者一次创建多个子目录
             在每个新的子目录中,均包含两个标准的项目:.(点)和..(双点)
             $mkdir -m 权限值 dir_name
             #创建一个带有特定权限的子目录,必须有权限值.
             如:mkdir -m 775 dir_name

       注意:
           a. 创建的目录应该不存在;
           b. 可以在任何一级用mkdir创建而不一定要在当前目录下

    4. 删除目录
       格式:$rm dir_name
       作用:删除一个目录
       说明:
             a. 参数不能被指定为当前目录,只能在父目录下删除子目录.
             b. 被删除的子目录必须为空子目录(即只包含.和..).
             c. 如果要删除非空子目录,可使用 -r 选项.

    5. 一次操作多个目录
       在Unix中,可同时创建多个目录,且可用一个命令删除某个目录及其
       所有子目录。
       在操作时要使用带 -p 命令选项.
           -p 选项:一行命令可以创建一个完整的目录结构。(逐级创建)
       注意:
           创建的目录不存在。用不着非得创建当前目录的子目录。
           只要给出新目录的路径名,就可以在任何一级目录运行该命令。
       如:
           $mkdir -p dir1/dir2/dir3
           $rmdir -p dir1/dir2/dir3
       有下列两种情况,rmdir不起作用
       a. 待删除的目录不是空目录.
       b. 对删除的目录没有写的权限.

    6. 显示目录中文件列表(ls)
       格式:$ls dir_name(dir_name是可选的)
       作用:显示目录列表命令
       选项:
             -a:        显示所有文件
             -R:        显示所有子目录的内容(命令:tree dir_name更合适)
             -a:        列出所有文件,包括隐藏文件
             -C:        以多列的格式列表,按列排序
             -m:        按页宽列文件,以逗号分隔
             -p:        如果是目录,文件名后加/
             -r:        以字母反序列表
             -R:        循环列出子目录的内容
             -s:        以文件块为单位显示文件大小(正常以字节为单位)
             -x:        以多列的格式列表,按行排序
             -F:        如果是目录,文件名后加/,如果是可执行文件,加*表示
             -l:        显示目录中文件的详细信息(命令:ll同样效果)
               -------------------------------------------------
               $ls -l   #显示结果说明:total 值表示文件块(block)
               -------------------------------------------------
               drwxr-xr-x 2 root root  4096 Mar  9 20:54 Desktop
               -------------------------------------------------
               ab         c d    e     f    g            h
               -------------------------------------------------
                a. 文件类型(第一列)
                   -:普通文件
                   d:目录
                   c:字符设备(打印机等)
                   b:块设备(磁盘等)(块: block)
                   p:管道

                b. 文件保护模式:(-表示不具备这样的权限)
                    第一组:rwx(文件所有者权限)
                    第二组:rw-(文件所有者所在组权限)
                    第三组:r--(其他用户权限)

                c. 文件链接数(.和..)
                    一个是自链接
                    一个是与父文件的链接

                d. 文件属主(所有者)
                e. 文件所属用户组
                f. 文件大小(字节数)
                g. 最后修改时间
                h. 文件名
               -------------------------------------------------
               注意:
                   如果ls命令列出的文件是设备特殊文件,则该命令的
               输出格式略有不同,如:
               -------------------------------------------------
               brw-r----- 1 root disk   1,   9 Mar 13 20:40 ram9              
               crw-rw-rw- 1 root root   1,   8 Mar 13 20:41 random
               -------------------------------------------------
               ab         c d    e      f    g h            i
               -------------------------------------------------
               a. 文件类型(第一列)
               b. 文件保护模式
               c. 文件链接数
               d. 文件属主(所有者)
               e. 文件所属用户组
               f. 主设备号
               g. 次设备号
               h. 最后修改时间
               i. 文件名
               -------------------------------------------------
       注意:
            a. 目录的大小是以512字节为增加的;
            b. 名称是存贮在目录之中,其他显示的信息是存储在inode表中.
   
    7. 显示目录条目的信息
       使用 -i 命令选项,inode序号将列在第一列
       使用 -d 命令选项,将只显示目录条目的信息
       可以使用不同的命令选项来显示不同的时间标记
       ls -lc  显示更新时间(文件的inode信息被改变的时间)
       ls -l   显示更改时间(文件内容被改变的时间)
       ls -lu  显示访问时间(文件被读写的时间)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值