文件系统以及基本命令讲解

文件系统基础node

   操做系统用于明确存储设备或分区上文件的存储结构,在存储设备上组织文件的方式,它主要负责为用户建立文件、存入、读出、修改、删除、复制、剪切等来控制文件。
linux


Linux文件系统结构:一个倒立的树状结构,层级,有索引git

    /:原始起点
shell

        /dev/pts/2:
bash

                最左侧/:为根目录
ide

            其它/:为路径分隔符
spa


    文件路径表示:操作系统

        绝对路径:以根目录为起点的路径
命令行

        wKioL1ed94Kxwvg-AAAFcN6WpxQ772.png从根目录开始的路径(绝对路径)3d

        相对路径:以指定目录为起点的路径

        wKiom1ed9_XQNR46AAAFUxIJUOY374.png从当前目录开始的路径(相对路径)

    

    文件命名法则:

        1.不能超过255个字符

        2.严格区分大小写

        3.同一级目录下,不可出现两个文件名同名

        4.可使用/之外的全部字符


    文件系统结构:

        /boot:存放开机启动文件,内核文件,Bootloader引导程序

        /etc:存放配置文件

        /dev:存放特殊文件

            b:block设备,随机访问,以块为单位

             c:character设备,线性访问,以字符为单位

        /home:存放普通用户的家目录

        /bin:存放基本用户命令,普通用户可执行

        /sbin:存放管理命令,只有管理员才有权限执行

        /usr:存放共享文件以及二进制文件

        /var:常常可变化的文件

        /lib:存放程序所依赖的库文件

        /lib64:存放用于x86_64系统上的库文件

        /root:管理员家目录

        /opt:第三方程序文件

        /mnt:默认文件系统挂载点

        /media:默认光盘挂载点

        /tmp:存放临时文件

        /srv:系统上运行的服务用到的数据

        /proc:用于输出内核与进程相关信息的伪文件系统

        /sys:用于输出当前系统上硬件相关信息的伪文件系统


linux上的程序组成:

    1.二进制文件:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

    2.库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

    3.帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

    4.配置文件:/etc, /etc/DIRECTORY, /etc/local/etc


linux下文件类型:


    -:普通文件

    d:目录文件

    l:连接文件

    b:块设备文件

    c:字符设备文件

    p:管道文件

    s:套接字文件


基础命令

cd命令:切换当前用户的工做目录

    cd [OPTIONS...] DIORECTORY

        cd /PATH:切换至指定工做目录

        wKioL1ed_GehK4LpAAATL55r5lc326.png

        cd ~:切换至用户家目录

        wKioL1ed_KTTD4yWAAAQgccDQc4271.png

        cd ~USERNAME:切换指定用户的家目录

        wKiom1ed_R-AIYA2AAARkN5i8Qs985.png

        cd -:与上一次所在工做目录之间来回切换

        wKiom1ed_Y7Qz2CpAAAS32W9UD4629.png

        cd ..:切换之上一级目录

        wKioL1ed_cvTzbBMAAALVNpzjWE696.png

    

    ls命令:显示当前目录或指定目录下的文件列表

        ls [OPTIONS...] DIRECTORY

            -l:显示文件的详细信息wKiom1ed_3mRFzJwAAAqimL8wgQ644.png

            -d:只显示目录文件自己

wKioL1ed_9qg1pjsAAAOG9ZPUHs505.png

            -i:显示每一个文件的inode号

wKioL1eeADyg3-kaAABFQhXfXhg527.png

            -h:对文件大小作单位换算,通常和-l选项结合用

wKiom1eeAIqgES5iAAAxLs1LBNU378.png

            -R:递归显示目录下全部文件以及子目录下的文件

wKiom1eeAPvRW4-WAAAUsgZqpTo105.png

            -r:逆序显示文件列表

wKioL1eeAWGBBxGYAABeNSeLgas125.png

            -a:显示目录下全部文件,包括以.开头的文件

wKiom1eeAb-w-7DEAAAnYh9CBLg521.png

            -A:除了.和..之外,其他都显示

wKioL1eeAg2yAeO8AAAbPFn3NFY489.png

            -S:文件以大到小排序显示

wKioL1eeAm_izeFJAAA0-nNCMx4315.png

            -Sr:文件从小到大显示

wKioL1eeAsKwe5qMAAA2A9q2TUI209.png

文件通配符:

    *:匹配任意字符任意次

    ?:匹配任意单个字符

    []:匹配指定范围内任意单个字符

    [^]:匹配指定范围外任意单个字符

    [0-9]:匹配数字范围

    [a-z]:匹配字母范围

    [abc123]:范围内任意一个字符

预约义的字符类:#man 7 glob 可查看帮助

    [:digit:]:匹配任意单个数字

    [:alpha:]:匹配任意单个大小写字母

    [:space:]:匹配空白字符

    [:punct:]:匹配任意特殊字符

    [:upper:]:匹配大写字母

    [:lower:]:匹配小写字母

    [:alnum:]:匹配字母或数字


    pwd命令:显示当前用户所在工做目录

        wKioL1eeA3qD_g1wAAAMlShi6iI711.png

    当前工做目录环境变量$PWD

    上一次所在目录环境变量$OLDPWD

    wKioL1eeBBTzQpD-AAAXwMjCV-c235.png

    

    stat命令:查看文件元数据,包括文件时间戳,权限,大小,属主属组,连接数等

        文件三个时间戳:

            Access time:访问时间,读取文件内容时将改变此时间戳

            Modify time:修改时间,修改文件内容时将改变此时间戳

            Change time:改变时间,文件元数据发生变更时,将改变此此时间戳

wKioL1eeBb2zsWpOAAAm6UnYeJs977.png


    touch命令:修改文件时间戳或建立空文件

        touch [OPTIONS...] FILE...

            -a:更新文件的访问时间戳

wKiom1eeCGujkl7yAABQtQ8xk0w888.png

            -m:更新文件的修改时间戳

wKioL1eeCN2hQUoeAABe7okuZMQ951.png

            -c:刷新文件的全部时间戳,若是文件不存在,则不予建立

wKiom1eeCTbD97YPAABaj87dJr0629.png

            -t DATE:明确指定文件时间戳

                YYmmddHHMM.S

wKiom1eeCjWRon8aAABSLnWt8lc833.png

            touch FILE:建立空文件

wKiom1eeCm6DJ4LhAAAfHHt1PsM744.png


    cp命令:复制文件或目录

        cp [OPTIONS...] SOURCE DEST

        cp SRC DEST:单源复制

            若是DEST存在,且为文件,把SRC文件内容覆盖至DEST

            若是DEST不存,则建立,并把文件内容覆盖至DEST

            若是DEST存在,且为目录,在DEST目录下建立一个与SRC同名的文件,并把内容填充至此

        cp SRC... DEST:多源复制

            若是DEST不存在,则报错

            若是DEST存在,且为目录,则将SRC...复制到DEST目录下

            若是DEST存在,且为文件,报错

        cp SRC DEST:单源复制,源为目录,须要加-r选项

            若是DEST存在,且为目录,将SRC目录复制到DEST目录下

            若是DEST存在,则为文件,报错

            若是DEST不存在,则建立DEST目录,并把SRC目录下全部文件复制到DEST目录

        -r:复制目录文件,默认只能复制文件

wKiom1eeD0CjIAUdAAAMHl6vTvc833.png

        -f:强制

        -i:交互式

wKiom1eeD4bTv6t_AAAPIDpIzRk165.png

         -p:保留原文件的ownership,mode,timestamp属性

wKiom1eeD-PCc-X7AAA5wdDl2as485.png

        -a:归档

        -v:显示详细过程

wKioL1eeEFKRto4TAAAOCWjtjS4289.png

        --preserv=

           mode:权限

           ownership:属主属组

          timestamp:时间戳

          link:连接属性

          all:全部


命令别名:定义别名能够简化操做,提升命令执行效率

alias:显示当前shell进程所定义的别名

定义别名:

    alias NAME='COMMAND'

wKiom1eeEbbDT6DtAAAmBr9g92E041.png

撤销别名:

    unalias NAME

wKioL1eeEhOgaRXlAABHfMEX6zE656.png

执行原始命令:

    \COMMAND

    'COMMAND'

    /PATH/TO/COMMAND

wKioL1eeFNCi0FBtAAArdlEvIcI706.png

在命令行定义别名只对当前shell进程有效,若是想永久有效,则须要定义在配置文件当中

/etc/bashrc:全局配置,全部用户都生效

~/.bashrc:只对当前用户生效


练习:

    一、定义别名命令baketc,天天将/etc/目录下全部文件,备份到/testdir独立的子目录下,并要求子目录格式为backupYYYY-mm-dd,备份过程可见

wKiom1eeE8LAq5mBAAAXsywSLfs210.png

    二、建立/testdir/rootdir目录并复制/root全部下文件到该目录内,要求保留原有权限

wKiom1eeFBeAhcJOAAAck-EpZaU359.png


mv:移动或重命名文件或目录

    工做机制与cp命令一致

    mv [OPTIONS...] SRC DEST

        -i:交互式

        -f:强制

    重命名文件名:mv NAME NEWNAME

     wKiom1eeFfuwJ_cQAAAPrqsUJ1w618.png


rm:删除文件或目录

    rm [OPTIONS...] FILE...

        -r:递归删除

        -f:强制删除

        -i:交互式

    注意:危险操做 rm -rf /*

wKiom1eeFx_RBpiBAAAPF1YVYCQ982.png



tree命令:以树状格式查看目录结构

-L:查看目录级别

-d:只显示目录

wKiom1eeF9zgvKeCAAAJvXiDFv4853.png

mkdir命令:建立目录

-p:递归建立

-v:显示详细信息

-m MODE:建立目录时,指定权限

wKioL1eeGDDge6i1AAAPAs1lefE195.png

rmdir命令:删除空目录

-p:递归删除空目录

-v:显示过程


file命令:查看文件内容类型

file [OPTIONS...] FILE...

-b:列出命令结果,不显示文件名

-c:显示命令执行过程

-f:列出指定文件中的文件的类型

-L:查看软连接文件对应的文件类型

-F:使用指定分隔符号替换输出文件名后默认的”:”分隔符

-i:输出mime类型的字符串

-z:尝试去解读压缩文件的内容

wKiom1eeGK-R1iyvAAAvulNYYSM658.png

相关文章
相关标签/搜索