需求:无法使用ll命令 UOS系统默认的ls命令看不到当前文件夹下的权限、属主、属组之类的信息
2、我们可以使用ailas这个命令来设置别名
这下就可以看到我们想要的效果了,当然只是这样还不行,这样设置是有当前的shell终端可以使用,当我们关闭后或者打开新的终端后就失效了,如果想要一直生效,我们需要做下面的步骤 3、使用vim打开~/.bashrc文件,找到91行的alias ll='ls -l',把注释去掉,保存退出就好了
我们重新打开一个终端尝试一下可以看到,ll命令就等于ls -l了 这里要注意下,切换用户后就不好使了,因为我们改的只是当前用户的bashrc文件 下面是alias命令的用法 alias 定义或显示别名。 概要 alias [-p] [name[=value] ...] 主要用途 简化较长的命令。 定义一个或多个别名。 修改一个或多个已定义别名的值。 显示一个或多个已定义别名。 显示全部已定义的别名。 选项 -p:显示全部已定义的别名。 参数 name(可选):指定要(定义、修改、显示)的别名。 value(可选):别名的值。 返回值 alias返回true除非您要显示的别名未定义。 例子 # 显示全部已定义的别名 alias alias -p # 显示已定义的别名(假设当前环境存在以下别名) alias ls alias ls grep # 定义或修改别名的值 alias ls='ls --color=auto' alias ls='ls --color=never' grep='grep --color=never' 知识点 直接在shell里设定的命令别名,在终端关闭或者系统重新启动后都会失效,如何才能永久有效呢? 使用编辑器打开~/.bashrc,在文件中加入别名设置,如:alias rm='rm -i',保存后执行source ~/.bashrc,这样就可以永久保存命令的别名了。 因为修改的是当前用户目录下的~/.bashrc文件,所以这样的方式只对当前用户有用。如果要对所有用户都有效,修改/etc/bashrc文件就可以了。 请注意,以下内容可能与您实际使用的系统有出入: 在CentOS7下,这个文件是/etc/bash.bashrc。此外在CentOS7下,细看~/.bashrc文件,会发现有这样一段代码: if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi 这个代码的意思就是如果存在那么就加载.bash_aliases文件,所以也可以在用户根目录下新建该文件用于单独存放命令别名设置。 错误用法 要显示的别名未定义。 当您定义(修改)别名的值的时候,由于值的字符串有空格但您没有用单引号扩起,那么会导致严重的问题: # 为方便演示,删除全部别名 unalias -a # 没有用单引号扩起 alias rm=rm -rf # 执行命令后报错 bash: alias: -rf: not found # 这时使用alias查看rm的别名时返回 alias rm='rm' # 更具有迷惑性的例子 # 为方便演示,删除全部别名 unalias -a # 仍然没有用单引号括起 alias ls=ls --color=never # 执行命令后看起来没有报错 # 使用alias查看全部别名会发现运行结果如下: # alias --color=never # alias ls='ls' # alias处理时将它们看成了两组 Q&A Q:如果我要显示一到多个别名,但不知道其中是否有未定义的该怎么办? A:正常执行就是了,alias不会因为有一个未定义的别名就结束对剩余参数的执行。 Q:如果我这么定义alias cd='ls' ls='cd',会有什么后果? A:运行cd依然会切换目录,运行ls依然会列出文件夹的内容;不要这样定义。 注意 执行脚本时请注意: 使用source命令执行的bash脚本如果执行了alias或unalias命令,那么有可能会对终端环境的别名设置产生影响;终端环境的别名设置也可能改变运行结果; 通过sh方式调用的bash脚本或直接运行当前用户有执行权限的脚本不受终端环境的别名影响。 删除别名,请查看unalias命令。 建议您不要对mv cp rm等命令的别名设置危险的-f选项,比如alias rm='rm -f'。 需要注意别名是否和其他命令有冲突的情况。 该命令是bash内建命令,相关的帮助信息请查看help命令。
|