• Linux文件处理命令


    命令格式与目录处理命令ls

    命令格式

    image.png
    image.png
    • 命令本身
    • -选项,用于调整命令功能
    • 参数命令操作的对象(文件/目录/用户/进程)
    • 选项和参数通过中括号括起说明某些命令不一定需要选项和参数
      • 例如ls/ifconfig等
    • 有些命令是规定必须要有选项和参数,甚至某些命令规定要求有多个选项和参数
    • 对于选项而言有简化选项和完整选项,简化选项采用一个杠,完整选项采用2个杠

    目录处理命令ls

    image.png
    image.png
    • 不写参数,默认当前目录

    • 隐藏文件

      • Linux中以"."开头的文件为隐藏文件

        • image.png
          image.png
      • 某些病毒和木马习惯性把自己变成隐藏文件,这样更具有欺骗性

      • 隐藏文件设计的初衷,是为了告诉用户,这是一个系统文件,没有特殊情况不要进行访问 | -a | --all | 显示所有文件,包括隐藏文件 | | --- | --- | --- | | -l | --long | 显示所有文件,及其详细信息(不包括隐藏文件) | | -d |
        | 显示目录本身而不显示,目录下的信息 | | -I | inote号 | 获取目录下文件的唯一标识,一个文件对应一个i节点号,一个i节点号可以对应多个文件 |

      • Linux文件把用户分成3类 | 所有者 | 标记为u,即user | | --- | --- | | 群组 | 标记为g,即group | | 其他人 | 标记为o,即other |

    • 描述的是用户和文件之间的关系

      • 创建者即所有者,但所有者可以发生转换,但所有者只能有一个用户
      • 群组,指多个用户共有
      • 既不是所有者也不是群组的用户为其他人
    • Linux文件详细信息解答

      • image.png | 1 | 引用系数,表示文件曾经被引用或调用过几次 | | --- | --- | | root | 所有者 | | root | 群组 | | 962 | 文件的大小,默认单位是字节,使用-lh选项默认转化为kb单位(h-->humanize人性化的意思) image.png | | Jun 11 05:52 | 文件修改时间,若未进行修改;则为文件创建时间(Linux中没有文件的创建时间这个概念) | | Anaconda-ks.cfg | 文件名 |
    image.png
    image.png
    • -开头表示文件,

    • d开头表示目录,

    • l开头表示软连接 | -rw-r--r-- | 表示这是一个文件,该文件所有者有读写权限,所属组有读的权限,其他人也有读的权限 | | --- | --- |

      • 除了以上三种文件,还有一些不太常见的系统特殊文件,不需要用户做一般操作
        • 字符设备文件
        • 块设备文件
        • 套接字文件
        • 管道符文件
      • 为什么作为文件的所有者root只有读和写的权限,而不具有x执行权限?
        • 最小权限原则
        • 对文件来讲x权限是其最高权限,对一般文件而言读写权限就够用了,执行权限只有当文件可以运行时,是个脚本/或是命令,才需要赋予x权限,若是日志文件或是txt文件则不需要赋予x权限
    image.png
    image.png
    • 目录处理命令 | 目录处理命令命令 | mkdir | cd | pwd | rmdir | cp | mv | rm | | --- | --- | --- | --- | --- | --- | --- | --- |
    image.png
    image.png
    • 用于创建新的文件夹/新的目录
    • -p的作用
      • 在Linux中无法在原来不存在的路径下创建文件或路径
      • 使用-p选项,对命令行进行修饰,使mkdir命令可以通过递归创建实现逐层创建
      • 代码示例
    image.png
    image.png
    • mkdir可以一条命令行同时创建多个文件
      • 代码示例

    image.png
    image.png

    • 切换到指定路径
      • cd +路径名称
    image.png
    image.png
    • cd .表示当前目录,cd ..表示当前目录的上一级目录

    image.png
    image.png

    • 返回当前路径的全路径

    image.png
    image.png

    • rmdir用于删除空目录,若所删除目录非空则报错,无法删除

    image.png
    image.png
    image.png
    image.png

    • cp+ -r+目录+目标目录,表示将整个目录包括文件一起复制到指定目录中
    • cp + n个路径下的文件 + 目标目录
      • 表示将n个路径下的不同文件同时复制到目标目录中
    image.png
    image.png
    • 源文件与复制所得的文件修改时间不同,复制所得文件时间为复制命令执行之后的时间
    image.png
    image.png
    • cp + -p + 源文件 +目标目录
      • 表示将源文件保持原有属性复制到目标目录
      • 在拷贝文件的同时对拷贝所得文件进行重命名

    image.png
    image.png

    • 直接使用mv可以把一个或多个文件剪切到目标目录中
    • 普通文件的剪切
    image.png
    image.png
    • 剪切文件的同时进行重命名
    image.png
    image.png
    • 同一个目录下的移动即为重命名

    image.png
    image.png
    image.png
    image.png

    • 从配置文件中复制一个文件到root目录,使用rm命令删除所复制所得到的文件
    image.png
    image.png
    • -f表示强制删除操作,不会有确认删除提醒
    image.png
    image.png
    • -r与-rf的区别 | -r | 在删除目录的过程中会逐一询问是否删除每个子目录 | | --- | --- | | -rf | 直接删除指定的目录,不做询问 |

    文件处理命令

    image.png
    image.png
    • 用于创建空文件,若不指定文件目录,则默认在本目录下创建
    image.png
    image.png
    • 在Linux中对文件的命名可以使用除根目录的斜杆以外在Linux中大部分符号均可使用(但在Linux中不做推荐)
    • 在Linux中被空格分隔的文件名系统识别为两个文件
      • 若想创建一个带空格的文件,必须使用双引号引起来,作为单独一个文件名(在Linux在不推荐使用任何符号)

    image.png
    image.png

    • 常见cat语句
    image.png
    image.png
    • cat -n 语句
    image.png
    image.png
      - -n的作用就是给每行内容添加一个行号
    
    • 1
    • 由于cat命令本身的局限性,不适合用于浏览较长文件,因此可以more命令获取文件内容
    image.png
    image.png
    • 与命令类似执行顺序跟命令名称一样相反,相当于cat的倒序输出

    image.png
    image.png

    • more浏览状态的操作
      • 空格/f-->翻页
      • Enter-->换行
      • q/Q-->退出浏览状态
    image.png
    image.png
    • 与more类似比more多了向上翻页的功能
      • Pageup-->向上翻页
      • 空格-->向下翻页
      • 上箭头-->向上翻行
      • Enter-->向下翻行
      • 搜索(在最下方光标输入斜杠+搜索的内容,再输入n即可向下查询是否还有搜索内容存在)
    image.png
    image.png
    • 假设一个文件很长,你需要看的仅仅是其中的前几行,此时就可以使用haed命令
    • head -n 最后一行行号文件目录
    image.png
    image.png
    • head 文件目录(默认显示文件前10行)

    image.png
    image.png

    • 与head类似若不加选项默认是最后10行
    image.png
    image.png
    • 与head指定的方式也一致
    image.png
    image.png
    • 动态显示文件末尾的内容
      • tail -f /var/log/massages

    链接命令ln

    image.png
    image.png
    image.png
    image.png

    • 3rwx表示所有者,所属组,其他人,都具有全部操作的权限,软连接仅仅只是一个指向作用,到底用户拥有那种权限是由这个软连接指向的源文件决定的
    • 对于硬链接与源文件
      • 除了文件名和所在目录不同,其他均相同

    image.png
    image.pngimage.png

    • Echo 命令,往硬链接文件/源文件的末尾写入一个网址
    • 硬链接文件与源文件同样更新变化
    • 软连接文件也同样更新变化,原因是软连接的实质是指向源文件的链接
    image.png
    image.png
    • 将源文件复制到别的目录下,再将源文件删除,此时
    • 查找软链接文件,显示"No such file or directory"(没有那个文件或目录)
    • 查找硬链接文件,保持原有文件内容
      • 硬链接,可以与源文件保持同步更新(得益于与源文件相同的i节点号),源文件即使丢失硬链接仍可访问
    • 硬链接文件的识别
      • 对于软连接文件,在获取文件信息,通过箭头指向即可判断文件为软连接文件(源文件丢失时,会呈现红色闪烁状态)
      • 对于硬链接,则可以通过i节点号进行判断,i节点号与原文件相同的链接文件为硬链接文件
    image.png
    image.png
    • 在issue.bak的所在目录下创建一个硬链接文件和一个软连接文件,通过获取i节点号进行判断
    • 硬链接的应用
      • 在团队开发中,某个成员负责的一个文件,需要其他成员帮助完成的,可以生成一个硬链接给其他成员,进行同步更新操作
    • 硬链接不能跨分区
    image.png
    image.png
    • "Invalid cross device link"(无效的跨设备链接)
    • 硬链接不能针对目录使用
    image.png
    image.png
    • "hard link not allowed directory"(不允许将硬链接指向目录)

    本文由 mdnice 多平台发布

  • 相关阅读:
    《排错》Python重新安装后,执行yum命令报错
    计算机毕业设计Java的商城后台管理系统(源码+系统+mysql数据库+lw文档)
    new IntersectionObserver 使用笔记
    Decimal.ToString()堆栈溢出异常
    力扣:142. 环形链表 II(Python3)
    简单的块设备驱动例程
    微信小程序开发之路⑥
    ros1 实现Server端自定义四 Topic模式控制海龟运动
    含文档+PPT+源码等]精品基于Nodejs实现的家政服务微信小程序[包运行成功]Nodejs毕业设计计算机项目源码
    获取http三种请求的方式,get,post,流的形式
  • 原文地址:https://blog.csdn.net/ljz66254/article/details/134328594