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

news/2024/10/30 12:14:07/

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.ppmy.cn/news/78438.html

相关文章

辨析读写json文件常用json.loads()、json.load()和json.dumps()、json.dump()区别及ensure_ascii参数

目录 写在前面一、loads 和 load1.1 loads解释及代码实例1.2 load解释及代码实例 二、dumps 和 dump2.1 dumps解释及代码实例2.2 dump解释及代码实例2.3 ensure_ascii参数(Ture or False) 写在前面 一句话概括 json.loads 接受字符串 json.load 接受文…

大数运算(加法,减法,乘法,除法)

目录 一.大数加法 1.题目描述 2.问题分析 3.代码实现 二.大数减法 1.题目描述 2.问题分析 3.代码实现 三.大数乘法 1.题目描述 2.问题分析 3.代码实现 四.大数除法 1.题目描述 2.问题分析 3.代码实现 一.大数加法 1.题目描述 以字符串的形式读入两个数字&#…

mapreduce技术

要实现操作hbase数据表首先要了解它的原理: 1,Hbase原理篇 HBASE就是基于Hadoop的一个开源项目,也是对Google的BigTable的一种实现。 BigTable最浅显来看就是一张很大的表,表的属性可以根据需求去动态增加,但是又没有表与表之间…

果汁脱色树脂,制糖行业脱色,医药行业脱色

具有控制孔径的大孔强碱性Ⅰ型阴特种脱色用离子交换树脂 Tulsimer A-722是一款具有便于颜色和有机物去除的控制孔径的,专门开发的大孔强碱性Ⅰ型阴离子交换树脂。 Tulsimer A-722 (氯型)专门应用于糖浆脱色。 Tulsimer A-722由于其本身…

云计算介绍

云计算是一种新的计算模式,是分布式处理、并行处理和网格计算、网络存储、虚拟化、 负载均衡等传统计算机技术和网络技术发展融合的产物。云计算将计算资源分布在由大量 计算机构成的资源池上,而非本地计算机或远程服务器中,用户根据需求通过…

分享18个好用的ChatGPT插件

上周ChatGPT又进化了,支持联网还有70几种第三方插件,不过还是老样子,只服务氪金玩家,免费端可能还得等等。之前只开放了俩插件,网络浏览器和代码解释器,只能说是真的不够用。 ChatGPT:不够&…

java基础知识

文章目录 1. 数据结构2.流3.线程池 多线程3.1线程3.2 线程池 4.锁5.面向对象5.2 封装、继承、多态5.2抽象、接口5.3重写 、 重载5.4final 6.设计模式7.反射8.异常9.常用类9.1 String9.2 Object9.3 数组 10 其他Linux基础cookie / session的区别转发 、 重定向的区别http与https…

外包干了五年,废了...

先说一下自己的情况。大专生,17年通过校招进入湖南某软件公司,干了接近5年的测试点点点,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了五年的点工…