A. cp执行命令,如何直接覆盖不提示
我们先来看一下原因吧!一般我们使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefiletargetdir,-r的意思是递归复制,也就是复制文件夹及其下所有文件-f的意思是遇到同名的文件,不提示,直接覆盖这是因为,系统在安装的时候使用
B. linux 命令 cp命令可以不覆盖吗
一般我们使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefile
targetdir,
-r的意思是递归复制,也就是复制文件夹及其下所有文件
-f的意思是遇到同名的文件,不提示,直接覆盖
这是因为,系统在安装的时候使用了别名,防止我们误操作,覆盖了不该覆盖的文件。使用别名命令就可以看到具体的配置了。
[test@Server home]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias
--show-dot --show-tilde'
从上边我们可以看出,我们输入的cp命令,其实是“cp -i”命令,
从上边的命令我们可以知道,其他几个命令,也使用了别名,例如ll,ls mv,rm等。
[test@Server home]# vi ~/.bashrc# .bashrc# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrcfi
只要在相应的命令前加#号,就可以注释掉该命令了。保存退出,然后你就可以用纯粹的原命令了。
其实还有一种办法可以解决这个问题,就是使用 \cp -f file dir 就可以了!
C. linux怎样强制复制文件并覆盖
linux强制复制文件并覆盖的方法
1、这么就用不会提示了:# cp -rf
2、 原因:
# vi ~/.bashrc
如果你看到如下内容,以下命令都会用别名执行了,就是说自动加了 -i 参数:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
为了让复制和移动大量文件去覆盖目标时,不会产生一个个的提示,命令应该这样写
# cp -rf /data/xxx* /home/xxx
注意 cp 命令前加了 ,意思是不让它用~/.bashrc里的别名运行,即 -i 参数
3、补充cp该命令的各选项含义如下
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
4、需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名是一个已存在的文件名,用cp命令拷贝文件后,这个文件就会被新拷贝的源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
D. linux的cp怎么覆盖
cp命令是我日常学习中经常会遇到的一个命令,下面这篇文章主要给大家介绍了关于Linux系统利用cp命令实现强制覆盖功能的方法,并且给大家简单的介绍了cp命令的基础知识,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
前言
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
语法
cp(选项)(参数)
选项
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
参数
源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
利用cp命令实现强制覆盖功能
我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,所添加的rf参数是不起作用的。
原因:
cp命令被系统设置了别名,相当于cp=‘cp -i' 。
查询alias命令
[root@localhost sonarqube]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
通过上述输出,可以看出,我们平时使用 cp 命令,虽然没有添加任何参数 ,但系统默认会在我们使用 cp 命令时自动添加 -i 参数
-i, --interactive
prompt before overwrite
-i 即交互的缩写方式,也就是在使用 cp 命令作文件覆盖操作之前,系统会要求确认提示.这个本来是系统的一个保险措施.如果有很多文件要复制,觉得一个一个输入y 确认麻烦的话,可以使用如下方法解决:
强制复制
建议大家使用方式一,因为取消别名的话很容易造成风险,万一又忘记恢复别名,以后的复制都不会有提示信息。
有提示信息可以多一层保险嘛,是人都会有犯混的时候,给自己加一个保险,有保障呀.
E. cp命令怎么把之前目录中的旧文件覆盖成新的
cp是复制,覆盖成新的应该用mv
用法是:mv [source] [destination]
des覆盖source
F. linux cp 命令 重复提示覆盖
1.先临时取消别名设定
# unalias cp
#cp -R 11/* 22/
2.永久取消
#vim ~/.bashrc
将alias cp='cp -i' 前面加#注释掉
G. Linux下如何使CP命令不提示覆盖 rm 确认提示后删除
我们先来看一下原因吧!
一般我们使用的命令是cp
-rf
sourcefile
targetdir或cp
-r
-f
sourcefile
targetdir,
-r的意思是递归复制,也就是复制文件夹及其下所有文件
-f的意思是遇到同名的文件,不提示,直接覆盖
这是因为,系统在安装的时候使用了别名,防止我们误操作,覆盖了不该覆盖的文件。使用别名命令就可以看到具体的配置了。
[test@Server
home]#
alias
alias
cp='cp
-i'
alias
l.='ls
-d
.*
--color=tty'
alias
ll='ls
-l
--color=tty'
alias
ls='ls
--color=tty'
alias
mv='mv
-i'
alias
rm='rm
-i'
alias
which='alias
|
/usr/bin/which
--tty-only
--read-alias
--show-dot
--show-tilde'
从上边我们可以看出,我们输入的cp命令,其实是“cp
-i”命令,
从上边的命令我们可以知道,其他几个命令,也使用了别名,例如ll,ls
mv,rm等。
[test@Server
home]#
vi
~/.bashrc#
.bashrc#
User
specific
aliases
and
functions
alias
rm='rm
-i'
alias
cp='cp
-i'
alias
mv='mv
-i'
#
Source
global
definitions
if
[
-f
/etc/bashrc
];
then
.
/etc/bashrcfi
只要在相应的命令前加#号,就可以注释掉该命令了。保存退出,然后你就可以用纯粹的原命令了。
H. linux的cp命令的交互式用法和强制覆盖用法的问题(2)
默认root环境下执行alias就能知道
python">aliascp='cp-i'
aliasl.='ls-d.*--color=auto'
aliasll='ls-l--color=auto'
aliasls='ls--color=auto'
aliasmv='mv-i'
aliasrm='rm-i'
aliassudo='sudo-E'
aliaswhich='alias|/usr/bin/which--tty-only--read-alias--show-dot--show-tilde'
但是普通用户没这个,如果你在root用户下不想交互式可以用绝对命令
cp mv 像这样命令前加个‘’就好了
I. 使用cp命令覆盖掉的文件可以恢复吗
1.先临时取消别名设定
# unalias cp
#cp -R 11/* 22/
2.永久取消
#vim ~/.bashrc
将alias cp='cp -i' 前面加#注释掉
J. Linux下如何使CP命令不提示覆盖
我们先来看一下原因吧! 一般我们使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefile targetdir, -r的意思是递归复制,也就是复制文件夹及其下所有文件 -f的意思是遇到同名的文件,不提示,直接覆盖 这是因为,系统在安装的时候使用了别名,防止我们误操作,覆盖了不该覆盖的文件。使用别名命令就可以看到具体的配置了。 [test@Server home]# alias alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 从上边我们可以看出,我们输入的cp命令,其实是“cp -i”命令, 从上边的命令我们可以知道,其他几个命令,也使用了别名,例如ll,ls mv,rm等。 [test@Server home]# vi ~/.bashrc# .bashrc# User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrcfi 只要在相应的命令前加#号,就可以注释掉该命令了。保存退出,然后你就可以用纯粹的原命令了。 其实还有一种办法可以解决这个问题,就是使用 \cp -f file dir 就可以了!