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

[经验分享] linux alias别名的设置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-3 09:24:07 | 显示全部楼层 |阅读模式
alias

命令: alias

功能说明:设置命令的别名
语法:alias [命令]='其他命令'
例:
[iyunv@oldboyedu-vm1 data]# 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 net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
说明:

①如果登录的用户1 想临时设置别名,用户1 只需执行alias [命令]='其他命令',该命令的别名只对用户1有效,对其他用户无效,并且用户1 只在该次登录有效,下次登录后失效;
例:
◆ yonghu1设置rm的别名,别名对yonghu1临时有效;

[yonghu1@oldboyedu-vm1 ~]$ alias rm='echo Do not use the rm command.'
[yonghu1@oldboyedu-vm1 ~]$ rm /data/1.txt.ln
Do not use the rm command. /data/1.txt.ln
[yonghu1@oldboyedu-vm1 ~]$
◆ yonghu2进行rm命令的操作,rm别名无效;
[yonghu2@oldboyedu-vm1 ~]$ whoami
yonghu2
[yonghu2@oldboyedu-vm1 ~]$ rm /data/1.txt.ln yonghu2 执行rm,yonghu1设置的rm别名无效
rm: remove write-protected regular file `/data/1.txt.ln'?
◆ yonghu1注销后重新登录,上次设置的rm别名已经无效

[yonghu2@oldboyedu-vm1 ~]$ logout
[iyunv@oldboyedu-vm1 ~]# su - yonghu1
[yonghu1@oldboyedu-vm1 ~]$ whoami
yonghu1
[yonghu1@oldboyedu-vm1 ~]$ rm /data/1.txt.ln yonghu1 再次执行rm,上次登录设置的rm别名失效
rm: remove write-protected regular file `/data/1.txt.ln'?


②如果用户1想让本次登录设置的别名在下次登录时还有效,就需要更该~/.bashrc 或者~/.bash_profile。方法是将alias [命令]='其他命令' 追加到~/.bashrc 或者~/.bash_profile末行,并执行source ~/.bashrc 或者source ~/.bash_profile使文件生效即可。(更改~/.bashrc或者~/.bash_profile只对当前单用户有效,对其他用户无效)



这里以修改~/.bashrc为例:
●yonghu1在~/.bashrc设置rm的别名,别名对yonghu1有效;
[yonghu1@oldboyedu-vm1 ~]$ echo "alias rm='echo Do not use the rm command.'">>~/.bash

[yonghu1@oldboyedu-vm1 ~]$ tail -1 ~/.bashrc
alias rm='echo Do not use the rm command.'
[yonghu1@oldboyedu-vm1 ~]$ source ~/.bashrc
[yonghu1@oldboyedu-vm1 ~]$ rm
Do not use the rm command.
●yonghu1重新登录,rm别名对yonghu1仍然有效,长期有效;
[yonghu1@oldboyedu-vm1 ~]$ logout
[yonghu1@oldboyedu-vm1 ~]$ rm
Do not use the rm command.
●yonghu2在执行rm的命令,别名对yonghu2有效;
[yonghu2@oldboyedu-vm1 ~]$ rm /data/1.txt.ln
rm: remove write-protected regular file `/data/1.txt.ln'?
[yonghu1@oldboyedu-vm1 ~]$ rm
Do not use the rm command.


③如果设置的别名对所有用户都有效,就要修改环境变量文件/etc/profile 或者/etc/bashrc,方法是将alias [命令]='其他命令' 追加到/etc/profile 或者/etc/bashrc 末行,并对应执行source  /etc/profile 或者/etc/bashrc 使文件生效即可,该操作是永久生效的,但是一般用户没有权限修改,需要root权限。


这里以修改/etc/profile为例:
★yonghu2在执行修改/etc/profile的命令,将rm别名追加到/etc/profile,没有权限;
[yonghu2@oldboyedu-vm1 root]$ whoami
yonghu2

[yonghu2@oldboyedu-vm1 root]$ echo "alias rm='echo Do not use the rm command.'">>/etc/profile
bash: /etc/profile: Permission denied
......
★超级用户root在执行修改/etc/profile的命令,将rm别名追加到/etc/profile,rm别名生效,永久生效;
[iyunv@oldboyedu-vm1 ~]# whoami

root
[iyunv@oldboyedu-vm1 ~]# echo "alias rm='echo Do not use the rm command.'">>/etc/profile
[iyunv@oldboyedu-vm1 ~]# tail -1 /etc/profile
alias rm='echo Do not use the rm command.'
[iyunv@oldboyedu-vm1 ~]# source /etc/profile
[iyunv@oldboyedu-vm1 ~]# rm
Do not use the rm command.
......
★用户2在执行rm命令,rm别名也是生效的;
[yonghu2@oldboyedu-vm1 ~]$ whoami
yonghu2
[yonghu2@oldboyedu-vm1 ~]$ rm
Do not use the rm command.
[yonghu2@oldboyedu-vm1 ~]$

★用户重新登录,然后再次执行rm命令,别名也是生效的;
[yonghu2@oldboyedu-vm1 ~]$ rm
Do not use the rm command.
[yonghu2@oldboyedu-vm1 ~]$
说明:

1、/etc/bashrc 和  ~/.bashrc 区别就在于/etc/bashrc 设置相当于国法,设置给全系统;~/.bashrc是家规,设置给单用户使用;
2、/etc/profile 和  ~/.bash_profile区别就在于/etc/profile 设置相当于国法,设置给全系统;~/.bash_profile 是家规,设置给单用户使用;
3、单用户设置包括超级用户root,root设置~/.bashrc 或者~/.bash_profile只对root有效;
4、至于/etc/profile 与/etc/bashrc的区别在以后再细谈,这里暂时可以认为都是国法,效果一样;
5、至于~/.bash_profile 与~/.bashrc的区别在以后再细谈,这里暂时可以认为都是家规,效果一样;



运维网声明 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.yunweiku.com/thread-294991-1-1.html 上篇帖子: ssh-keygen免密登录 下篇帖子: 破解ubuntu12.04的root密码 linux alias
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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