浅析Linux常用文件管理命令

一、文件管理基本命令

1、pwd

pwd显示当前的工作目录(显示当前shell CWD的绝对路径)
    用法:pwd [option]
    选项:
        -P  显示真实物理路径
        -L  显示链接路径(默认)

拓展:

•每个shell和系统进程都有一个当前的工作目录
•绝对路径:以正斜杠开始 完整的文件的位置路径 可用于任何想指定一个文件名的时候

•相对路径:不以斜线开始 指定相对于当前工作目录或某目录的位置 可以作为一个简短的形式指定一个文件名

2、cd

cd 改变目录(使用绝对或相对路径)
    格式 cd [dir]
    选项:
        -P  使用物理目录结构而不跟随符号链接
        -L  强制遵循符号链接
        ..  切换至父目录
        -   切换至以前的工作目录

3、ls

ls:列出当前目录的内容或指定目录
    格式:ls [options] [files_or_dirs]
    选项:
        -a  包含隐藏文件
        -l  显示额外的信息
        -R  目录递归通过
        -ld 目录和符号链接信息
        -1  文件分行显示
        –S  按从大到小排序
        –t  按mtime排序
        –u  配合-t选项,显示并按atime从新到旧排序
        –U  按目录存放顺序显示
        –X  按文件后缀排序

拓展:

•Linux下的文件类型(ls-l列出行首第一个字母表示文件类型) ◦◦普通文件

◦d 目录文件
◦b 块设备
◦c 字符设备
◦l 符号链接文件
◦p 管道文件pipe
◦s 套接字文件socket

4、file

file:查看文件系统类型
    格式:file [option] fielname..
    选项
        -b:列出文件识别的结果,不显示文件名
   

5、stat

stat:显示文件状态(metadata, data,及三个时间戳)
    格式:stat [file]
    时间戳:
        access time 访问时间,atime,读取文件内容
        modify time 修改时间, mtime,改变文件内容(数据)
        change time 改变时间, ctime,元数据发生改变

6、touch

touch:创建空白文件和刷新时间戳
    格式:touch [OPTION]... FILE...
    选项:
        -a  仅改变 atime和ctime
        -m  仅改变 mtime和ctime
        -t  [[CC]YY]MMDDhhmm[.ss]指定atime和mtime的时间戳
        -c  如果文件不存在,则不予创建

拓展:

•文件名最长255个字节,包括路径在内文件名称最长4095个字节

•蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文
 件 灰色-->其他文件

•除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们

•标准Linux文件系统(如ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL

7、cp

cp:复制文件和目录
    格式  cp [OPTION]... [-T] SOURCE DEST
        cp [OPTION]... SOURCE... DIRECTORY
        cp [OPTION]... -t DIRECTORY SOURCE...
    选项:
        -i  覆盖前提示
        -n 不覆盖,注意两者顺序
        -r, -R 递归复制目录及内部的所有内容
        -a 归档,相当于-dR --preserv=all
        -u --update 只复制源比目标更新文件或目标不存在的文件
        -b 目标存在,覆盖前先备份,形式为 filename~       
        -d --no-dereference --preserv=links 不复制原文件,只复制链接名
        --backup=numbered 目标存在,覆盖前先备份加数字后缀
        --preserv[=ATTR_LIST]
            mode: 权限
            ownership: 属主属组
            timestamp:
            links
            xattr
            context
            all

8、mv

mv:移动文件和重命名
    格式:mv [OPTION]... [-T] SOURCE DEST
        mv [OPTION]... SOURCE... DIRECTORY
        mv [OPTION]... -t DIRECTORY SOURCE...
    选项:
        -i 交互式
        -f 强制
        -b 目标存在,覆盖前先备份

9、rm

rm:删除文件和目录 
    格式:rm [OPTION]... FILE...
    选项:
        -i 交互式
        -f 强制删除
        -r 删除递归目录树
        --no-preserve-root 删除/

10、tree

tree:显示目录树
    格式:    
        -d: 只显示目录
        -L level:指定显示的层级数目
        -P pattern: 只显示由指定pattern匹配到的路径

11、mkdir

mkdir:创建目录

    格式:[OPTION]... DIRECTORY...
    选项
        -p: 存在于不报错,且可自动创建所需的各目录
        -v: 显示详细信息
        -m MODE: 创建目录时直接指定权限   

12、rmdir

rmdir:删除空目录
    格式:rmdir [OPTION]... DIRECTORY...
    选项:
        -p: 递归删除父空目录
        -v: 显示详细信息

二、文件通配符

  通配符是用来模糊搜索文件的。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~pipixia 用户pipixia家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z]:字母
[A-Z]:字母
[wang] 匹配列表中的任何的一个字符
[^wang] 匹配列表中的所有字符以外的字符

预定义的字符类(man 7 glob)

[:alnum:]   任意数字或字母
[:alpha:]   任意大小写字母
[:blank:]   水平空白字符
[:cntrl:]   控制(非打印)字符
[:digit:]   任意数字,相当于0-9
[:graph:]   图形字符
[:lower:]   任意小写字母
[:print:]   可打印字符
[:punct:]   标点符号
[:space:]   水平或垂直空白字符
[:upper:]   任意大写字母
[:xdigit:]  十六进制字符![](https://img2018.cnblogs.com/blog/1633648/201904/1633648-20190414160527779-1076583642.jpg)

总结

以上所述是小编给大家介绍的Linux常用文件管理命令,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家!