Ubuntu上安装终极shell zsh
2017-11-30 本文已影响537人
乃铭
为什么要用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'