Linux---文件操作命令(cp、mv、rm)

news2024/11/26 18:37:05

1. cp命令

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy。

语法:cp  [选项]  参数1  参数2

参数1Linux路径,表示被复制的文件或文件夹

参数2Linux路径,表示要复制去的地方

选项包括:

 cp命令复制文件:

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

cp默认为cp -i 的别名,也就是说,cp命令等于cp -i :

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

 复制目录:

[root@localhost ~]# mkdir movie
#测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/

如果在复制软链接文件时不使用 "-d" 选项,则 cp 命令复制的是源文件,而不是软链接文件;只有

加入了 "-d" 选项,才会复制软链接文件:

[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1
#复制软链接文件,不加"-d"选项
[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2
#复制软链接文件,加入"-d"选项
[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2
-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1
lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls

当执行备份、曰志备份的时候,这些文件的时间可能是一个重要的参数,这就需执行 "-p" 选项。

这个选项会保留源文件的属性,包括所有者、所属组和时间。

使用 "-l" 选项,则目标文件会被建立为源文件的硬链接;而使用了 "-s" 选项,则目标文件会被建立

为源文件的软链接。

这两个选项和 "-d" 选项是不同的,"d" 选项要求源文件必须是软链接,目标文件才会复制为软链

接;而 "-l" 和 "-s" 选项的源文件只需是普通文件,目标文件就可以直接复制为硬链接和软链接。

2. mv命令

mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move。

语法:mv  [选项]  参数1  参数2

参数1Linux路径,表示被移动的文件或文件夹

参数2Linux路径,表示要移动去的文件夹

 移动文件或目录,类似cp命令,mv命令默认执行的也是 mv -i 的别名,如果移动的目标位置已经

存在同名的文件,则同样会提示是否覆盖:

[root@localhost ~]# mv cangls /tmp
#源文件会被删除
[root@localhost ~]# mkdir movie
[root@localhost ~]# mv movie/ /tmp
#也可以移动目录。和 rm、cp 不同的是,mv 移动目录不需要加入 "-r" 选项
[root@localhost ~]# mv cangls /tmp
mv:是否覆盖"tmp/cangls"?y

目标目录下已经存在同名文件,则会提示是否覆盖,需要手工确认。这时如果移动的同名文件较

多,则需要一个一个文件进行确认,如果确认需要覆盖已经存在的同名文件,则可以使用 "-f" 选项

进行强制移动,这就不再需要用户手工确认了。

如果源文件和目标文件在同一目录中,那就是改名:

[root@localhost ~]# mv bols lmls
#把 bols 改名为 lmls

目录也可以按照同样的方法改名。

如果想要知道在移动过程中有哪些文件进行了移动,则可以使用 "-v" 选项来查看详细的移动信息:

[root@localhost ~]# touch test1.txt test2.txt test3.txt
#建立三个测试文件
[root@localhost ~]# mv -v *.txt /tmp
"test1.txt" -> "/tmp/test1.txt"
"test2.txt" -> "/tmp/test2.txt"
"test3.txt" -> "/tmp/test3.txt"

3. rm 命令

rm命令可用于删除文件、文件夹。rm命令来自英文单词:remove。

语法:rm [选项]  参数1、参数2、......、参数n

参数1、参数2......、参数N 表示要删除的文件或文件夹路径,按照空格隔开

选项包括:

rm 命令会永久性地删除文件或目录,也就是说,如果没有对文件或目录进行备份,一旦使用 rm

命令将其删除,将无法恢复。

同样的,rm 命令如果任何选项都不加,则默认执行的是"rm -i 文件名",也就是在删除一个文件之

前会先询问是否删除。

如果需要删除目录,则需要使用"-r"选项:

[root@localhost ~]# mkdir -p /test/lm/movie/jp
#递归建立测试目录
[root@localhost ~]# rm /test
rm:无法删除"/test/": 是一个目录
#如果不加"-r"选项,则会报错
[root@localhost ~]# rm -r /test
rm:是否进入目录"/test"?y
rm:是否进入目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm/movie/jp"?y
rm:是否删除目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm"?y
rm:是否删除目录"/test"?y
#会分别询问是否进入子目录、是否删除子目录

虽然 "-rf" 选项是用来删除目录的,但是删除文件也不会报错。所以,为了使用方便,一般不论是

删除文件还是删除目录,都会直接使用 "-rf" 选项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/551618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Java 核心技术面试》课程笔记(十一)

Java 提供了哪些 IO 方式? 典型回答 Java IO 基于不同的 IO 抽象模型和交互方式,可以分为: BIO,传统的 java.io 包,它基于流模型实现。 提供了我们最熟知的⼀些 IO 功能,比如 File 抽象、输入输出流等。交…

安装编译PostgreSql15.3.0

一、下载源码 方式一 官网手动下载 https://www.postgresql.org/download/. 解压 tar -zxvf postgresql-14.2.tar.gz方式二 git clone git clone https://github.com/postgres/postgres.git解压或下载后计入postgres目录 cd postgres-15.3二、创建目录 用root账户创建 创建…

[iOS开发]<多线程-NSOperation操作队列NSOperationQueue>

前言 寒假期间学习过GCD。今天学习NSOperation。同样都是多线程封装,NSOperation和NSOperationQueue是基于GCD的更高一层的封装,完全的面向对象,相比于GCD复杂的各种API方法,它的优势就是更加的简单实用,代码的可读性…

电力电子课设—数控产生PWM波——使用51单片机输出占空比可调PWM波(按钮控制、数码管显示)控制速成教程

我们学校电气专业开始做电力电子的课设了,小组选了一项制作硬件电路的任务,里面有要求采用数控方式实现DC-DC电压变换的输出电压调节,数控在电路中的体现就是用单片机输出可调占空比的PWM作用于产生PWM波控制IGBT的芯片。考虑到可能有同学没接…

金领冠520解密母乳源代码,助推婴配粉中国式现代化高速发展

又是一年520,又是一个“全国母乳喂养宣传日”。 1990年5月10日,为保护、促进和支持母乳喂养,更好地实行优生优育,原中华人民共和国国家卫生部召开新闻发布会,确立每年5月20日为“全国母乳喂养宣传日”。 那时&#x…

[GXYCTF2019]BabySQli1

拿到题目一看就是sql注入,所以还是老样子账号admin密码随便输入,回显但是密码错误 当用户名随便输入时,回显用户名错误,说明是先检测用户名,再检测密码 应该是存在过滤 通过burp爆破大致找出过滤字符,还有就…

css flex布局

css flex布局 flex是flexible Box的缩写,意为“弹性布局”,任何一个容器都可以指定为flex布局。 当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效 总结flex布局原理: 就是通过给父盒子添加fl…

Java - AQS(一)

Java - AQS(一) 在Java中,AQS代表AbstractQueuedSynchronizer(抽象队列同步器)。AQS是Java并发包中用于构建同步器的基础框架。它提供了一种实现同步状态管理、线程等待和通知的机制。 AQS主要通过一个int类型的状态…

轻松玩转开源大语言模型bloom(四)

前言 前几篇都围绕着语言模型的decoding strategy来讲述,今天将进入进阶篇,在解码策略效果有限和提示词修改也无法满意的情况下如何提升模型的效果呢?这时我们需要对大语言模型进行fine-tune,即微调。一般我们用的大语言模型都是…

chatgpt赋能Python-python5个数从小到大排序

Python中的5个数从小到大排序 在Python中,排序是一个常见的操作。我们经常需要对一组数据进行排序,以便更方便地对数据进行分析和处理。在本文中,我们将探讨Python中如何排序5个数,具体来说,是从小到大排序。 介绍 …

chatgpt赋能Python-python5__3

Python5%-3: 介绍和结论 什么是Python5%-3 Python5%-3是在Python 3语言版本中增加的一个新特性,它是Python语言中对移动开发的支持扩展,这个特性被称为Python5%-3。 具体来说,Python5%-3允许开发者能够更方便地创建移动应用程序&#xff0…

大脑MRI去噪技术研究进展

导读 磁共振(MR)图像诊断的准确性取决于图像的质量,而图像质量下降的主要原因是由于噪声和伪影。噪声是由成像环境错误或传输系统失真所引起的。因此,去噪方法对提高图像质量起着重要作用。然而,在去噪和保留结构细节之间需要权衡。现有的大…

【Linux】Linux 下的权限(初)

d1 目录下有目录dir,和一个普通文件 test.c 重点看到文件的各种权限,拆分清晰地理解(重) 观察到权限和文件类型一坨除了第一列的文件类型其他的都是文件相关的权限,而且是三个三个分开 为什么分开呢?是因为…

【leetcode】456. 132 模式 单调栈出栈特性

看题意是要在数组中找到一个大于左右元素波峰。 一开始看数据量是 10e5,还以为是 nlogn算法。没想到居然是个 n 的单调栈。 这道题利用了递减单调栈出栈的特性, 出栈元素 k、栈中某一个特定元素 j 满足 nums[j] > nums[k],如果从数组后面向前遍历的…

什么是uni-app?为什么要学习uni-app?

文章目录 前言 一、什么是uni-app框架? 二、为什么要学? 三、uni-app开发的适用场景是什么? 总结 前言 随着前端技术的不断发展进步,跨端开发成为了程序猿不得不面临的一个难题,uni-app的出现解决了程序猿不断重复…

《Java 核心技术面试》课程笔记(十)

如何保证集合是线程安全的? 典型回答 Java 提供了不同层⾯的线程安全支持。 在传统集合框架内部,除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可以调用 Collections 工具类提供…

16款ChatGPT工具,太炸裂了,收藏!

1.ChatGPT for google 一个浏览器插件,可搭配现有的搜索引擎来使用。 最大化搜索效率,对搜索体验的提升相当离谱: 安装完插件后,在搜索引擎搜索任何问题,都能获取两份答案。 左边是谷歌抓取的全网资源,右…

完美解决:“因为计算机丢失VCRUNTIME140_1.dll”

VCRUNTIME140_1.dll是Microsoft Visual C Redistributable的一个组件,它包含了许多用于C编程的函数和类。如果你的系统缺少了这个文件,那么你可能会遇到“找不到VCRUNTIME140_1.dll无法继续执行代码”的错误提示。 方法1:直接复制VCRUNTIME…

python多进程与多线程

1 Python多线程 1.1 GIL 其他语言,CPU是多核时是支持多个线程同时执行。但在Python中,无论是单核还是多核,同时只能由一个线程在执行。其根源是GIL的存在。GIL的全称是Global Interpreter Lock(全局解释器锁),来源是Python设计之…

[MySQL]事务的浅谈

欲买桂花同载酒 终不似 少年游 目录 1.MySQL为什么需要事务 2.MySQL对事务的支持 3.关于事务的操作 控制方式(对于单条SQL) 控制方式二(START TRANSACTION 或 BEGIN) 4.关于ACID 5.关于事务的隔离级别 5.1事务可能存在的问题 5.2事务隔离级别 5.3难点(RR 级别 …