【shell】linux给命令取别名|shell 命令取别名|tr 转译命令|windows路径转linux路径
目录
在linux中很多时候我们会经常性的使用某些命令,比如切换到某个目录,但是目录结构太多,真的很累,这时候我们就可以自定义命令,也就是给命令取别名
Linux 中“命令取别名”涉及的命令为 alias 和 unalias(解除别名):
临时设置:
设置别名:
alias [别名]=[需要别名的命令]
alias [别名]=[需要别名的命令] # 注意,等号两边不要空格,若命令包含空格,则一定要加‘’
例子:lsl='ls -al'
删除别名:
unalias [别名]
写入配置文件长期有效:
涉及的文件有:
影响范围 | 加载 | |
/etc/profile | 系统 | 系统登录后 |
~/.profile | 当前用户 | 启动bash shell |
/etc/bash.bashrc | 系统 | 系统登录后 |
~/.bashrc | 当前用户 | 启动bash shell |
根据需求的影响范围选择一个来修改。
【linux】 profile和bashrc, ~/.profile ,~/.bashrc区别:【linux】 profile和bashrc, ~/.profile ,~/.bashrc_bandaoyu的博客-CSDN博客
例子:
给当前用户设置命令别名:
1、编辑~/.bashrc,添加 alias内容,保存退出。
2、执行命令:source ~/.bashrc ,使上步的编辑生效。
windows路径转linux路径
shell命令如何把windows的目录分隔符换成linux的目录分隔符,
使用 tr命令, echo "\c\d" | tr '\' '/'
#这个会报错,tr: warning: an unescaped backslash at end of string is not portable,需转译一下echo "\c\d" | tr '\\' '\/'
使用sed 命令 echo "xxx\yyy\zzz" | sed 's/\\/\//g'
#注意 echo "\c\d"的时候不能去掉双引号
chmod 777 $(echo "xxx\yyy\zzz" | tr '\' '/' )