设为首页 收藏本站
查看: 167|回复: 0

[经验分享] linux 环境变量

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-29 08:45:48 | 显示全部楼层 |阅读模式

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
       which  查看可执行文件的位置。
       whereis 查看文件的位置。
       locate   配合数据库查看文件位置。
       find   实际搜寻硬盘查询文件名称。

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

1.命令格式:

which 可执行文件名称

2.命令功能:

which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

3.命令参数:

-n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p  与-n参数相同,但此处的包括了文件的路径。

-w  指定输出时栏位的宽度。

-V  显示版本信息

4.使用实例:

实例1:查找文件、显示命令路径

命令:

which lsmod

输出:

[iyunv@localhost ~]# which pwd

/bin/pwd

[iyunv@localhost ~]#  which adduser

/usr/sbin/adduser

[iyunv@localhost ~]#

说明:

which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!


实例2:用 which 去找出 which

命令:

        which which

输出:

[iyunv@localhost ~]# which which

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot         --show-tilde'

     /usr/bin/which

[iyunv@localhost ~]#

说明:

竟然会有两个 which ,其中一个是 alias 这就是所谓的『命令别名』,意思是输入 which 会等於后面接的那串命令!



语  法:alias[别名]=[指令名称]

例如
[iyunv@gzsj ~]# alias s='ls /var/'     alias语法格式
[iyunv@gzsj ~]# s
cache  cvs  empty  gdm  local  log   nis  preserve  spool  yp
crash  db   games  lib  lock   mail  opt  run       tmp
查看alias别名
[iyunv@gzsj ~]# alias
alias cp='cp -i'
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 s='ls /var/'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
想要别用永久生效或在别的终端生效方法
[iyunv@gzsj ~]# vi .bashrc
[iyunv@gzsj ~]# pwd
/root
[iyunv@gzsj ~]# vi ~/.bashrc

PATH

PATH指的是多有命令所存在的路径,只有命令的路径在PATH里边才可以被查找到,如果没有在PATH中只能打全部路径才可以执行。

上边提到了alias,也提到了绝对路径的/bin/rm ,然后您意识到没有,为什么我们输入很多命令时是直接打出了命令,而没有去使用这些命令的绝对路径?这是因为环境变量PATH在起作用了。请输入 echo $PATH,这里的echo其实就是打印的意思,而PATH前面的$表示后面接的是变量。

[iyunv@gzsj ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[iyunv@gzsj ~]# mv /bin/ls /tmp/
[iyunv@gzsj ~]# ls
-bash: /bin/ls: 没有那个文件或目录
[iyunv@gzsj ~]# PATH=$PATH:/tmp/
[iyunv@gzsj ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[iyunv@gzsj ~]# which ls
alias ls='ls --color=auto'
        /tmp/ls


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-196963-1-1.html 上篇帖子: linux驱动的入口函数module_init的加载和释放 下篇帖子: 【转】11 个很少人知道但很有用的 Linux 命令 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表