## bash下的设置
` `Linux 可以创建自定义使用命令 这里我们采取使用“alias”命令。这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令。
` `**该文件内创建的自定义命令,只能在当前用户使用**
~~~
/~/.bashrc
~~~
` `**该文件内创建的自定义命令,可以被所有用户使用**
~~~
/etc/bashrc
~~~
` `**语法:**
~~~
alias[别名]=[指令名称]
~~~
` `**使用:**
* **临时生效**
~~~
# 直接在终端使用命令
alias ls='top'
~~~
~~~
# 取消自定命令
unalias ls
~~~
* **当前用户永久生效**
**vim /~/.bashrc**
```
* **当前用户永久生效**
**vim /~/.bashrc**
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
# 自定义命令
alias ls='top'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
~~~
# 立即生效
source /~/.bashrc
~~~
```
* **所用用户永久生效**
**vim /etc/bashrc**
~~~
# 文件内容尾行添加
alias 删库跑路='rm -rf /*'
~~~
~~~
# 立即生效
source /etc/bashrc
~~~
* **单独存入文件内写入内容**
~~~
# 判断文件存活
if [ -f ~/.创建文件名 ]; then
. ~/.创建文件名
fi
~~~
## fish下的设置
` `fish很好用,但是和bash还是有一些区别的,fish的配置文件在`~/.config/fish`下面,如果你要自定义命令,那么你需要在fish下新建一个叫做`functions`的文件夹,然后在里面新建文件,文件为.fish,每一个.fish文件对应一个函数,如
![](https://img.kancloud.cn/b4/a4/b4a4431d3a042eab101007911b3a620d_549x174.png)
之后就可以在终端使用`mhw_server`来连接自己的远程服务器。
` `此外还可以在fish文件夹夹建立`config.fish`文件,在里面使用`alias`来实现,假如在`config.fish`写入如下内容:
```
alias say "echo hello"
alias say2 "echo you"
```
` `重启fish后就可以使用`say`和`say2`命令了。
![](https://img.kancloud.cn/75/0e/750eeb6569164ef126b174d84e77bc20_236x141.png)
` `fish 完全使用函数定制行为,你可以通过添加一些特殊的函数定制 fish 的行为,例如 prompt,fish 没有 PS1 这类特殊变量,而是使用一个固定的函数。
` `**配置文件**: fish 首先会读取全局配置文件(如果是 brew 安装的话位于 /usr/local/etc/fish/config.fish), 然后读取你 home 下的 ~/.config/fish/config.fish (如果存在的话)。
` ` **设置 alias**: fish 出于兼容考虑提供了和其它 shell 一样语法的 alias,可以直接把原来的 alias 拷贝过来使用,fish 会在内部将 alias 转换为函数使用。
fish 提供了更实用的 abbr 内置命令可以替换大多数 alias 使用, 例如:
~~~text
abbr -a l ls -lhS
~~~
` `即可添加 l 为 ls -lhS 的缩写(使用 abbr -h 查看完整说明)。 缩写命令会在使用 和 回车时显示完整命令。因为 abbr 只能作为全局变量, 所以如果在 config.fish 文件内定义多个 abbr 会很大程度影响 fish 脚本的启动效率, 解决办法就是只在命令行内使用 abbr 命令进行设置,而不是加在 config.fish 文件内。
` `abbr 相比于 alias,可以让你看到完整的命令,同时可以继续使用原来命令的补全功能。