linux 中操作目录和文件的命令mkdir、touch、rmdir、rm、cp、mv

在linux中一切皆文件。当然目录也是文件

创建目录(文件)

mkdirmake directory 的缩写

用法:mkdir [选项]... 目录...

用法:touch [选项]... 文件...

用touch是直接在磁盘中创建一个空文件,用vi/vim打开不存在的文件是创建的临时文件。要保存后才会存入磁盘

    mkdir --help        # 查看说明
    mkdir /dir          # 在根目录下建立名为dir的目录
    mkdir -p ./d1/d2/d3 # 在当前目录下建立多级目录。 -p 表示需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
    mkdir -v ./dir      # 在当前目录下建立名为dir的目录 ./可以省略 -v 表示在根目录下建立名为dir的目录

    touch --help        # 查看说明
    touch file.txt      # 在当前目录下创建名 file.txt 的文件

删除目录(文件)

rmdirremove directory 的缩写,rmdir 删除指定的空目录,只能删除空目录

用法:rmdir [选项]... 目录...

rm -rf / 直接删除根目录,并且不做任何提示,使用时一定要注意。要删除文件建议通过 xftpfilezilla 这些ftp远程工具来实现。尽量不使用 rm 命令

用法:rm [选项]... [文件]...

删除指定文件(目录),这是一个很危险的命令

    rmdir --help        # 查看说明
    rmdir ./dir         # 删除名为dir的目录。如果目录不为空会报错提示
    rmdir -p ./d1/d2/d3 # 删除指定目录及其各个上级文件夹
    rmdir -v ./dir      # 输出每个被处理目录的详情和诊断信息

    rm -rf /  #直接删除根目录,并且不做任何提示 r表示递归删除目录及其内容 f表示强制删除。忽略不存在的文件,不提示确认
    rm -r ./dir         # 删除当前目录下目录 ./可以省略,删除目录要加上 -r
    rm file.txt         # 删除当前目录下名为file.txt的文件 ./表示当前目录,可以省略
    rm -r ./dir a.txt   # 同时删除名为当前目录下名为dir的目录和名为a.txt的文件
    # 选项说明
    # -r    递归删除目录及其内容
    # -f    强制删除。忽略不存在的文件,不提示确认
    # -v    详细显示进行的步骤
    # -i    每次删除前提示确认
    # -I    在删除超过三个文件或者递归删除前提示一次并要求确认;此选项比 -i 提示内容更少

复制目录(文件)

cpcopy 的缩写,复制目录要加上选项参数-r

用法:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...

    cp --help                   # 查看说明
    cp ./dir1/file.txt ./dir2   # 将目录dir1中的文件file.txt复制到目录dir2中
    cp -r dir1 dir2             # 把目录dir1包括dir1中的内容复制到目录dir2中
    # 选项说明
    # -r 或者 -R    递归复制目录及其子目录内的所有内容
    # -v    显示详细的进行步骤
    # -p    保持指定的属性(默认:模式,所有权,时间戳)
    # -i    覆盖前询问
    # -a    相当于同时使用 -r和-p

移动(重命名)目录(文件)

mvmove 的缩写

用法:mv [选项]... [-T] 源文件 目标文件
 或:mv [选项]... 源文件... 目录
 或:mv [选项]... -t 目录 源文件...
将<源文件>重命名为<目标文件>,或将<源文件>移动至指定<目录>

    mv --help       # 查看说明
    mv dir dir1     # 将目录dir移动到目录dir1中,dir1目录存在
    mv dir dir1     # 将目录dir重命名为dir1,dir1目录不存在
    # 选项说明
    # -f    覆盖前不询问
    # -i    覆盖前询问
    # -n    不覆盖已存在文件
    # -v    对正在发生的操作给出解释

复制或移动文件常用的通配符

主要是用来操作多个名称相似的文件

* 匹配任意字符或者字符串

匹配单个字符串

[xyz] 匹配xyz中的任意一个字符

[a-z][A-Z] 匹配小写和大写字母a到z和A到Z中的任意一个字符

^[a-z] 匹配结果和[a-z]相反

[0-9] ^[0-9] 规则和[a-z]类型

    mkdir dir1 dir2 dir3        # 在当前目录下创建dir1,dir2,dir3目录
    touch dir1/file1.txt dir1/file2.txt dir2/file5.txt
    cp dir*/file* dir3 -v       # 把目录到的文件复制目录dir3中,有的选项可以放在末尾
posted @ 2019-07-26 12:28  氵灬  阅读(445)  评论(0)    收藏  举报