如何让linux用户自定义的命令alias永久生效?
alias(中文称为“别名”)允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入。如果经常与 CLI 打交道,那么使用 alias 不仅会节省时间,而且也能提高效率,真是一举两得的好事。
* 基本用法: al ias 的基本使用方法为:alias 新的命令=‘原命令 -选项/参数‘。举例说明,alias l=‘ls -lsh‘ 将重新定义 ls 命令,现在只需输入 l 就可以列目录了。
* 获知别名: 直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。
* 删除别名: 要删除一个别名,可以使用 unalias 命令,如 unalias l。
上面的是网上看到的,这个方法只是暂时的,如果重启一次就失效了,如果我们想永久生效一个命令怎么办呢?
打开 .bashrc (应该是ubuntu发行版的,其他发行版也许可以修改.bash_profile)可以看到
……
# some more ls aliases
alias ll=‘ls -alF‘
alias la=‘ls -A‘
alias l=‘ls -CF‘
……
方法1 :直接在我们的 环境变量文件中添加 alias xx=‘xxxxx‘
方法2 : .bashrc 中有一句话
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
就是说可以另外新建一个文件用于专门存放自己的alias信息
例
$ cd
$ vi .bash_aliases
在文件中输入自己想设置的命令 alias rm=‘rm -i‘ 然后保存推出
$ source .bashrc #让我们的环境生效
方法……----------------------请注意实际在centos5测试 发现应该是.bashrc
小结:
1.很多时候我们只注意了解决问题本身,但是往往忽略了其他的东西,在解决问题的过程中也是一个学习的机会,尤其不要忘了看软件源码之类的注释!突然发现这个非常重要,就是因为看了注释,我才发现了这个方法,而我本来的目的是想对我自己的环境变量进行设置修改,在解决环境变量的问题同时我又顺带解决了这个 alias的问题,以后得牢记!!!
2.在查找网上的解决方法的时候,经常发现别人有的文件本机没有,例如.bashrc 和 .bash_profile 可能就是不同发行版上的,这个时候可以换个搜索方式,或者自己尝试……
分类: ubuntu
http://www.cnblogs.com/jjyoung/archive/2011/07/15/2107788.html
如果是当前的session
使用过的Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
本文链接: http://codingstandards.iteye.com/blog/1145318 (转载请注明出处)
用途说明
设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见示例三】,使长命令变短,使常用的长命令行变短,强制执行命令时询问等。
常用参数
格式:alias
格式:alias -p
显示当前设置的别名。
格式:alias name=‘command line‘
设置别名。
格式:alias name
显示指定的别名设置。
格式:unalias name
取消指定的别名设置。
使用示例
示例一 解决RHEL5/CentOS5下vi不能语法高亮显示的问题
在/etc/profile的末尾添加vi的别名设置
alias vi="vim"
显示二 显示当前的别名设置
[root@jfht ~]# alias
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=tty‘
alias ll=‘ls -l --color=tty‘
alias ls=‘ls --color=tty‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
[root@jfht ~]# alias cp
alias cp=‘cp -i‘
[root@jfht ~]#
示例三 ssh别名
ssh 别名 - alias server_name=‘ssh -v -l USERNAME IP ADDRESS‘,更改 server_name、USERNAME 及 IP 地址以适应你的需要。对于经常要使用 ssh 登录远程 shell 的同学来说,这是一个值得收藏的别名。
[root@jfht ~]# alias 180=‘ssh 192.168.1.180‘
[root@jfht ~]# 180
ssh: connect to host 192.168.1.180 port 22: No route to host
[root@jfht ~]# alias 181=‘ssh 192.168.1.181‘
[root@jfht ~]# 181
[email protected] ‘s password:
[root@jfht ~]#
示例四 常见别名设置集锦
alias l="ls -l"
alias ll="ls -l"
alias lm=‘ls -al | more‘
模拟DOS风格的命令
alias clr=clear
alias cls=clear
alias copy=‘cp -i‘
alias del=‘rm -i‘
alias delete=‘rm -i‘
alias dir=‘ls -alg‘
alias home=‘cd ~‘
alias ls=‘ls -F‘
alias md=mkdir
alias move=‘mv -i‘
alias type=more
alias cd..=‘cd ..‘
alias home=‘cd /home/dave/public_html‘
alias list=‘ls -la‘
alias attrib=‘chmod‘
alias chdir=‘cd‘
alias copy=‘cp‘
alias cp=‘cp -i‘
alias d=‘dir‘
alias del=‘rm‘
alias deltree=‘rm -r‘
alias dir=‘/bin/ls $LS_OPTIONS --format=vertical‘
alias edit=‘pico‘
alias ff=‘whereis‘
alias ls=‘/bin/ls $LS_OPTIONS‘
alias mem=‘top‘
alias move=‘mv‘
alias mv=‘mv -i‘
alias pico=‘pico -w -z‘
alias rm=‘rm -i‘
alias search=‘grep‘
alias v=‘vdir‘
alias vdir=‘/bin/ls $LS_OPTIONS --format=long‘
alias which=‘type -path‘
alias wtf=‘watch -n 1 w -hs‘
alias wth=‘ps -uxa | more‘
问题思考
1. 怎么取消指定别名?
2. 别名在shell脚本中有效吗?
3. 怎样列出所有别名?
4. 怎样取消所有别名?
5. 怎样执行ls命令本身,而不是别名?
相关资料
【1】linux系统下给命令指定别名alias命令用法
【2】10 个实用的 Bash alias
【3】鸟哥的私房菜 命令別名設定: alias, unalias
【4】Computer Hope Linux / Unix alias command
【5】alias command
【6】Linux宝库 alias——别名
【7】Linux安全网 linux alias命令参数及用法详解--linux定义命令别名alias
【8】jiacheo 在linux的alias中使用awk遇到的问题 http://codingstandards.iteye.com/blog/1145318
命 令: alias
功能说明:设置指令的别名。
语 法:alias[别名]=[指令名称]
补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。
还有,如果你想给每一位用户都生效的别名,请把alias la=‘ls -al‘ 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件 /etc/bashrc和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用.
参 数:若不加任何参数,则列出目前所有的别名设置。 资料来自 www.linuxso.com Linux安全网
CentOS5.6自带的alias定义
[ [email protected] ~]#alias
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=tty‘
alias ll=‘ls -l --color=tty‘
alias ls=‘ls --color=tty‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
有的系统里没有ll这个命令,原因就是没有定义ll=‘ls -l --color=tty‘这个别名
利用alias可以把很长的命令变成任意我们喜欢的简短的
设置和修改alias命令别名格式很简单
alias ll=‘ls -l --color=tty‘
如果想永久生效,就把这条写入到 /etc/bashrc里面
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。