CentOS 7基础操作07_Linux复制、删除、移动目录和文件

1、cp------复制(Copy)文件或目录

cp命令用于复制文件或目录,将需要复制的文件或目录(源)重建一份并保存为新的文件或目录(可保存到其他目录中)。cp命令的基本使用格式如下:

cp    [选项]...    源文件或目录...    目标文件或目录

需要复制多个文件或目录时,目标位置必须是目录.且目标目录必须已经存在。cp命令较常月到的几个选项如下。

  • -f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
  • -i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)。
  • -p:复制时保持〔Preserve)源文件的权限、属主及时间标记等属性不变。
  • -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。

例如,以下两个操作将把/bin/touch命令程序复制到当前目录下,并命名为mytouch。另外将/etc/yum.conf 文件复制一份作为备份,添加.bak扩展名,仍存放在/etc目录中.

[root@blab ~]# cp /bin/touch ./mytouch
[root@blab ~]# cp /etc/yum.conf /etc/yum.conf.bak

如果需要复制的数据包括完整的目录,则需要结合"-r"选项才能成功执行,否则目录将被忽略。例如,以下操作将把目录/boot/grub、文件/etc/host . conf 复制到当前目录下的public_html 文件夹中。

[root@blab ~]# cp -r /boot/grub/ /etc/host.conf public_html/
[root@blab ~]# ls public_html/
grub  host.conf

2、rm命令------删除(Remove)文件或目录

rm命令用于删除指定的文件或目录,在Linux 命令行界面中,删除的文件是难以恢复的.因此使用rm 命令删除文件时需要格外小心。rm 命令使用要删除的文件或目录名作为参数。常用的几个选项如下(与CP命令的对应选项含义基本相似)所述。

  • -f:删除文件或目录时不进行提醒,而直接强制删除。
  • -i:删除文件或目录时提醒用户确认。
  • -r:删除目录时必须使用此选项.表示递归删除整个目录树(应谨慎使用).

对于已经确定不再使用的数据(包含目录、文件),通常结合"-rf"选项直接进行删除而不进行提示。例如,若要删除刚复制到public_html目录中的grub目录树,且不提示用户进行确认(直接删除),可以执行"rm -rf public_html/grub/"命令,具体操作如下:

[root@blab ~]# rm -rf public_html/grub/
[root@blab ~]# ls public_html/
host.conf

如果需要在执行删除操作前进行确认,可以使用"-i"选项(不要和-f 选项同时使用),rm 命令将对每个待删除的文件或目录提示用户是否真的删除,需要输入y(表示删除)或n(表示不删除)进行确认,例如以下操作将以提示确认的方式删除public_htmI目录中的host .conf文件(根据提示信息输入y确认删除).

【注意】

在学习 rm删除命令时,不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。建议从系统中复制一些目录或文件到新建的文件夹中,然后切换到新建的文件夹,使用复制后的目录或文件进行删除练习。


3、mv命令------移动(Move)文件或目录

mv命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于为文件或目录改名mv命令的基本使用格式如下:

mv    [选项]  ...  源文件或目录...    目标文件或目录

需要移动多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。

如果在同一个目录下移动文件或目录,则相当于执行重命名操作。例如,以下操作将把当前目录中的mytouch程序文件改名为mkfile.

[root@blab ~]# mv mytouch mkfile
[root@blab ~]# ls -lh mytouch mkfile 
ls: 无法访问mytouch: 没有那个文件或目录
-rwxr-xr-x. 1 root root 62K 5月   6 11:51 mkfile

如果移动一个文件或目录到一个已经存在的文件夹中可以只指定目标文件夹位置,例如,以下操作将把 mkfile文件移动到 public_html目录(已经存在)中,文件名仍然是mkfile.

[root@blab ~]# mv mkfile public_html/
[root@blab ~]# ls -l public_html/
总用量 64
-rwxr-xr-x. 1 root root 62568 5月   6 11:51 mkfile
相关推荐
pk_xz1234561 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面5 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq6 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮7 小时前
Linux 使用中的问题
linux·运维
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零9 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge9 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱9 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范