macOS + iTerm + oh-my-zsh 常用命令

macOS 下的 Shell

工具推荐:iTerm2,因为比原生的终端好用1w倍,可以支持各种自定义主题,墙裂推荐~ iTerm官网
工具推荐:oh-my-zsh,zsh 解释器的配置管理工具,在 zsh 提供的强大的补全,良好的交互前提下,还提供了主题,插件等等管理功能。 oh-my-zsh、命令列表
macOS 的内核衍生自 FreeBSD,shell 命令也继承了 FreeBSD 的配置。相比之下 Linux Shell 更加灵活,为了用的更爽,我们可以安装 coreutils 来使用 Linux 风格的 Shell,参见博客:macOS 下使用 Linux Shell

常用命令

1.帮助

可以用 man 查看一个命令的文档,甚至可以用 man 查看 man 命令。还可以用 man 查看 zsh,csh 等等。

    $ man man
    a : find all matching entries
    c : do not use cat file
    d : print gobs of debugging information
    D : as for -d, but also display the pages
    f : same as whatis(1)
    h : print this help message
    k : same as apropos(1)
    K : search for a string in all pages
    t : use troff to format pages for printing
    w : print location of man page(s) that would be displayed
        (if no name given: print directories that would be searched)
    W : as for -w, but display filenames only
    
    $ man zsh

man 命令可以有很多参数功能很强大,甚至可以修改命令的配置,但是我们用的最多的就是查看命令的文档了。

还可以用 where 命令查看一个命令的文件路径和alias。
可以通过 where 看到 take 是一个函数,cd 是一个 build-in 命令。还可以 where where。

    $ where ls
    ls: aliased to ls --color=tty
    /usr/local/opt/coreutils/libexec/gnubin/ls
    /bin/ls
    
    $ where take
    take () {
       mkdir -p $1
       cd $1
    }
    
    $ where cd
    cd: shell built-in command
    /usr/bin/cd

当用 man 查看 where 时,会出现 build-in 的 command 列表,还有 alias,break 等等命令。

2.目录操作

  • 查看目录 $ ls
    oh-my-zsh 提供的快捷命令 $ l 用 where 可以看到它是 $ ls -lah 的别名。

  • 查看当前路径 $ pwd

  • 进入父级文件夹 $ cd ..
    快捷命令 $ ..
    祖父级文件夹 $ ...
    甚至可以 $......,最多6个~

  • 进入用户目录 $ cd ~
    快捷命令 $ ~

  • 进入根目录 $ cd /
    快捷命令 $ /

  • 返回刚才的文件夹 $ cd -
    快捷命令 $ -

  • 新建文件夹 $ mkdir
    创建多级文件夹,如果中间路径的文件不存在会报错,可以加上 $ -p 选项,会自动创建不存在的文件夹。

$ mkdir test/test
mkdir: cannot create directory ‘test/test’: No such file or directory
$ mkdir test/test -p

快捷命令:$ take ,相当于 mkdir -p + cd,创建文件夹及其路径,并进入文件夹

  • 删除文件夹:$ rm -rf test,强制递归删除文件夹及其内容。

3.文件操作

  • 新建文件 $ touch test.txt
  • 查看文件内容 $ cat test.txt,还可以接 grep 进行筛选。
  • 重定向
    $ ls > test.txt 重定向标准输出到文件,并覆盖原来的内容。
    $ ls 2> test.txt 重定向标准错误到文件,并覆盖原来的内容,2代表标准错误。
    $ ls >> test.txt 重定向标准输出到文件,并追加到原来的内容后。
    $ ls 2>> test.txt 重定向标准错误到文件,并追加到原来的内容后。
    $ ls < test.txt 重定向标准输入到文件,并覆盖原来的内容。
  • 文件统计
    wc 命令,返回文件的行数,词数,字符数。-l 选项,只返回行数。
    还可以用 sort 排序内容,uniq 去重。
    $wc test.txt
     7  7 59 test.txt
    $wc -l test.txt
     7 test.txt
    $cat text.txt | sort | uniq | wc -l
     7 test.txt
    
  • 文件查找 $ find directory -name filename,查找 directory 目录下名为 filename 的文件。
    可以用正则表达式匹配文件名 $find . -name 'test*'。
    设定搜索深度 $find . -name test -maxdepth 1

4.git 命令

oh-my-zsh 提供了很多 git 命令的别名,让经常使用 git 命令提升了很多效率。
如下一些常用 git 操作,缩写后可以接一些选项,例如 $ gc -m'sth'

macOS + iTerm + oh-my-zsh 常用命令_第1张图片

git 的 alias 有很多,一时间不能全都记下来,可以用 alias 查看,grep 过滤。

$ alias | grep "git stash"
gsta='git stash save'
gstaa='git stash apply'
gstc='git stash clear'
gstd='git stash drop'
gstl='git stash list'
gstp='git stash pop'
gsts='git stash show --text'

4.快捷键

macOS 下的 iTerm2 基本快捷键与其他应用一致,以下是一些特殊快捷键。
command + R/K,清空屏幕
command + enter,进入/退出全屏
command + D,垂直分屏
command + shift + D,水平分屏
command + U,变换透明度
command + ; ,命令历史
control + A,移动光标到行尾
control + E,移动光标到行尾
control + W,删除光标前的内容
command + K,删除光标后的内容
control + U,删除整行
control + D,删除光标后的字符

5.其他

  • 管道,提供命令的链接使用,前一个命令的输出是后一个命令的输入。用 | 表示。
    查找ga命令的使用次数:$history | grep 'ga' | wc

  • $zsh_stats 查看命令的使用统计。

$history | grep 'git add'
 3671  git add test
 4112  git add .
  • $ps -A 查看所有进程,因为进程较多,一般与grep 连用。

6.参考文档:

什么是 shell
iTerm官网
oh-my-zsh
命令列表
macOS 下使用 Linux Shell

你可能感兴趣的:(macOS + iTerm + oh-my-zsh 常用命令)