[转]复制、移动和删除:cp, rm, mv
转自:http://www.cnblogs.com/benio/archive/2010/07/27/1785929.html
要复制文件,请使用cp(copy)命令。不过,cp命令的用途很多。除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等。至于移动目录与文件,则使用mv(move),这个命令也可以直接用来重命名(rename)。删除使用rm(remove)命令。下面我们就来看一看。
cp(复制文件或目录)
[root@linux ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination) 范例二:将 /var/log/wtmp复制到 /tmp下。 范例三:将 /etc/ 目录下的所有内容复制到 /tmp。 范例四:将范例一复制的bashrc建立一个符号连接文件(symbolic link) 范例五:若 ~/.bashrc比 /tmp/bashrc新,则复制。 范例6:将范例四生成的bashrc_slink复制成为bashrc_slink_2。 范例7:将家目录的 .bashrc及 .bash_history复制到 /tmp下面。 |
cp的功能很多,由于我们常常进行一些数据的复制,所以也会常常用到这个命令。一般来说,如果去复制别人的数据(当然,该文件必须要有read的权限),总是希望复制到的数据最后是我们自己的,所以,在默认条件中,cp的来源文件与目标文件的权限是不同的,目标文件的拥有者通常会是命令操作者本身。举例来说,范例二中,由于我是root身份,因此复制过来的文件拥有者与用户组就改变成为root所有了。
由于具有这个特性,在进行备份的时候,某些需要特别注意的特殊权限文件,例如密码文件(/etc/shadow)以及一些设置文件,就不能直接以cp来复制,而必须要加上 -a或者是 -p,这些可以完整复制文件权限的参数。另外,如果想要复制文件给其他用户,也必须要注意文件的权限(包含读、写、执行以及文件拥有者),否则,其他人还是无法对你给的文件进行修改。特别要注意。
上面的第4个范例最有趣,使用 -l及 -s都会建立所谓的连接文件(link file),但是这两种连接文件有不一样的显示。这是怎么一回事? -l就是所谓的硬连接(hard link), -s则是符号连接(symbolic link),笔者这里先不介绍,因为这涉及i-node的相关知识,我们还没有介绍到,下一章再讨论这个连接的问题。总之,由于cp有种种文件属性与权限,所以,在复制时,必须要清楚地了解到:
• 是否需要完整地保留来源文件的信息?
• 来源文件是否为符号连接文件(symbolic link file)?
• 来源文件是否为特殊的文件,例如FIFO、套接字等?
• 来源文件是否为目录?
rm(删除文件或目录)
[root@linux ~]# rm [-fir] 文件或目录 范例二:删除一个不为空的目录。 |
删除命令(remove)相当于DOS下的del命令。这里要注意的是,通常,在Linux系统中,为了怕文件被误删,很多版本默认有 -i参数,-i指每个文件被删除之前都会让用户确认一次,以防误删文件。如果要连目录下的内容都一起删除,例如子目录里面还有子目录,就要使用 -rf参数。不过,使用“rm -rf”命令之前,请千万注意,因为该目录或文件“肯定”会被root删除。因为系统不会再次询问是否要删除。所以这是非常重要的命令,需要特别注意。不过,如果确定该目录不要了,使用rm -rf来循环删除是不错的方式。
mv(移动文件与目录,或重命名)
[root@linux ~]# mv [-fiv] source destination 范例二:将刚刚的目录名重命名为 mvtest2。 范例三:再建立两个文件,再全部移动到 /tmp/mvtest2中。 |
这是移动(move)的意思。要移动文件或目录,这个命令就很重要。同样,也可以使用 -u(update)来测试新旧文件,看看是否需要移动。另外一个用途就是“更改文件名”。我们可以很轻松地使用mv来更改文件名。不过,Linux的rename命令,可以用来更改大量文件的文件名,你可以利用man rename查看一下。
[转]复制、移动和删除:cp, rm, mv的更多相关文章
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...
- Linux命令下,cp,rm,mv命令的使用
Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件对比两文件的新旧而予以更新, 以 ...
- Linux cp/rm/mv 强制覆盖
一.Linux下的cp/rm/mv强制覆盖 (一).反斜杠(\)临时取消别名 [root@fz ~]# \cp filename new/filename [root@fz ~]# (二).unali ...
- 复制、移动和删除:cp, rm, mv
要复制文件,请使用cp(copy)命令.不过,cp命令的用途很多.除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等.至于移动目录与文件,则使用 ...
- mkdir,rmdir,cp,rm,mv,cat,touch用法
一.mkdir新建目录 1.进入tmp目录,查看该目录下面的子目录 [root@localhost ~]# cd /tmp[root@localhost tmp]# lshsperfdata_root ...
- linux下文件的复制、移动与删除命令为:cp,mv,rm
一.文件复制命令cp 命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [option] source1 source2 sour ...
- linux学习(四)复制(cp)移动(mv)删除(rm)查找(find)文件、文件夹操作、软硬链接的区别
目录 复制文件 mv命令 rm命令 touch 命令 file命令 find命令 grep命令 mkdir命令 rmdir命令 @(复制移动删除查找文件.软硬链接的区别) 复制文件 cp命令用于复制文 ...
- 常用命令su ls cp cd mv cat touch mkdir rm head less more pwd tac 等
1.用户切换 su:switch user su kevin //半切换,切换到kevin用户,但是不读取kevin用户的配置文件 su - kevin //完全切换,执行这个命令的时候表示切 ...
- linux中的一些基础命令的使用(which,whereis,locate,find,alias,file,ls,cat,echo,tar,bzip2,gzip,history,mv,cp,rm)
which whereis locate find alias file ls cat echotar bzip2 gzip history mv cp rm -------------------- ...
随机推荐
- Meclipse alt+/ 没有提示
- 移动端web禁止长按选择文字以及弹出菜单
/*如果是禁用长按选择文字功能,用css*/ * { -webkit-touch-callout:none; -webkit-user-select:none; -khtml-user-select: ...
- Spring boot 远程调试
设置远程调试,可以在正式环境上随时跟踪与调试生产故障. 依赖 在 pom.xml 中增加远程调试依赖(试了下,不加也行). <plugins> <plugin> <gro ...
- 【Little Demo】左右按钮tab选项卡双切换
通过前一篇文章 从简单的Tab标签到Tab图片切换 的说明,相关效果也就可以实现了. 1.左右按钮tab选项卡双切换 很明显,左右两个按钮是 absolute 布局,另外就是内容部分和Tab标签部分. ...
- python新建txt文件,并逐行写入数据
#coding=utf-8 txtName = "codingWord.txt"f=file(txtName, "a+")for i in range(1,10 ...
- docker 打开监听端口
安装docker的镜像ubuntu,链接:http://www.cnblogs.com/liqiu/p/4162719.html 一.登录ubuntu @~ $ docker run -i -t 9b ...
- C# System.IO.File
using System; using System.IO; class Test { public static void Main() { string path = @"c:\temp ...
- ubuntu下解压文件命令大全(转)
ubuntu 下rar解压工具安装方法: 压缩功能 安装 sudo apt-get install rar卸载 sudo apt-get remove rar 解压功能 安装 sudo apt-get ...
- 一道简单的HashMap面试题所想到的...
前言 看到一个JDK1.7和JDK1.8中关于HashMap的一个面试题: JDK1.7和1.8中HashMap中链表的插入的方式有什么不同? 原以为自己对HashMap的源码理解的还算可以了,应该足 ...
- 转发-基于ASP.NET MVC 4/5 Razor的模块化/插件式架构实现
基于ASP.NET MVC 4/5 Razor的模块化/插件式架构实现 概述 在日常开发中, 我们经常谈起模块化/插件化架构,这样可既可以提高开效率,又可以实现良好的扩展性,尤其对于产品化的系统有 ...