Linux文件复制命令CP与别名Alias使用技巧 (linux cp alias)

复制文件在Linux中是一个非常基本的操作,而Linux操作系统中提供了很多种复制命令,其中最常用的是cp命令,同时,在日常应用中,Alias别名在使用cp命令方面也有很好的应用,本文将详细介绍Linux文件复制命令CP和别名Alias在使用中的一些技巧。

一、Linux文件复制命令CP

cp命令是Linux中一个非常常用的复制命令,它可以将一个或多个文件或目录复制到指定的文件或目录中。

1. 命令格式

cp [选项] 源文件 目标文件

2. 命令参数

-i:如果目标文件存在,则提示用户确认是否覆盖文件。

-r:将复制目录及目录中的文件。

-a:相当于同时使用-pdr选项。

3.命令实例

(1)将文件file1复制到file2:

cp file1 file2

(2)将目录dir1及其中的文件复制到dir2中:

cp -r dir1 dir2

(3)如果将文件file1复制到file2,如果file2已经存在,则要求用户确认是否覆盖:

cp -i file1 file2

二、Alias别名使用技巧

Alias别名可以将复杂和冗长的命令转换成简短的别名,使用别名可以帮助用户更高效的操作Linux系统,对于经常使用的命令,我们可以生成别名来简化命令,常见别名如下:

1.l:显示文件和目录的详细信息

2.ll:显示文件的详细信息

3.ls:列举目录的内容

4.cd:变换当前目录

5.cp:复制文件或者目录

6.mv:移动文件或者目录

7.rm:删除文件或者目录

8.mkdir:创建目录

9.rmdir:删除目录

在使用Alias命令创建别名的时候,需要知道别名命令的格式,格式如下:

alias 新命名=’正确命名’

3. Alias命令实例

(1)创建一个“list”的别名,用于显示当前目录的详细信息:

alias list=’ls -lh –color=auto’

(2)创建一个“c”的别名,用于进入/etc目录:

alias c=’cd /etc’

(3)创建一个“copy”别名,用于将/var/log/messages文件复制到当前目录:

alias copy=’cp /var/log/messages .’

三、Alias命令的永久保存

创建的Alias别名在当前终端关闭后会自动消失,如果想把创建好的别名永久保存下来,在Linux中有两种方法可以实现:

1. 创建一个.bashrc文件(如果你的系统默认使用的是bash shell,那么在用户的主目录下,一般存储的是一些bash的shell配置文件),在.bashrc文件中添加Alias别名实现永久保存:

vi ~/.bashrc

alias list=’ls -lh –color=auto’

wq

2. 在/etc/profile文件(系统级别的文件,作用于所有用户)中添加Alias别名实现永久保存:

vi /etc/profile

alias copy=’cp /var/log/messages .’

wq

保存修改后,键入source ~/.bashrc或source /etc/profile命令,重新加载.bashrc和/etc/profile文件,使得Alias别名生效。

四、小技巧

(1)使用“ \cp ”命令来避免Alias别名效果。

为了避免Alias别名对已经存在的命令造成干扰,可以在命令前加反斜杠,如 “ \cp ”命令表示使用cp命令,而非Alias别名。

(2)使用“type”命令查看命令是否是Alias别名。

如果无法确认一个命令是否是Alias别名,可以使用“type”命令查看。如,例如查看“ll”是否是Alias别名:

type ll

如果ll是Alias别名,则会返回aa的内容。

(3)设置可选别名列表:

Alias命令还提供了一个很方便的功能,就是选择Alias别名列表,可以用“alias -p”命令查看当前的Alias别名,使用“alias -p NAME”命令可以只显示指定NAME的别名命令,具体命令格式如下:

$ alias -p

alias list=’ls -l’

alias ls=’ls –color=auto’

$ alias -p ls

alias ls=’ls –color=auto’

本文主要介绍了Linux文件复制命令CP和别名Alias在使用中需要注意的技巧,不仅讲述了CP命令的基本用法和参数,而且详细介绍了Alias命令的使用方法及其在创建别名上的应用。此外,还介绍了Alias命令的永久保存以及一些小技巧,希望能够对初学者在掌握Linux系统操作中更为熟练地掌握复制命令CP和别名Alias的使用技巧。

相关问题拓展阅读:

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命令

# 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 确认麻烦的话,可以使用如下方法解决:

强制复制

建议大家使用方式一,因为取消别扒乱拆名的话很容易造成风险,万一又忘记恢复别名,以后的复制都不会有提示信息。

有提示信息可以多一层保险嘛,是人都会有犯混的时候,给自己加一个保险,有保障呀.

我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,所添加的rf参数是不起作用的。

原因:

cp命令被系统设置了别名,相当于cp=‘cp -i’。

查询alias命令

# 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 确认麻烦的话,可以使用如下方法解决:

强制复制

建议大家使用方式一,因为取消别名的话很容易造成风险,万一又忘记恢复别名,以后的复制都不会有提示信息。

有提示信息可以多一层保险嘛,是人都会有犯混的时候,给自己加一个保险,有保障呀.

方式一

使用原生的cp命令

/bin/cp -rf x

方式二

取消cp命令别名

unalias cp

去掉 cp 命令的别名,这时你再用 cp -rf 复制文件时,就不会要求确认啦.

复制

Linux下cp覆盖时,无论加祥棚高什么参数-f之类的还是提示是否覆盖,当没和芹有打包的情况下直接复制:

把test目录下的文件复制到test1目录;

cp –r test/* test1

执行上面谨尺的命令时,test1存在的每个文件都会提示是否覆盖;

cp –rf test/* test1

执行上面的命令时,test1存在的每个文件都不再会提示;

这是我们希望的理想状态,但是有时加了-f了,还会有提示.

因为服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i。

alias下就可以看出来了。

# alias

alias cp=’cp -i’

用下面可以解决

# vi ~/.bashrc

在alias cp=’cp -i’前加上”#”注释掉这行,:wq!保存推出,然后重新登陆就可以了。

下次在使用cp -rf 就可以直接覆盖已经存在了文件了。

当然你不想改变别名的话可以转义掉,\cp -rf即可。

按y,再回车。

linux的cp怎么覆盖?

Linux下cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,当没有打包的情况下直接复制:

把test目录下的文件复制到test1目录;

cp

–r

test/*

test1

执行上面的命令时,test1存在的每个文件都会提示是否覆盖;

cp

–rf

test/*

test1

执行上面的命令时,test1存在的弊消卖每个文件都不再会提示;

这是我们希望的理想状态,但是有时加了-f了,还会有提示.

因为服务器会默认增加别名

alias

cp=’cp

-i’,当你执行cp时,其实执行的是cp

–i。

alias下就可以看出来了。

#

alias

alias

cp=’cp

-i’

用下面可以解决

#

vi

~/.bashrc

在alias

cp=’cp

-i’前加上”#”注释掉这行,:wq!保存推出,然后重新登陆就可以了。

下次在使用cp

-rf

就可以直接覆盖已经存在租逗了文件了。桥铅

当然你不想改变别名的话可以转义掉,\cp

-rf即可。

关于linux cp alias的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux文件复制命令CP与别名Alias使用技巧 (linux cp alias)