shell介绍
真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。
由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核。
用户界面和命令行就是这个另外开发的程序,就是这层“代理”。在Linux下,这个命令行程序叫做 Shell。
Shell 除了能解释用户输入的命令,将它传递给内核,还可以:
- 调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果;
- 在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入;
- Shell 本身也可以被其他程序调用。
由此可见,Shell 是将内核、程序和用户连接了起来。
Shell 本身支持的命令并不多,但是它可以调用其他的程序,每个程序就是一个命令,这使得 Shell 命令的数量可以无限扩展,其结果就是 Shell 的功能非常强大,完全能够胜任 Linux 的日常管理工作,如文本或字符串检索、文件的查找或创建、大规模软件的自动部署、更改系统设置、监控服务器性能、发送报警邮件、抓取网页内容、压缩文件等。
Shell 并不是简单的堆砌命令,我们还可以在 Shell 中编程,这和使用 C/C++、Java、Python 等常见的编程语言并没有什么两样。
为什么用zsh
一般Linux下有bash,sh等,zsh功能较多,但配置麻烦.
因为有oh-my-zsh工具可以方便配置zsh,所以使用了zsh
我使用的Ubuntu,没有zsh
先下载1
sudo apt install zsh;
接下来安装所说的工具
1
2
3
4
5 curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
wegt
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
多半会出现网络问题…
可以翻墙
也可以使用git1
2
3git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s /bin/zsh
我用虚拟机时出现一个问题,chsh -s /bin/zsh 没有反应…
重启之后就好了,应该是小bug
我们可以发现有两个zsh
一个/bin/zsh 另一个 /usr/bin/zsh
貌似都可以用
在~目录下可以看见.ohmyzsh与.zshrc文件
可以在.zshrc更改插件主题
可以在.oh-my-zsh查看直接可以用的主题和插件
当然,一些第三方插件也是需要的,可以从网上下载
安装插件,主题
安装第三方插件,可以安装到刚在所说的plugins目录,也可以安装到一个custom下的plugin目录
在相关github主页直接clone到该目录下
1.incr 自动提示
2.auto-suggestions
3.zsh-syntax-hightlighting
4.autojump
安装autojump时注意提示,需要在相关文件更改
然后在.zshrc文件中修改
增加插件即可1
source .zshrc
再source一下更新
更改主题类似
如果使用某些主题会有字体缺失,比如agnoster1
sudo apt-get install fonts-powerline
下载相关字体即可
展示
参考
Oh-My-Zsh的配置与使用 - 再见理想_ - 博客园 (cnblogs.com)
oh-my-zsh 插件介绍 | Jennifer’s Blog (jyzhangchn.github.io)
Linux/Mac如何配置zsh并使用Oh-my-zsh?让你的终端更加好用 - Mintimate’s Blog
Oh-My-Zsh及主题、插件安装与配置 - 自命不凡的海浪 - 博客园 (cnblogs.com)
(15条消息) 解决:/usr/bin/env: ‘python’: No such file or directory_skr?-CSDN博客