首页 > 代码库 > 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环境变量