美文网首页
Linux 增删改查移动复制文件或目录命令

Linux 增删改查移动复制文件或目录命令

作者: 东方三篇 | 来源:发表于2021-01-05 15:25 被阅读0次

    增加

    1.增加目录

      mkdir 文件夹名称   # 在当前目录下新增文件夹 
      mkdir /var/www/web/newdir    # 在路径 /var/www/web/ 下增加 目录 newdir
    
    1. 新增文件
      # 在命令行直接创建文件
        dd if=...    of=...   bs=... count=...  # if表示输入文件,of表示输出文件,bs默认指定了以字节为单位的块大小(单位有字节c,字w,块B,千字节m,兆字节m,吉字节G),count表示需要被复制的块数;
    
      touch filename;    # touch使用一个并不存在的文件名作为参数,创建空白文件
    
      #  在本地编辑器里创建好文件,然后上传到指定目录下更为常用,只是需要安装一些上传文件的 yum 包
      
    

    删除 (注:在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了。)

      rm [option] dirname 
      # option 有以下选项
       #  -i 删除前逐一询问确认。
      #  -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
      #  -r 将目录及以下之档案亦逐一删除。
      rm -r Finished  # 将 Finished 子目录及子目录中所有档案删除。
      rm  test.txt  # 是否删除 一般文件 "test.txt"? y  
      rm  homework   # 无法删除目录"homework": 是一个目录  
      rm  -r  homework  # 是否删除 目录 "homework"? y 
      rm  -r  *    # 删除当前目录下的所有文件及目录
    
      rm  -rf  要删除的文件名或目录   # 删除当前目录下的所有文件及目录,并且是直接删除,无需逐一确认
      rm  -rf   test.txt
      rm  -rf   test/
    

    查找

    1.find 命令用于查找文件或目录
      find ./ -type f -name ‘文件名’
    

    参数依次是:find命令,这里的./指的是当前路径,-type是选择文件类型,文件类型可以是 f 、d、 l,f是文件类型,d是目录类型,l是链接类型等。-name 按照名称查找,文件名称要加引号。

    -type #按照类型查找
    ​ find ./ -type f # 查找当前目录 并且显示隐藏文件 默认显示目录及目录以下所有符合的文件

    -name #按照名称查找
    ​ find ./ -type f -name "1.txt" # 按照名称查找
    ​ find ./ -type f -name "*.txt" # 匹配以.txt结尾的文件
    ​ find ./ -type f -name "1.t?t" # 通配符匹配 ?代表任意单个字符 大部分命令都支持

    -size # 按照大小查找 k M G
    find ./ -size +50M
    find ./ -size +50M -size -100M # 并且关系 查找文件大于50 并且小于100
    ​ 查找大于80并且小于90的文件
    ​ find ./ -type f -size +80M -size -90M

    -maxdepth # 按照深度等级查找
    find ./ -maxdepth 1 -size +50M # 查找1及目录大于50M的文件
    ​ find ./ -maxdepth 2 -size +50M # 查找2及目录大于50M的文件

    2. whereis 命令

    该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
    该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

        whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
    
        whereis bash  #使用指令"whereis"查看指令"bash"的位置
    

    -b  只查找二进制文件。
    -B<目录>  只在设置的目录下查找二进制文件。
    -f  不显示文件名前的路径名称。
    -m  只查找说明文件。
    -M<目录>  只在设置的目录下查找说明文件。
    -s  只查找原始代码文件。
    -S<目录>  只在设置的目录下查找原始代码文件。
    -u  查找不包含指定类型的文件。

    3. locate命令

    需要安装依赖,这里不做深入探讨可参考菜鸟教程:https://www.runoob.com/linux/linux-comm-locate.html

    修改

    具体操作参考: https://www.jianshu.com/p/9c13e1f33fc2

    移动(修改文件名)

    mv [options]  源文件或目录  目标文件或目录
    
       -b:若需覆盖文件,则覆盖前先行备份。 
      -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
      -i :若目标文件(destination) 已经存在时,就会询问是否覆盖!
      -u:若目标文件(destination) 已经存在,且 源文件source 比较新,才会更新(update)。
      -t :即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
    
    mv test.log test1.txt  # 将文件test.log重命名为test1.txt
    mv test1.txt test3  # 将test1.txt文件移到目录test3中
    mv log1.txt log2.txt log3.txt test3  # 将文件log1.txt,log2.txt,log3.txt移动到目录test3中
    mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt  # 命令将log1.txt ,log2.txt, log3.txt 三个文件移到 test4目录中去
    # (-t :即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。)
    
    mv -i log1.txt log2.txt # 将文件log1.txt改名为log2.txt,如果log2.txt已经存在,则询问是否覆盖
    mv -f log3.txt log2.txt  # 将文件log3.txt改名为log2.txt,即使log2.txt已经存在,也是直接覆盖掉
    
    mv dir1 dir2  # 如果目录dir2不存在,将目录dir1改名为dir2; 如果目录dir2存在,则将目录dir1移动到目录dir2中。
    
    mv * ../  # 移动当前文件夹下的所有文件到上一级目录
    
    mv test3/*.txt test5  # 把当前目录的一个子目录里的文件移动到另一个子目录里
    
    mv log1.txt -b log2.txt  # 文件被覆盖前做简单备份,前面加参数-b
    

    复制

        cp [options….] source(s) destination
    
         cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
    

    相关文章

      网友评论

          本文标题:Linux 增删改查移动复制文件或目录命令

          本文链接:https://www.haomeiwen.com/subject/aotwoktx.html