前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优雅地乱玩 Linux-2-zsh

优雅地乱玩 Linux-2-zsh

作者头像
szhshp
发布2022-09-21 09:54:11
6060
发布2022-09-21 09:54:11
举报
文章被收录于专栏:szhshp 的第四边境中转站

更新历史:

  • 2017 年 05 月 28 日 s - 攒写最初正文
  • 2017 年 07 月 09 日
    • 添加插件推荐
  • 2017 年 11 月 04 日
    • Fixed typo
  • 2017 年 11 月 05 日
    • 添加 cnpm 支持的指导

Zsh

安装 zsh

代码语言:javascript
复制
sudo apt-get install zsh

安装成功后输入

代码语言:javascript
复制
zsh

进行初始化, 一般使用默认设置就可以

使用

首先, 使用这行命令可以查看当前使用的 Shell

代码语言:javascript
复制
echo $SHELL
设置 Zsh 为默认 Shell

正常情况, 运行下面代码即可:

代码语言:javascript
复制
chsh -s /bin/zsh
reset

然鹅, 这里可能出现很多情况, 比如权限不够, 或者路径不是 /bin/zsh , 这个时候先查看一下所有的 Shell

代码语言:javascript
复制
cat /etc/shells

然后将 zsh 那个设置成对应的 shell

代码语言:javascript
复制
chsh -s [which zsh]
Error "chsh: PAM authentication failed"

但是, 这里依然不一定生效, 可能会出现 chsh: PAM authentication failed 的错误

那么就使用这个方法:

well, my solution maybe help you sudo vim /etc/pam.d/chsh then, comment auth required pam_shells.so sudo chsh [user] -s [which zsh]

如果依然不行, 那么就只能直接修改 sudo vi /etc/passwd 文件

Open /etc/passwd: sudo vi /etc/passwd Find the line with your username: username:x:1634231:100:Your Name:/home/username:/bin/bash and replace bash with zsh: username:x:1634231:100:Your Name:/home/username:/bin/zsh Log out and log inback for the changes to take effect.

安装 oh my zsh

似乎只能在 zsh 里面安装, 所以先保证切换 shell 到 zsh 再执行下面的语句:

代码语言:javascript
复制
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
主题设置

设置主题需要先安装 oh-my-zsh, 单纯安装 zsh 无法使用

代码语言:javascript
复制
vi ~/.zshrc

即可打开配置, 然后设置, 就可以使用 oh-my-zsh 下面 theme 文件夹里面的主题了

代码语言:javascript
复制
ZSH_THEME=robbyrussell
别名设置

就是给累赘的命令行增加个别名, 在配置文件末端进行设置即可:

代码语言:javascript
复制
# Example aliases
# alias zshconfig="gedit ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias cls='clear'
alias show='nautilus'

取消第一行注释之后就可以通过 zshconfig 快速打开配置文件了

插件设置

oh my zsh 项目提供了完善的插件体系, 相关的文件在 ~/.oh-my-zsh/plugins 目录下, 默认提供了 100 多种, 大家可以根据自己的实际学习和工作环境采用, 想了解每个插件的功能, 只要打开相关目录下的 zsh 文件看一下就知道了.

插件也是在.zshrc 里配置, 找到 plugins 关键字, 你就可以加载自己的插件了, 系统默认加载 git , 你可以在后面追加内容, 如下:

代码语言:javascript
复制
plugins=(git textmate ruby autojump osx mvn gradle)
autojump
installation

首先安装 autojump:

sudo apt install autojump

最后把以下代码加入 .zshrc (git 是默认的插件):

如果没有下面这一行就自己加上

代码语言:javascript
复制
plugins=(git autojump)

然后在最末端添加下面这一行:

代码语言:javascript
复制
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh

你可能需要在终端里面执行一次 Reload 或者 Log Off 一次才能看到改变

这样就可以了

使用

最主要的就是 j 命令:

代码语言:javascript
复制
j [name]

autojump 首先会查找含有上方关键字的路径的访问权重, 然后进入权重最大的那个文件夹, 当然需要你先进入一次这个文件夹

可以通过输入:

代码语言:javascript
复制
j --stat

查看访问过的各个文件夹的权重

Git

默认开启的一个插件, 会在 repo 里面自动显示 git 相关信息

Ubuntu

这个其实只是一些 alias 而已

主要有一些很好用的 alias:

ag = sudo Apt-Get agi = sudo Apt-Get Install agd = sudo Apt-Get Dselect-upgrade By now you already can guess almost all aliases

cnpm 对 zsh 的支持

如果你用的 zsh, cnpm 就不能直接使用, 必须添加一个 alias

代码语言:javascript
复制
# alias it in .bashrc or .zshrc

echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
  --cache=$HOME/.npm/.cache/cnpm \
  --disturl=https://npm.taobao.org/dist \
  --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

上面用的是默认 zshconfig 路径, 改成你需要的路径就行

系列文章

优雅地乱玩 Linux

参考文献

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zsh
    • 安装 zsh
      • 使用
        • 设置 Zsh 为默认 Shell
        • Error "chsh: PAM authentication failed"
      • 安装 oh my zsh
        • 主题设置
        • 别名设置
        • 插件设置
        • cnpm 对 zsh 的支持
    • 系列文章
    • 参考文献
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档