快速学会linux之文件管理

文件管理

    文件系统:层级结构
            /bin:所有用户可用的基本命令程序结构
            /sbin:供系统管理使用的工具程序
            /boot:引导加载器必须用到的各静态文件
            /dev:存储特殊文件或设备文件
                 设备有两种类型:字符设备、块设备
            /etc:系统程序的配置文件,只能为静态
            /home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录
            /1ib:为系统启动或根文件系统上的应用程序(/bin, /sbin)等提供共享库,以及为内核提供内核模
            /media:便携式设备挂载点
            /mnt:其它文件系统的临时挂载点
            /opt:附加应用程序的安装位置:可选路径
            /srv:当前主机为服务提供的数据
            /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录:可供所用户执行写入操作:有特殊权限
            /usr:全局共享的只读数据路径
                include: C程序头文件
                share:命令手册页和自带文档等架构特有的文件的存储位置
                src:程序源码文件的存储位置
                local:让系统管理员安装本地应用程序;也通常用于安装第三方程序
            /var:存储常发生变化的数据的目录
            /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息:它们多为内核参数
            /sys: sysfs虚拟文件 系统提供了一种比proc更为理想的访问内核数据的途径,主要作用是为管理Linux提供一种统一模型的接口
  Linux系统上的文件类型:
      -:常规文件
      d:directory,目录文件
      b:block device,块设备文件,支持以""block"为单位进行随机访问
      c:character device,字符设备文件,支持以"character"为单位的线性访问
          major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序
          minor number: 次设备号,用于标识同一类型中的不同的设备
                        8位二进制: 0-255
      1: symbolic link, 符号链接文件
      p: pipe; 命名管道
      s: socker, 套接字文件
  基本命令:
      命名类型:
          外部命令
          内部命令

          type查看命令类型
             内部:内嵌
             外部:显示为命令文件格式
          命令别名:
                  alias
              定义别名:alias NAME='COMMAND'
                  注意:仅对当前设置有效
              撤销别名:unalias NAME
          which命令:
              which [options]programname[...]
                    --skip-alias:忽略别名
          who命令
              who 查看系统的登陆信息
              who [OPTION]...
                  -b: 系统此次启动的时间
                  -r: 运行级别
    bash的基础特性:

        命令补全:
            shel1程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令
            命令查找机制:
                查找内部命令:
                根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名:
            给定的打头字符串如果能惟一标识某命令程序文件,则直接补全
                            不能惟一标识某命令程序文件,再由tab键 一次,会给出列表
            路径补全:
                在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件:
                    tab:
                        如果能惟一标识,则直接补全;
                        否则,再一次tab,给出列表;


        命令历史: shell进程 会其会话中保存此前用户提交执行过的命令;
            ~]# history
            -c:清空命令历史
            -w:把历史列表中的命令追加至历史文件中
    目录管理类的命令:
        mkdir,rmdir
            mkdir:make directory
            mkdir [OPTION]... DIRECTORY
              -p:自动按需创建父目录
              -v: verbose, 显示详细过程
              -m:直接给定权限
              注意:路径基名方为命令的作用对象:基名之前的路径必须得存在

    bash的基本性质之:命令行的展开
        ~自动展开为用户的家目录,或指定的用户的家目录:
        {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径:
        例如: /tmp/{a,b} 相当于/tmp/a /tmp/b
    tree命令:

    bash的基础特性:命令的执行状态结果
        命令执行的状态结果:
            bash通过状态返回值来输出此结果:
                状态返回值:成功: 0
                           失败: 1-255
        命令执行完成之后,其状态返回值保存于bash的特殊变量$?中:|
           echo $?
        引用命令的执行结果:
            $(COMMAND)或`COMMAND`
    bash的基本特性:引用
        强引用:''
        弱引用:""
        命令引用:``
    bash基本特性:快捷键
        Ctrl+a:跳转至命令行行首
        Ctrl+e:跳转至命令行行尾
        Ctrl+u:删除行首至光标所在处之间的所有字符;
        Ctrl+k:删除光标所在处至行尾的所有字符:
        Ctrl+l:清屏,相当于clear

    文本查看类命令:cat,tac,head,tail,more,less

        分屏查看命令: more和less

        more命令:
            more FILE
                特点:翻屏至文件尾部后自动退出;
        less命令:
            less FILE
        head命令:
            head [options] FILE
            -n:查看文件的前n行,默认查看文件的前10行
        tail命令:
            查看文件的后n行
                tail [options] FILE
                -n
                -f: 查看文件尾部内容结束后不退出,跟随显示新增的行
        stat命令:
            stat FILE

            文件:两类数据
                 元数据:(metadate)描述数据的数据
                 数据:date

            时间戳:
                Access: 2020-03-22 12:32:37.064998694 +0800
                Modify: 2020-03-22 16:25:14.084276197 +0800
                Change: 2020-03-22 16:25:14.084276197 +0800
        touch命令:
            touch 修改时间戳
            touch [OPTION] FILE
                -c:指定的文件路径不存在时不予创建
                -a:仅修改access time
                -m:仅修改modify time
    文件管理工具:cp,mv,rm

        cp命令:copy
            源文件 目标文件
            单源复制:
                如果目标DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中
                如果DEST存在:
                    如果DEST是非目录文件:则覆盖目标文件
                    如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
            多源复制
                如果DEST不存在:错误
                如果DEST不是目录文件:错误
                如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名
            常用选项:
                i:交互式复制,即覆盖之前提醒用户确认;
                f: 强制覆盖目标文件:
                -r, -R: 递归复制目录;
                d: 复制符号链接文件本身,而非其指向的源文件:
                -a: -dR -- preserve=all, archive, 用于实现归档

        mv命令:
            -i:提示是否写入
            -t:覆盖前不提示
        rm命令:remove
            -i:删除不存在的文件和参数,不提示
            -f:每次删除前提示
            -r:删除目录及递归内容
            删除目录:rm -rf
bash的基础特性:

    globbing:文件名通配

        匹配模式:元字符
             *:匹配任意长度的任意字符
             ?:匹配任意单个字符
             []:匹配指定范围内的任意单个字符

原文地址:https://www.cnblogs.com/tianyao2020/p/12790026.html