美文网首页
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