首页 > 系统相关 >Linux对文件夹操作(复制,移动)

Linux对文件夹操作(复制,移动)

时间:2023-07-27 15:34:59浏览次数:39  
标签:tmp 文件 cangls mv 文件夹 复制 Linux root localhost

复制文件夹cp

cp -a vue vue-copy

将vue 文件夹下面的所有文件,复制到同目录下vue-copy文件夹下面
image

  • -a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;
  • -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
  • -i:询问,如果目标文件已经存在,则会询问是否覆盖;
  • -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
  • -s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
  • -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
  • -r:递归复制,用于复制目录;
  • -u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

cp 命令基本用法

cp 命令既可以复制文件,也可以复制目录。我们先来看看如何复制文件,例如:

[root@localhost ~]# touch cangls
#建立源文件
[root@localhost ~]# cp cangls /tmp/
#把源文件不改名复制到 /tmp/ 目录下

如果需要改名复制,则命令如下:

[root@localhost ~]# cp cangls /tmp/bols
#改名复制

如果复制的目标位置已经存在同名的文件,则会提示是否覆盖,因为 cp 命令默认执行的是“cp -i”的别名,例如:

[root@localhost ~]# cp cangls /tmp/
cp:是否覆盖"/tmp/cangls"?y
#目标位置有同名文件,所以会提示是否覆盖

接下来我们看看如何复制目录,其实复制目录只需使用“-r”选项即可,例如:

[root@localhost ~]# mkdir movie
#建立测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/
#目录原名复制

移动文件夹mv

[root@localhost ~]# mv 【选项】 源文件 目标文件

移动之后,源文件会被删除,类似剪切

mv a.txt dist 

移动a.txt文件到dist文件夹下面

  • -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
  • -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
  • -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
  • -v:显示文件或目录的移动过程;
  • -u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

【例 1】移动文件或目录。

[root@localhost ~]# mv cangls /tmp
#移动之后,源文件会被删除,类似剪切
[root@localhost ~]# mkdir movie
[root@localhost ~]# mv movie/ /tmp
#也可以移动目录。和 rm、cp 不同的是,mv 移动目录不需要加入 "-r" 选项

如果移动的目标位置已经存在同名的文件,则同样会提示是否覆盖,因为 mv 命令默认执行的也是 “mv -i” 的别名,例如:

[root@localhost ~]# touch cangls
#重新建立文件
[root@localhost ~]# mv cangls /tmp
mv:是否覆盖"tmp/cangls"?y
#由于 /tmp 目录下已经存在 cangls 文件,所以会提示是否覆盖,需要手工输入 y 覆盖移动

【例 2】强制移动。
之前说过,如果目标目录下已经存在同名文件,则会提示是否覆盖,需要手工确认。这时如果移动的同名文件较多,则需要一个一个文件进行确认,很不方便。

如果我们确认需要覆盖已经存在的同名文件,则可以使用 “-f” 选项进行强制移动,这就不再需要用户手工确认了。例如:

[root@localhost ~]# touch cangls
#重新建立文件
[root@localhost ~]# mv -f cangls /tmp
#就算 /tmp/ 目录下已经存在同名的文件,由于"-f"选项的作用,所以会强制覆盖

【例 3】不覆盖移动。
既然可以强制覆盖移动,那也有可能需要不覆盖的移动。如果需要移动几百个同名文件,但是不想覆盖,这时就需要 “-n” 选项的帮助了。例如:

[root@localhost ~]# ls /tmp
/tmp/bols /tmp/cangls
#在/tmp/目录下已经存在bols、cangls文件了
[root@localhost ~]# mv -vn bols cangls lmls /tmp/、
"lmls"->"/tmp/lmls"
#再向 /tmp/ 目录中移动同名文件,如果使用了 "-n" 选项,则可以看到只移动了 lmls,而同名的 bols 和 cangls 并没有移动("-v" 选项用于显示移动过程)

修改文件的名称mv

mv a.txt b.txt

将a.txt 的文件名修改为b.txt的文件名, 里面的内容不会修改

标签:tmp,文件,cangls,mv,文件夹,复制,Linux,root,localhost
From: https://www.cnblogs.com/Mr-lil/p/17585022.html

相关文章

  • Linux PHP编译安装
    PHP编译安装。1.下载PHP源码包,wgethttps://www.php.net/distributions/php-8.2.8.tar.gz2.进入安装源码包目录,执行./configure命令配置,PHP的核心扩展和常用扩展。3.编译make,安装makeinstall../configure--prefix=/usr/local/php--enable-fpm--with-openssl--enable......
  • Linux 如何删除乱码文件-inode删除
    步骤一使用ls-li命令查看文件的inodels-li红框标识的为文件的inode步骤二按inode删除文件删除文件find-inum28577716-delete上面的数字为查询到的inode删目录find-inum28577716-execrm-rf{};上面的数字为查询到的inode......
  • linux查询tcp连接数并排序
    查询已连接[root@rabbitmq-1rabbitmq]#netstat-an|awk'{print$5}'|cut-d:-f1|sort|uniq-c|sort-rn3393172.16.229.2532995172.16.47.212400172.16.229.232186172.16.229.254149172.16.229.240102172.16.229.218这个......
  • BC-Linux for Euler部署K8S-1.27
    目录1、介绍及说明1.1主机信息1.2部署组件及规划2、基础优化2.1开启ipv62.2修改文件最大数2.3配置hosts解析2.4内核参数优化2.5selinux关闭2.6防火墙2.7ipvs支持2.8内核版本要求2.9yum源配置3、部署3.1docker及cri-docker安装及配置-所有主机3.1.1docker3.1.2cri-......
  • 使用Python统计下桌面某个文件夹下(含多层子文件夹)具体文件的数量(方法二)
    大家好,我是皮皮。一、前言前几天在Python最强王者群【东哥】问了一个Python自动化办公的问题,一起来看看吧。这个是他自己在实际工作中遇到的需求,正好遇到了这个问题,想着用Python来实现下。二、实现过程上一篇文章中已经分享了一个方法,这一篇文章继续分享另外一个方法,由【小王......
  • linux常用内存相关命令总结
    查看某个pid占用物理内存的峰值 cat/proc/pid/status|grep-E"VmHWM|VmRSS"参考信息:(23条消息)Linux下查看某一进程占用的内存_Jeremy_Lee123的博客-CSDN博客 内核内存泄漏常用工具kmemleakKmemleak是Linux内核提供的一个内存泄漏检测工具(内核3.1.5之后得版本支......
  • pgsql备份工具:pg_rman在Linux下的安装、设置与使用
    https://blog.csdn.net/Absurdreal/article/details/128872628?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-128872628-blog-128017299.235%5Ev38%5Epc_relevant_sort&depth_1-utm_sou......
  • 学好Linux的必经之路
    学好Linux的必经之路学习动机的培养对于一个人学习习惯的形成有着重要的作用。当我们在学习某一个事物时,建立属于我们自己的学习方法,以此培养我们学习Linux系统的学习动机。当前,Linux系统属于热门的计算机操作系统,因此学习Linux显得重要起来。同时,学习Linux可以让我们在计算机领域......
  • 智能制造之路—从0开始打造一套轻量级MOM平台之基础平台搭建(Linux部署)
    一、前言前面我们选定了Admin.net来搭建我们的MOM快速开发平台,本章主要描述.NET6平台的Linux部署,以及记录搭建过程中坑。本次搭建我们选择某云的轻量应用服务器,系统选择CentOS7.6,数据库使用Mysql。参考配置如下: 二、搭建Linux管理工具系统搭建完毕,我们使用宝塔来管理linux......
  • 正点原子Ubuntu入门012---Linux C编程
    一、编写C语言程序Ubuntu中编写和编译是分开的,一般使用vim编辑器编写程序,或者使用vscode编写;使用gcc进行编译设置vim编辑器,一个Tab=4字节使用vi打开文件/etc/vim/vimrc,在此文件最后输入以下代码setts=4  设置vim编辑器,显示行号 测试案例:1#include......