一、介绍
在讲环境变量之前,先介绍一下命令which,它用于查找某个命令的绝对路径,示例如下:
在上面的示例中,用which查到rm命令的绝对路径为/usr/bin/rm。
那么问题来了:为什么我们使用命令时,只是直接打出了命令,而没有使用这些命令的绝对路径呢?
答:环境变量PATH在起作用。
我们可以试着输入以下命令,
这里的echo用来输出 的值。PATH前面的$是变量的前缀符号。
二、命令cp
cp是copy(复制)的简写,该命令的格式为:cp [选项][来源文件][目的文件]。
例如,如果要把test1复制成test2,可以写为cp test1 test2。
- -r:如果要复制一个目录,必须加-r选项,否则不能复制,类似于rm命令,示例如下:
- -i:这是安全选项, 如果遇到一个已存在的文件,会询问是否覆盖,类似于rm命令。
在RedHat/CentOS系统中,使用的cp命令其实就是cp -i
下面将通过例子说明 -i 选项的作用
解释说明:
- touch:如果又这个文件,则会改变该文件的访问时间;如果没有这个文件,就会创建这个文件
- echo:打印
- >:在Linux中叫做重定向,即把前面产生的输入写入到后面的文件中去
- cat:读一个文件,并把读出的内容打印到当前屏幕上
三、命令mv
mv是move(移动)的简写,该命令格式为:mv [选项][源文件或目录][目标文件或目录]。该命令有如下几种情况:
- 目标文件是目录,但该目录不存在
- 目标文件是目录,但该目录存在
- 目标文件是文件,且该文件不存在
- 目标文件是文件,但该文件存在
当目标文件是目录时,其存在与否,执行后的结果是不一样的
- 如果该目录存在,则会把源文件或目录移动到该目录中
- 如果该目录不存在,则会把源目录重命名为给定的目标文件名
当目标文件是文件时,其存在于否,执行后的结果是不一样的
- 如果该目录存在,则会询问是否覆盖
- 如果该文件不存在,则会把源文件重命名为给定的目标文件名
上例1中,目标文件是目录dirc,并且dirc不存在,相当于把目录dira重命名为dirc
上例2中,目标文件是目录dirb,且dirb存在,则会把目录dirc移动到目录dirb里
上例3中,mv filed filee的目标文件是文件filee且这个文件不存在,相当于把文件filed重命名为filee。mv filee dirb命令则将更名后的文件filee移动到目录dirb里。