02 - Linux文件管理

216 阅读6分钟

查看命令的帮助信息:

  • [命令] --help:有中文版本,但是有些命令可能没有

  • man [命令]:权威,纯英文的帮助信息

文件操作命令

pwd & cd

  • pwd

    • 功能:打印当前目录的绝对路径
    • 格式:pwd
  • cd

    • 功能:切换工作目录
    • 格式:cd [路径]
    • 补充:
      • cd .:定位当前目录
      • cd ..:切换到当前目录的上一级目录
      • cd ~:切换到当前用户的家目录

ls & 文件类型

  • ls

    • 功能:列出指定目录的内容
    • 格式:ls [选项] [参数]
    • 选项:
      • -l:长格式显示,显示详细属性
      • -h:与-l一起使用,用易读的单位显示
      • -d:与-l一起使用,显示目录本身(而不是当前的目录的内容)
      • -a:显示目录下的所有内容,包括以.开头的隐藏文件
  • 文件类型

    Pasted image 20220715170309.png

    • 红框选中部分为文件类型:
    字符文件类型
    -普通文件(文本文件、二进制文件、压缩文件、电影、图片......)
    d目录
    b设备文件(块设备):存储设备硬盘、U盘等
    c设备文件(字符设备):打印机
    l链接文件
    s套接字文件
    p管道文件
    • 文件类型后面的为权限:
      • 前三个字母表示文件所有者的权限
      • 中三个字母表示文件所属组的权限
      • 后面三个字母表示其他用户的权限
      • .表示acl权限:没有设置acl为.;设置了acl权限显示为+
    • .后面的数字含义:
      • 如果是目录,表示子目录数量
      • 如果是文件,表示该文件的链接数(快捷方式)
    • 接着的三个字段含义:文件所有者;文件所属组;文件大小
    • 日期为最近修改的时间,最后一段为文件名

mkdir & touch

  • mkdir

    • 功能:创建目录
    • 格式:mkdir [选项] [目录名]
    • 选项:
      • -p:创建一个完整的目录结构,递归创建
      • -v:显示创建的过程
  • touch

    • 功能:创建空白文件
    • 格式:touch [文件名]

cp & mv

  • cp

    • 功能:复制文件或者目录
    • 格式:cp [选项] [源文件或目录1] [源文件或目录2] ... [目标路径]
    • 选项:
      • -r:针对复制目录,递归复制
      • -f:强制复制不做询问
      • -i:复制时做询问
      • -p:复制时保留文件的原属性(权限等)
  • mv

    • 功能:移动或重命名文件或者目录
    • 格式:mv [源文件或目录1] [源文件或目录2] ... [目标路径]
    • 重命名:在[目标路径]紧跟要修改的文件名,同路径重命名或移动并重命名,复制同理

rm & rmdir

  • rm

    • 功能:删除文件或目录
    • 格式:rm [选项] [文件名或目录名]
    • 选项:
      • -r:递归删除,针对于删除目录
      • -f:强制删除不提示
  • rmdir

    • 功能:删除空目录
    • 格式:mkdir [目录名]

alias & unalias

  • alias

    • 功能:给命令起别名
    • 格式:alias [别名]="执行的命令"
  • unalias

    • 功能:取消命令别名
    • 格式:unalias [别名]
  • 在命令前加\可以取消别名的意义,alias - 可以查看已有的别名

查看文件内容

cat & grep

  • cat

    • 功能:一次性显示全部内容,不适合长文件
    • 格式:cat [选项] [文件]
    • 选项:
      • -n:显示行号
  • grep

    • 功能:针对文件内容过滤,一般与特殊符号配合使用
    • 格式:grep [选项] [关键字] [文件名]
    • 选项:
      • -v:取反
      • -i:忽略大小写
      • -n:显示行号

more & less

  • more

    • 功能:分页显示文件内容

    • 格式:more [文件]

    • 关于more的相关操作:

      操作功能说明
      空格(space)下一页
      回车(Enter)下一行
      q退出more,不再显示文件内容
      Ctrl + F向下滚动一屏
      Ctrl + B向上滚动一屏
      =输出当前行的行号
      :f输出文件名和当前行的行号
  • less

    • 功能:分页显示文件内容,属于more的增强版

    • 格式:less [文件]

    • 关于less的相关操作:

      操作功能说明
      空格(space)下一页
      pagedown下一页
      pageup上一页
      /字符串向下搜寻 【字符串】;n:向下查找 N:向上查找
      ?字符串向上搜寻 【字符串】;n:向上查找 N:向下查找
      q离开less程序
      上下键屏幕滚动
  • more 与 less的区别

    • less 表示 less is more 的含义,是对more命令的增强。more命令查看内容时只能简单的前进后退,而less在more的基础上,增加了上下方向键显示当前屏幕的上下内容;
    • less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示;
    • less不必加载整个文件,加载速度会比more更快(more查看文件需要把整个文件加载)
    • less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

head & tail

  • head

    • 功能:查看文件前面n行
    • 格式:head [选项] [文件] - 默认是10行
    • 选项:
      • -n:显示文件前面n行,
  • tail

    • 功能:查看文件后面n行
    • 格式:tail [选项] [文件] - 默认是10行
    • 选项:
      • -n:显示文件后面n行

wc & 特殊符号

  • wc

    • 功能:统计文件内容
    • 格式:wc [选项] [文件名]
    • 选项:
      • -l:统计行数
      • -c:统计字节数
      • -w:统计单词数
  • 特殊符号

    • *:表示任意多个字符
    • ?:表示任意单个字符
    • [起点-终点]:表示一段数值范围,范围只能是0-9的数值
    • {}:数组,表示多个固定的值,用逗号分隔
    • |:管道符号,将前面命令输出的内容交给管道后面的命令操作执行
    • >:覆盖输出
    • >>:追加输出

查看文件内容

which

  • 功能:在系统中查找命令的绝对路径(全局)- 从PATH环境变量
  • 格式:which [系统命令]whereis [系统命令]

find

  • 格式:find [查找路径] [条件1] [参数1] [条件2] [参数2] [...]
  • 选项:
    • -a:并且,和(默认)
    • -o:或者,条件满足其一即可
    • -name:按文件名查找
    • -i:忽略大小写
    • -size:按文件大小
      • 加上+表示大于该大小的文件
      • 加上-表示小2于该大小的文件
      • 不加符号则等于该大小的文件
    • -user:按文件所有者
    • -group:按文件所属组
    • -type:按文件类型,f-普通文件;b-块设备文件;d-目录文件;l-链接文件
    • -maxdepth:按目录深度,不单独使用,放在所有条件的最后面
    • -mtime:按文件最后的修改时间
      • -time +N:查找N天之前的
      • -time -N:查找最近N天之内
      • -time N:查找前第N+1天到前第N天
    • -exec:对找到符合条件的文件或目录进行二次操作
      • 格式:find ... -exec 处理命令 {} \;
      • 例子:find /-user xxx -type f -exec cp {} /mnt \;
      • 解读:{}表示find的每一个查询结果,遇到\;结束

补充-关于动作:

  • find 默认有且省略了一个动作,就是 -print,找到文件后显示

    Pasted image 20220722165225.png

  • 除了 -print 之外还有 -ls :长格式显示这个文件

    Pasted image 20220722165248.png

  • 找到文件后对这个文件进行复制操作:-ok cp Pasted image 20220722165308.png

  • 找到文件后删除这个文件:-delete Pasted image 20220722165318.png

locate

  • 功能:利用系统数据库进行文件查找

  • 格式:locate [文件名] - 查找文件

  • 格式:updatedb - 强制刷新locate数据库

    Pasted image 20220722163013.png

  • 说明:由于是依赖于数据库进行查找,所以需要对数据库进行更新才能查找;在数据库未更新前的文件是找不到的,只有得到文件后进行刷新才能检索得到

  • 刷新数据库:系统重启或使用updatedb命令强制刷新数据库