zsh的配置与使用以及grep的使用

好久没写过博客了,最近一直在和hostapd纠缠不休,课也比较多。今天心血来潮写一篇~~~整好今天装了个挺好用的小工具zsh,记一下安装和配置,以及命令grep的使用命令

Zsh

zsh介绍

zsh被誉为shell中的极品,自然有他的道理。Zsh 官网:http://www.zsh.org/ 它兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的。

zsh安装

Ubuntu下:

1
sudo apt-get install zsh

使用 Zsh 扩展集合:oh-my-zsh

  • 首先确保自己电脑中安装了git,若未安装先安装git
  • 安装oh-my-zsh:
    1
    wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
  • 在以 root 用户为前提下,oh-my-zsh 的安装目录:/root/.oh-my-zsh
  • 在以 root 用户为前提下,Zsh 的配置文件位置:/root/.zshrc
  • 为 root 用户设置 zsh 为系统默认 shell:chsh -s /bin/zsh root
  • 如果你要重新恢复到 bash:chsh -s /bin/bash
  • 查看是否修改shell成功
    1
    vim /etc/passwd
  • 现在你关掉终端或是重新连上 shell,现在开头是一个箭头了

zsh配置

编辑配置文件:vim /root/.zshrc
具体怎么配置,作者在注释里面说的很清楚。
###推荐两个插件:###

  1. autojump
  • 这个插件会记录你常去的那些目录,然后做一下权重记录,你可以用这个命令看到你的习惯:j –stat,如果这个里面有你的记录,那你就只要敲最后一个文件夹名字即可进入,比如我个人习惯的 program:j program,就可以直接到:/usr/program

  • 插件官网:https://github.com/wting/autojump

  • 官网插件下载地址:https://github.com/wting/autojump/downloads

  • 插件下载:wget https://github.com/downloads/wting/autojump/autojump_v21.1.2.tar.gz

  • 解压:tar zxvf autojump_v21.1.2.tar.gz

  • 进入解压后目录并安装:cd autojump_v21.1.2/ ; ./install.sh

  • 再执行下这个:source /etc/profile.d/autojump.sh

  • 编辑配置文件,添加上 autojump 的名字:vim /root/.zshrc

  1. zsh-syntax-highlighting
  • 这个插件会对终端命令高亮显示,比如正确的拼写会是绿色标识,否则是红色,另外对于一些shell输出语句也会有高亮显示,算是不错的辅助插件
  • 插件官网:https://github.com/zsh-users/zsh-syntax-highlighting
  • 安装,复制该命令:git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • 编辑:vim ~/.zshrc,找到这一行,后括号里面的后面添加:plugins=( 前面的一些插件名称 zsh-syntax-highlighting)
  • 刷新下配置:source ~/.zshrc

主题

编辑配置文件:vim /root/.zshrc

找到ZSH_THEME=”ys”,个人觉得这个主题挺好看。
设置完记得刷新配置。

###人性化设计###

  • tab有惊喜
  • 使用 ctrl-r 来搜索命令历史记录。按完此快捷键后,可以输入关键命令词语,如果历史记录有含有此词语会显示出来。
  • 命令别名:
    在命令行中输入 alias 可以查看已经有的命令别名
    自己新增一些别名,编辑文件:vim ~/.zshrc,在文件加入下面格式的命令,比如以下是网友提供的一些思路:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    alias cls='clear'
    alias ll='ls -l'
    alias la='ls -a'
    alias grep="grep --color=auto"
    alias -s html='vim' # 在命令行直接输入后缀为 html 的文件名,会在 Vim 中打开
    alias -s rb='vim' # 在命令行直接输入 ruby 文件,会在 Vim 中打开
    alias -s py='vim' # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
    alias -s js='vim'
    alias -s c='vim'
    alias -s java='vim'
    alias -s txt='vim'
    alias -s gz='tar -xzvf' # 在命令行直接输入后缀为 gz 的文件名,会自动解压打开
    alias -s tgz='tar -xzvf'
    alias -s zip='unzip'
    alias -s bz2='tar -xjvf'

grep的使用

grep常用参数说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]

OPTIONS:
-e: 使用正则搜索
-i: 不区分大小写
-v: 查找不包含指定内容的行
-w: 按单词搜索
-c: 统计匹配到的次数
-n: 显示行号
-r: 逐层遍历目录查找
-A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行
-B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行
-C: 显示匹配行前后多少行, 如: -C3, 则表示显示批量行前后3行
--color: 匹配到的内容高亮显示
--include: 指定匹配的文件类型
--exclude: 过滤不需要匹配的文件类型

grep常用用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#多文件查询
grep leo logs.log logs_back.log

#查找即包含leo又包含li的行
grep leo logs.log | grep li

#查找匹配leo或者匹配li的行
grep leo | li logs.log

#显示匹配行前2行
grep leo logs.log -A2

#显示匹配行后2行
grep leo logs.log -B2

#显示匹配行前后2行
grep leo logs.log -C2

#不区分大小写
grep -i leo logs.log

#使用正则表达式
grep -e '[a-z]\{5\}' logs.log

#查找不包含leo的行
grep -v leo logs.log

#统计包含leo的行数
grep -c leo logs.log

#遍历当前目录及所有子目录查找匹配leo的行
grep -r leo .

#在当前目录及所有子目录查找所有java文件中查找leo
grep -r leo . --include "*.java"

#查找并输出到指定文件
grep leo logs.log > result.log

#查找以leo开头的行
grep ^leo logs.log

#查找以leo结尾的行
grep leo$ logs.log

#查找空行
grep ^$ logs.log

zsh的配置与使用以及grep的使用
https://chujian521.github.io/blog/2019/03/19/zsh的配置与使用以及grep的使用/
作者
Encounter
发布于
2019年3月19日
许可协议