cp && mv细节

146 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情

cp指令(重要):

在window下,我们可以使用ctrl+c 和ctrl+v大法进行复制, 在Linux下就需要使用cp指令

语法:cp 选项 源文件或目录 目标文件或目录 功能: 复制文件或目录

image-20220227091243672

说明: cp指令用于复制文件或目录,

如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。

若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息


常用选项

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

image-20220227091641934

  • -i 或 --interactive 覆盖文件之前先询问用户

image-20220227091820602

  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理

image-20220227092046111


当我们需要将当前目录的所有内容进行拷贝时,我们可以用上面提到的通配符*

image-20220227092653267

  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

mv指令(重要):

在windows中,我们通常要使用ctrl+x和ctrl+v进行剪切->即将一个地方的文件移动到另一个地方,在Linux下就要使用mv指令


mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。 语法: mv [选项] 源文件或目录 目标文件或目录 功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。

2.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。

image-20220227093339625

3.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。

image-20220227093923626

常用选项:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

image-20220227095223212

  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

image-20220227095619178

将rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile()
{
	mv -i ~/.trash/\$@ ./
}
trash()
{
	mv $@ ~/.trash/
}

注意:mv指令后面如果是路径,就是移动,如果跟的是名字,就是重命名文件