登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 1333|回复: 0

Fish shell 入门教程

[复制链接]

216

主题

1

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2017-12-4 01:54:12 | 显示全部楼层 |阅读模式 来自 澳大利亚
来自:阮一峰的网络日记
链接:www.ruanyifeng.com/blog/2017/05/fish_shell.html(点击尾部阅读原文前去)
作者: 阮一峰


下令行是步伐员的必备技能。图形界面固然悦目,办理题目照旧要靠下令行。
下令行由 Shell 提供。各种下令通过 Shell,通报给操纵体系的内核。学习下令行就是在学习 Shell。


M2ND2IcidI26Ig2I.jpg


Shell 有好几种,现在最常用是 Bash 和 zsh。但是,在我看来,它们都不如 Fish Shell 好用。


五年前,我第一次实验 Fish,感到很惊艳,不停用到如今。本文先容 Fish 的重要特点,盼望你也来实验它。


EFFFVzzVy1y8vus1.jpg



一、简介



Fish 是"the friendly interactive shell"的简称,最大特点就是方便易用。许多其他 Shell 必要设置才有的功能,Fish 默认提供,不必要任何设置。


假如你想拥有一个方便好用的 Shell,又不想学习一大堆语法,大概耗费许多时间设置,那么你肯定要实验一下 Fish。


Vsk6A4SuA4ZSsQ6Z.jpg



二、安装



Ubuntu 和 Debian 的安装方法。
$ sudo apt-get install fishMac 的安装方法。
$ brew install fish其他体系的安装请参考官方网站。


三、启动与资助



安装完成后,就可以启动 Fish。
$ fish由于 Fish 的语法与 Bash 有很大差别,Bash 脚本一样平常不兼容。因此,我发起不要将 Fish 设为默认 Shell,而是每次手动启动它。


利用过程中,假如必要资助,可以输入help下令。欣赏器就会主动打开,表现在线文档。
$ help四、彩色表现



进入 Fish 以后,你留意到的第一件事,大概就是它默认彩色表现。
# 无效下令为赤色  
$ mkd   # 有用下令为蓝色  
$ mkdir有用路径会有下划线。
$ cat ~/somefi上面代码表现,存在以~/somefi开头的路径。假如没有下划线,你就知道这个路径不存在。


五、主动发起



Fish 会主动在光标背面给出发起,表现大概的选项,颜色为灰色。
# 下令发起  
$ /bin/hostname   # 参数发起  
$ grep --ignore-case   # 路径发起  
$ ls node_modules假如采取发起,可以按下→或Control + F。假如只采取一部门,可以按下Alt + →。


六、主动补全



输入下令时,Fish 会主动表现匹配的上一条汗青记载。
$ git commit -m "feat: first commit"假如没有匹配的汗青记载,Fish 会推测大概的效果,主动补全各种输入。好比,输入pyt再按下Tab,就会主动补全为python下令。


假如有多个大概的效果,Fish 会把它们都列出,还带有扼要先容。
$ vi[按下 Tab 键]   vi (Executable link, 2.7MB)   view (Vi IMproved, 一个步伐员的文本编辑器)   viewer.py (Executable, 967B)   viewres  (Graphical class browser for Xt)   ...and 12 more rows这时,再按一次tab,就可以在这些下令之中选择。


除了补全下令,Fish 还可以补全参数。好比,ls下令的-l参数背面按下Tab键,就会表现可以连用的其他参数。
$ ls -l[按下 Tab 键]   -l1  (List one file per line)   -lA  (Show hidden except . and ..)     -la  (Show hidden)   -lB  (Ignore files ending with ~)   ...and 16 more rowsFish 还可以主动补全 Git 分支。
$ git checkout master七、易懂的语法



Fish 的语法非常天然,一眼就能看懂。


if语句。
if grep fish /etc/shells       echo Found fish   else if grep bash /etc/shells       echo Found bash   else       echo Got nothing   end
switch语句。
switch (uname)   case Linux       echo Hi Tux!   case Darwin       echo Hi Hexley!   case FreeBSD NetBSD DragonFly       echo Hi Beastie!   case '*'       echo Hi, stranger!   endwhile循环。
while true       echo "Loop forever"  
endfor循环。
for file in *.txt       cp $file $file.bak   end八、函数



Fish 的函数用来封装下令,大概为现有的下令起别名。
function ll       ls -lhG $argv   end上面代码界说了一个ll函数。下令行实行这个函数以后,就可以用ll下令替换ls -lhG。此中,变量$argv表现函数的参数。


下面是另一个例子。
function ls       command ls -hG $argv   end上面的代码重新界说ls下令。留意,函数体内的ls之前,要加上command,否则会由于无穷循环而报错。


九、提示符



fish_prompt函数用于界说下令行提示符(prompt)。
function fish_prompt       set_color purple       date "+%m/%d/%y"       set_color FF0       echo (pwd) '>'       set_color normal   end实行上面的函数以后,你的下令行提示符就会酿成下面如许。
02/06/13  
/home/tutorial > 十、设置



Fish 的设置文件是~/.config/fish/config.fish,每次 Fish 启动,就会主动加载这个文件。


我们可以在这个文件内里写入各种自界说函数,它们会被主动加载。好比,上面的fish_prompt函数就可以写在这个文件内里,如许每次启动 Fish,就会出现自界说的提示符。


Fish 还提供 Web 界面设置该文件。
$ fish_config输入上面的下令以后,欣赏器就会主动打开本机的 8000 端口,用户可以在网页上对 Fish 举行设置,好比选择提示符和配色主题。


rtXIXD1Lnn5ieXiT.jpg



●本文编号223,以后想阅读这篇文章直接输入223即可。
●输入m可以获取到文章目次
保举↓↓↓ 
ibz5KRbo53Y1SOWD.jpg

算法与数据布局

保举15个技能类公众微信

涵盖:步伐人生、算法与数据布局、黑客技能与网络安全、大数据技能、前端开辟、Java、Python、Web开辟、安卓开辟、iOS开辟、C/C++、.NET、Linux、数据库、运维等。




上一篇:15分钟学会shell脚本,最简明的教程在这里
下一篇:​Python ​是怎么来学的?分享大神履历!
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-16 06:51 , Processed in 0.107803 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表