1 Star 0 Fork 2

zhangjin / BigData

forked from sunnyandgood / BigData 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Linux命令别名.md 3.82 KB
一键复制 编辑 原始数据 按行查看 历史
sunnyandgood 提交于 2018-07-10 10:44 . BigBata

Linux命令别名

在 Linux 中可以为一个完整的命令和相关参数设置一个别名,通过别名可以执行与命令相同的效果,这样可以减少命令行输入方便操作。

  • 在 Linux 的发行版本中默认设置了几个命令的别名,可以通过命令 alias -p 或 alias 命令查看,如下。

    $ alias -p
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias vi='vim'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
  • 可以使用 alias 命令定义自己的命令别名,如下例子。

    $ alias hlog='cd /usr/local/hadoop/logs'
    $ pwd
    /home/hadoop01
    $ hlog
    $ pwd
    /usr/local/hadoop/logs

    上面例子定义了一个命令的别名 hlog,是切换到 Hadoop 的日志目录,定义了别名后,就可以在 Shell 进程和脚本中使用了。但是要注意,定义的别名如果与局部变量相同,则只能在定义的别名的 Shell 进程中可以使用,如下说明。

        注:定义别名显示/etc/profile 配置文件内容到控制台
        $ alias catPf='cat /etc/profile'
        
        注:执行命令别名,下面打印文件内容到控制台,
        $ catPf
        # /etc/profile
        # System wide environment and startup programs, for login setup
        # Functions and aliases go in /etc/bashrc
        # It's NOT a good idea to change this file unless you know what you
        # are doing. It's much better to create a custom.sh shell script in
        # /etc/profile.d/ to make custom changes to your environment, as this
        # will prevent the need for merging in future updates.
    
        
        * 注:在当前 Shell 进程中启动一个新的 Shell 子进程
        $ bash
        
        注:执行命令别名,可以看到命令找不到,说明定义的命令别名与局部变量相同,只能在定义别名的 Shell 进程中才可见
        $ catPf
        bash: catPf: command not found
        
        注:终止子 Shell 进程并回到定义别名的 Shell 进程(父进程)
        $ exit
        exit
        
        注:执行别名,没问题,找到了
        $ catPf
        # /etc/profile
        # System wide environment and startup programs, for login setup
        # Functions and aliases go in /etc/bashrc
        # It's NOT a good idea to change this file unless you know what you
    
  • 如果想将定义的别名在所有的 Shell 进程中可用,通常可以将命令别名定义在.bashrc 文件中,这样登录的用户就可以在所有的 Shell 进程和脚本中可以使用定义的命令别名了。因为配置文件.bashrc 会在启动一个 Shell 进程时提前执行,如下所示。

    .bashrc:

        # .bashrc
        # Source global definitions
        if [ -f /etc/bashrc ]; then
         . /etc/bashrc
        fi
        # User specific aliases and functions
        # 定义命令别名 vpf,用 vi 编辑器打开/etc/profile 配置文件
        # 在此文件中定义的命令别名会在所有启动的 Shell 进程或脚本中访问
        # 注意:只有当前用户启动的 Shell 进程和运行的脚本中可以访问
        alias vpf='vi /etc/profile'
  • 命令别名调用:

        注:重新执行配置文件使配置生效
        $ . .bashrc
        
        注:调用别名,会用 vi 编辑器打开/etc/profile 配置文件
        $ vpf
        
        注:重启一个 Shell 进程
        $ bash
        
        注:调用命令别名,还可以打开/etc/profile 配置文件
        $ vpf
        
        注:退出当前进程
        $ exit
        exit
Java
1
https://gitee.com/zhang-jin/BigData.git
git@gitee.com:zhang-jin/BigData.git
zhang-jin
BigData
BigData
master

搜索帮助