码迷,mamicode.com
首页 > 系统相关 > 详细

如何让linux用户自定义的命令alias永久生效?

时间:2015-08-18 10:12:14      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

alias(中文称为"别名")允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入。如果经常与 CLI 打交道,那么使用 alias 不仅会节省时间,而且也能提高效率,真是一举两得的好事。

????*
基本用法:?alias 的基本使用方法为: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/CentOS5vi不能语法高亮显示的问题

/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_nameUSERNAME 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
root@192.168.1.181‘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命令本身,而不是别名?


相关资料

1linux系统下给命令指定别名alias命令用法

210 个实用的 Bash alias

3】鸟哥的私房菜 命令別名設定: alias, unalias

4Computer Hope Linux / Unix alias command

5alias command

6Linux宝库 alias——别名

7Linux安全网 linux alias命令参数及用法详解--linux定义命令别名alias
8jiacheo linuxalias中使用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定义


[root@linuxso.com?~]#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里面

如何让linux用户自定义的命令alias永久生效?

标签:

原文地址:http://www.cnblogs.com/chaichuan/p/4738540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!