我用 Linux程序员

Ubuntu上安装终极shell zsh

2017-11-30  本文已影响537人  乃铭

为什么要用ZSH?

当然是追求效率提高生产力,譬如强大的补全功能,别名直接操作文件,杀进程名,跳转,好看的配色

参考如下两篇文章:

为什么说 zsh 是 shell 中的极品?
终极 Shell——ZSH

开始安装

看一下当前有哪些shell可用:

cat /etc/shells

/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux

没有zsh?只好安装,安装后更改默认shell chsh -s /bin/zsh

apt-get install zsh

安装好之后更改默认shell失败,/etc/passwd 里面竟然没有我的用户名。只好手动添加了一个。每一行有多个字段,每个字段用:分割。字段含义:(1)注册名(login_name),(2)口令(passwd),(3)用户标识号(UID),(4)组标识号(GID),(5)用户名(user_name),(6)用户主目录(home_directory),(7)命令解释程序(Shell)。更多参考:https://zvv.me/linux/545.html

添加好用户之后执行chsh -s /bin/zsh成功。但是发现不能在根目录下执行写操作。Linux文件权限有三种:文件所有者(owner),组(group),其他人(other)。作为home目录的拥有者我有rwx的权限,怎么可能失败?问题出在添加用户时的UID与root重复了,更改之后问题修复。

问题复发,由于我的用户是LDAP,怀疑和本地添加的用户有冲突。选择用.profile来规避。在家目录下创建.profile文件,简单粗暴的执行zsh即可。

如何配置zsh?安装一个叫「oh my zsh」的项目:

Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

.zshrc中设置别名:

alias cls='clear'
alias ll='ls -lrt'
alias la='ls -a'
alias vi='vim'
alias src='source ~/.zshrc'
alias -s py=vi       # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
alias -s js=vi
alias -s c=vi
alias -s java=vi
alias -s txt=vi
alias -s gz='tar -xzvf'
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'
上一篇下一篇

猜你喜欢

热点阅读