zoukankan      html  css  js  c++  java
  • Linux文件管理_1

      在Linux中,全部都是文件,所以文件管理在Linux上格外重要,在我们学习文件管理前,我们先学习几个关于文件的命令,之后才能更好的学习文件管理。
      目录
        pwd命令
        cd命令
        列出文件内容ls
        查看文件状态stat
        创建文件touch
        文件通配符
        复制命令cp
        移动与重命名mv
        删除rm
        显示目录树tree
        创建文件夹mkdir
        删除文件夹rmdir
        查看文件类型file
        拓展:rename&&shred

    显示当前工作目录

      每个shell和系统进程都有一个当前的工作的目录
      CWD:current work directory
      显示当前的shell CWD的绝对路径pwd
        打印工作目录(当前所在目录)
      参数:
        -P 显示真实物理路径
        -L 显示连接路径(默认)

    改变目录

      格式:cd [option] dir
      作用:改变目录
        切换到父目录:cd ..
        切换到当前用户主目录:cd
        切换至以前的工作目录:cd –
      选项:-P 直接进入原目录(非链接目录)
      相关的环境变量:
        PWD:当前目录文件
        OLDPWD:上一次目录路径  

    列出当前目录的内容或指定目录

      格式:ls [option] [files|dirs]
      作用:列出当前目录的内容或指定目录
      用法:
         ls -a 显示所有文件
         ls -A 显示所有文件,除.、..
         ls -l 长列出
         ls -R 递归
         ls -ld 显示指定目录的详细信息。
         ls -1 竖显示
         ls -S 按文件大小降序排列
         ls -t 按修改时间(mtime)从新到旧排列
         ls -ut 按访问时间(atime) 从新到旧排列
         ls -U 按文件存放的先后顺序
         ls -X 按文件后缀排序
         ls -i 显示文件的inode号
         ls -Z 显示文件的context值

     

    查看文件的状态

      命令:stat
      文件:metadata,data
      三个时间戳:
          access time:访问时间,atime,读取文件内容
          modify time:修改时间,mtime,改变文件内容(数据)
          change time:改变时间,ctime,元数据发生改变

    创建空文件和刷新时间

      格式:touch [option]… file …
      作用:创建空文件和刷新时间
      OPTION:
        -a 仅改变atime和ctime
        -m 仅改变mtime和ctime
        -t [[CC]YY]MMDDhhmm[.ss]
          指定atime和mtime的时间戳
      -c 如果文件不存在,则不予创建
      touch filename :
        当文件不存在时,则创建一个空文件,名为filename
        当文件已存在时,则更新期时间戳
        -a 仅更新atime,ctime
        -m 仅更新mtime, ctime
        touch filename 更新全部时间戳。

    文件通配符

      在好多时候我们可能需要查找有相同字符,或者有一定规则的名字的文件或目录,如果我们还是利用手工一点一点的去敲出来,无疑会浪费我们好多时间,此时,我们可以利用通配符来进行文件匹配,可以较少好多我们的时间,快捷,方便,首先我们看看都有那些通配符:
        * 匹配零个或多个字符
        ? 匹配任何单个字符
        ~ 当前用户家目录
        ~mage 用户mage家目录
        ~+ 当前工作目录
        ~- 前一个工作目录
        [0-9] 匹配数字范围
        [a-z]: 字母
        [A-Z]: 字母
        [wang] 匹配列表中的任何的一个字符
        [^wang] 匹配列表中的所有字符以外的字符

      还有一种就是预定义的字符类,同样是作为通配符使用
      预定义的字符类: #man 7 glob
        [:digit:]: 任意数字, 相当于0-9
        [:lower:]: 任意小写字母
        [:upper:]: 任意大写字母
        [:alpha:]: 任意大小写字母
        [:alnum:]: 任意数字或字母
        [:blank:]: 水平空白字符
        [:space:]: 水平或垂直空白字符
        [:punct:]: 标点符号
        [:print:]:可打印字符
        [:cntrl:]: 控制(非打印)字符
        [:graph:]: 图形字符
        [:xdigit:]: 十六进制字符
      接下来我们通过一些演示来说明如何使用通配符
        1、 显示/var目录下所有以l开头, 以一个小写字母结尾, 且中间出现至少一位数字的文件或目录


        2、 显示/etc目录下以任意一位数字开头, 且以非数字结尾的文件或目录


        3、 显示/etc/目录下以非字母开头, 后面跟了一个字母及其它任意长度任意字符的文件或目录


        4、 显示/etc/目录下所有以rc开头, 并后面是0-6之间的数字,其它为任意字符的文件或目录

    复制文件和目录cp

      命令:cp
      格式:cp[option]...[-T] source dest
        cp[option]...source...directory
        cp[option]... -t directory source
      说明:
        cp A B
         A是文件
          1.如果目标不存在,新建B,并将A中的数据拷贝到B中
          2.如果目标存在,且B是文件,将A中的数据覆盖到B中
          3.如果B是目录,在B下新建一个与源文件同名的文件并将内容进去

         A是目录:(需要参数 -r)
          1.如果B不存在,则创建指定目录,则创建指定目录,复制A目录下文件到B目录
          2.如果B存在:
            1.如果B是文件:报错
            2.如果B是目录:则将包括A目录一起复制到B

       cp A B C D H
         如果ABCD是文件:
          当 H 是目录且存在的情况下才能拷贝
          如果ABCH是目录:(必须用 -r)
          当 H 是目录且存在的情况下才能拷贝,将包括ABCD目录一起复制到H下

       cp常用选项:(cp本身是直接复制原文件的,而不是链接文件)
         -i:prompt before overwrite 覆盖前提示
         -n:do not overwrite an existing file 不覆盖已存在的文件(也不追加)
         -r,-R:copy directories recursively 递归拷贝目录以及文件内容
         -a:same as -dR --preserve=all 拷贝全部文件且权限不变
         -d:same as --no-dereference --preserve=links
            若文件为链接文件,则只复制链接属性,不复制源文件本身
         -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
         -f:当覆盖时,如目的文件的缺少写权限时,强制删除目的文件,并新建再填充内容。当有-n时,无效
         -v:显示拷贝的过程

    移动和重命名文件

     

      格式:mv [OPTION]... A(源)... B(目的)
      作用:移动和重命名文件
      参数:-i: 交互式(会询问)
         -f: 强制(不询问)
      说明:一般我们会用这个命令进行移动和重命令,如果我们将文件移动到不同的文件,就是移动,如果我们将文件移动到原目录,就是重命令

    删除操作

      格式:rm [OPTION]... FILE...
      作用:删除文件或目录
      参数:-i: 交互式
         -f: 强制删除
         -r: 递归(可以递归删除文件和目录)

    目录操作

      tree 显示目录树
        -d: 只显示目录
        -L level: 指定显示的层级数目
        -P pattern: 只显示由指定pattern匹配到的路径
      mkdir 创建目录
        -p: 存在于不报错, 且可自动创建所需的各目录
        -v: 显示详细信息
        -m MODE: 创建目录时直接指定权限
      rmdir 删除空目录(可以用rm代替)
        -p: 递归删除父空目录
        -v: 显示详细信息

    确定文件内容

      格式:file [options] <filename>...
       常用选项:
        -b 列出文件辨识结果时, 不显示文件名称
        -f filelist 列出文件filelist中文件名的文件类型
        -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
        -L 查看对应软链接对应文件的文件类型
        --help 显示命令在线帮助

    拓展:

      rename:批量改名 '.txt' '.doc'  *.txt
      shred 粉碎功能(不做演示)

  • 相关阅读:
    华为云发送邮件
    activiti act_re_model 分析
    tengine upstream
    zuul压力测试与调优
    idea 快捷键
    kubernetes helm
    编写高质量代码–改善python程序的建议(二)
    编写高质量代码--改善python程序的建议(一)
    总结OpenvSwitch的调试经验
    提高SDN控制器拓扑发现性能
  • 原文地址:https://www.cnblogs.com/duzhaoqi/p/7210414.html
Copyright © 2011-2022 走看看