查看当前别名
alias # 直接输入即可,无参数
临时设置别名
仅“当前终端窗口”且“当前用户”有效,切换窗口即失效
alias tmp_command="echo 这是临时命令别名"
临时删除别名
仅“当前终端窗口”且“当前用户”有效,切换窗口即失效
unalias tmp_command
设置永久别名-当前用户
方法:将别名设置写入到“~/.bashrc”文件中。
在“~/.bashrc”文件正常的任意位置(可与其他alias放一起)添加:alias tmp_command="echo 这是临时命令别名"
vi ~/.bashrc # 写入并保存
source ~/.bashrc # source执行并刷新shell环境,或重新登录该用户
设置永久别名-全部用户
方法:将别名设置写入到“~/.bashrc”文件中(Ubuntu中为“/etc/bash.bashrc”)。
在“~/.bashrc”文件正常的任意位置(可与其他alias放一起)添加:alias tmp_command="echo 这是临时命令别名"
vi ~/.bashrc # 写入并保存
source ~/.bashrc # source执行并刷新shell环境,或重新登录该用户
ssh远程执行命令-开启alias
引用参考链接内文字:
解决方案有几个:
一是在SSH直接运行命令的时候,通过参数指定使用交互方式启动bash(@Matei David);
二是在.bashrc等启动过程中会被读取的文件(bash启动读取的文件顺序)且会被执行的section中,使用shopt指令显式允许alias展开,并且要保证alias定义语句也能被执行到;
三是将alias改写成一个sh脚本,然后调用这个脚本来间接实现效果。
注:因为ssh在非交互模式下默认不开启alias别名功能。
方法一:
使用相关参数即可。
ssh:
- -t:强制分配伪终端。如果没有这个,bash在交互模式下启动时会发出警告消息。
bash:
- -c:从第一个非选项参数字符串读取命令
- -i:使用交互式
ssh bios@192.168.100.16 -t bash -ci 'alias;ll'
方法二:
在相应的“.bashrc”文件的开头添加(在判断之前):
# 开启alias功能(只在命令行执行这句不能使alias功能正常使用)
shopt -s expand_aliases
# 设置alias命令别名
alias ll='ls -alF'
相关参考:
为什么我的别名不能通过 ssh 工作?
在SSH后直接跟指令时,Alias不生效的问题(.bashrc中定义)
Shell_Linux shopt 指令