• 文件目录管理命令


    文件目录复制命令cp
          单源文件复制: cp [OPTION]...[-T] SOURCE DEST    

                 如果目标不存在,则事先创建此文件,并复制源文件的内容至目标文件中

                 如果目标存在,且为非目录文件,则覆盖

                 如果目标存在,且为目录文件,则先在目标目录下创建一个与源文件同名的文件,并复制源文件的内容

          多源文件复制:cp [OPTION]...SOURCE...DIRECTORY
                                   cp [OPTION]...-t DIRECTORY SOURCE...

                  如果目标不存在,错误

                  如果目标存在,并且非目录,错误

                  如果目标存在,且为目录,则分别复制每个文件至目标目录中,并保持原名

          目录复制:

                  如果目标不存在,则先创建目录,则按照文件复制的形式,将目录内的文件复制到目标目录中

                  如果目标存在,并且是文件,错误

                  如果目标存在,且是目录,将整个目录复制到目标目录中

    例子:将一个a目录中所有内容,复制到b目录中

      1.      cp -r a b        #目录必须不存在   

      2.      cp -r a/* b      #目录必须存在

                  常用选项:

                         -i   交互式复制,覆盖之前提醒用户确认

                         -f   强制覆盖目标文件

                         -r(-R) 递归复制目录

                         -d  复制符号链接文件本身,而非其指向的的源文件 

                         -a  -dR -preserve=all,archive,用于实现归档

                         --preserve=

                                    mode:权限

                                    ownership:属主和属性

                                    timestamps:时间戳

                                    context:安全标签

                                    xattr:扩展属性

                                    links:符号链接

                                    all:上述所有属性

    例子:切换到/tmp目录下,同时创建data1、data2、data3,共三个目录,分别在data1、data2、data3目录下创建三个文件,名字分别叫file1、file2、file3

    [root@oldboy ~]# touch {1..3}.txt #创建3个txt文件

    //将1.txt文件复制至/tmp目录中
    [root@oldboy ~]# cp 1.txt /tmp/

    //如果2.txt复制过来想保持原文件名,修改名称为2.txt.bak
    [root@oldboy ~]# cp 2.txt /tmp/2.txt.bak
    [root@oldboy ~]# ls /tmp/
    1.txt
    2.txt.bak

    //如果复制过来想保持原来的属性,-p保持源文件或目录的属性

    //复制目录只需要使用-r参数,递归复制
    [root@oldboy ~]# cp -r a /tmp/
    [root@oldboy ~]# ls /tmp/
    1.txt

    2.txt.bak
    a

    //将多个文件拷贝同一个目录 #
    [root@oldboy ~]# cp -v ?.txt /tmp/
    "1.txt" -> "/tmp/1.txt"
    "2.txt" -> "/tmp/2.txt"
    "3.txt" -> "/tmp/3.txt"
    "4.txt" -> "/tmp/4.txt"

    通配符
           ?通配任意单个字符
            * 通配任意多个字符

    # cp -v /etc/hosts /etc/hosts.bak
    # cp -v /etc/{hosts,hosts.bak}
    # cp -v /etc/hosts{,.bak}

    文件目录移动命令mv(剪切)重命名
    mv [OPTION]...[-T] SOURCE DEST
    mv [OPTION]...SOURCE...DIRECTORY
    mv [OPTION]...-t DIRECTORY SOURCE...

    //移动1.txt文件至/tmp目录
    [root@oldboy ~]# mv 1.txt /tmp/
    [root@oldboy ~]# ls /tmp/
    1.txt

    //移动2.txt文件至/tmp目录并修改名称2_test.txt
    # mv 2.txt /tmp/2_test.txt

    //移动多个文件或多个目录至同一目录下
    [root@oldboy ~]# mv {3..6}.txt /opt/
    [root@oldboy ~]# ls /opt
    3.txt 4.txt 5.txt 6.txt

    [root@oldboy ~]# mkdir dir{1..4}
    [root@oldboy ~]# mv dir{1..4} /opt/
    [root@oldboy ~]# ls /opt/
    3.txt 4.txt 5.txt 6.txt dir1 dir2 dir3 dir4

    文件目录删除命令 rm remove

    rm/mv:

              自己做一个回收站
    mv [OPTION]...FILE...
            -r 递归
           -v 详细过程
           -f 强制删除

    //删除文件,默认会提醒是否删除文件
    [root@oldboy ~]# rm /opt/3.txt
    rm:是否删除普通空文件 "/opt/3.txt"?

    //强制删除文件,不提醒
    [root@oldboy ~]# rm -f /opt/4.txt
    [root@oldboy ~]# ls /opt/
    3.txt 5.txt 6.txt dir1 dir2 dir3 dir4

    cd命令常见用法:
    . 表示用户所处的当前目录
    ..表示上级目录
    ~ 表示当前用户自己的家目录

    cd - //切换上次所在目录
    cd ~ //切换当前用户家目录
    cd //切换当前用户家目录
    cd . //.代表当前目录,一般拷贝、移动等情况下使用
    cd ..//切换至当前目录的上级目录

    命令提示符:
    [root@oldboy ~]#
    root:当前登录用户名
    oldboy:当前主机名
             hostnamectl set-hostname oldgirl #改主机名
    ~:当前所在目录名,不带路径
    #:代表管理员,$表示普通用户
    课外作业:命令提示符带颜色

    echo $PS1 命令提示符的环境变量
    [u@h W]$

    Linux命令的组成
    命令字 [命令选项] [命令参数]

    报错信息:
    1.-bash: AD: command not found
    #命令找不到
    2.ls: invalid option -- 'y'
    #命令选项错了
    3.ls: cannot access asdad: No such file or directory
    #参数不对

    专业输出错误

    ls命令:
    list
           -a --all 列出所有包括隐藏的文件
           -l 以长格式的方式列出文件信息
           -al 列出所有包括隐藏的文件,以长格式列出
    短格式可以组合

    目录管理命令
    mkdir
          make directory
          -p
    tree
           -L 按目录级别列出tree
           -d 只列出目录,不列出文件

    文件管理命令
    创建或更改时间
    touch



  • 相关阅读:
    论语学习系列(一)
    如何编译生成 dll
    Lua学习系列(二)
    Lua学习系列(一)
    Promise对象
    ... 扩展运算符
    class类
    proxy [ˈprɒksi] 代理
    HBuilder 打包流程
    Generator [ˈdʒenəreɪtə(r)] 函数结构
  • 原文地址:https://www.cnblogs.com/xmtxh/p/11663531.html
Copyright © 2020-2023  润新知