首页 > 代码库 > linux环境变量

linux环境变量

which ls(就可以查看ls的具体位置,ls是一个文件)

ls ==>  ls --color=auto

alias (别名)

which命令:用来查找某个命令的绝对路径

[root@qiangge ~]# which ls

alias ls=‘ls --color=auto‘

/bin/ls

ls 是一个特殊的命令,使用alias命令做了别名。我们用的ls实际上是/bin/ls--color=auto‘,加上--color=auto后,就带有了颜色,否则全部是黑底白字

alias可以设置命令的别名也可以设置文件的别名

alias的用法,平时在工作中我们经常会用到一些命令比较长,每次打出来都需要好一会,这时就可以用alias做一个简短的别名,加快速度。

例:(更改网卡配置文件的命令  vi /etc/sysconfig/network-scripts/ifcfg-eth0)

[root@qiangge ~]# alias vieth=‘vi /etc/sysconfig/network-scripts/ifcfg-eth0‘

[root@qiangge ~]# vieth

运行之后就出现网卡的配置文件

DEVICE=eth0

HWADDR=00:0C:29:BF:07:DA

TYPE=Ethernet

UUID=454cbf99-9d6c-40a7-a8f7-646870324602

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.1.103

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNE1=192.168.1.1

DNS2=8.8.8.8

~

~

~

Type  :quit<Enter>  to exit Vim

这样就直接编辑了该配置文件,再用which来看一下。

[root@qiangge ~]# which vieth

alias vieth=‘vi /etc/sysconfig/network-scripts/ifcfg-eth0‘

/bin/vi

这样,下次再编辑该网卡配置文件时,就可以直接用vieth命令来操作了,简单方便。想要取消这个别名,只需要 unalias vieth即可。

which这个命令平时只用来查询某个命令的绝对路径,不经常使用。

alias(别名),/bin/ls(ls的绝对路径)

为什么我们输入很多命令时是直接打出了命令,而没有去使用这些命令的绝对路径?

这是因为环境变量PATH在起作用。

请输入 echo $PATH,这里的echo其实就是打印的意思,而PATH前面的$表示后面接的是变量

[root@qiangge ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

因为/bin在PATH的设定中,所以自然就可以找到ls了。如果将ls移动到/root底下的话,然后自己本身也在/root底下,但当执行ls的时候,他就是不理你,怎么办?

这是因为坏境变量PATH没有/root这个目录,而又将ls移动到/root底下了,自然系统就找不到可执行文件了,因此就会提示:command not found!(没有找到该命令)

[root@qiangge ~]# mv /bin/ls /root/

[root@qiangge ~]# ls

-bash: /bin/ls: 没有那个文件或目录

mv用来移动文件或目录,还可以重命名

那么怎么克服这个问题呢?

有两种方法,一种方法是直接将/root这个路径加入$PATH当中!

如何增加?

增加命令可以使用命令 PATH=$PATH:/root:

[root@qiangge ~]# PATH=$PATH:/root

[root@qiangge ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root

[root@qiangge ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog  ls

而另一种方法就是使用绝对路径

[root@qiangge ~]# /root/ls

anaconda-ks.cfg  install.log  install.log.syslog  ls


本文出自 “12350027” 博客,谢绝转载!

linux环境变量