Linux 命令行使用经验

2020-03-28  本文已影响0人  Martins3

这是我个人使用Linux的三篇笔记中的第二篇:

  1. 第一篇 : 记录一般生活软件的安装,比如输入法,微信,Tim等,这一步解决在Linux 下的生存问题。
  2. 第二篇 : 基本命令行的使用,利用好Linux 的优势。
  3. 第三篇: vim配置,实现高效的写代码。

下面的内容仅仅为自己的看法

不要迷信命令行

为什么需要命令行:

  1. 远程登录(这不是一个绝对的原因,但是图形界面的传输速度相对来说太慢了)。
  2. 该程序没有图形界面版本。

为什么不需要命令行:

  1. 命令行难以记忆。

我为什么使用命令行:

  1. 经常使用命令数量是有限的,可以 alias 这些命令,让命令的使用高效简洁。
  2. 过多的窗口让人让人手忙脚乱,在终端中间执行程序显得更加整洁。

shell学习

  1. https://devhints.io/bash : 语法清单
  2. https://explainshell.com/ : 解释脚本
  3. https://linuxjourney.com/ : 免费教程

shell 和 gnu make, cmake 等各种工具类似,一学就会,学玩就忘。究其原因,是因为使用频率太低了。 如果你每天都要用,我建议,系统学习,如果只是偶尔学习,对于shell只需要存在一个大致的了解,就是知道shell能做什么,适合做什么,具体的知识点等到遇到的时候再到Google上查询。

选择一个好用的终端

一个好用的终端至少应该具有一下特性:

  1. 多tab
  2. 多窗口
  3. 半透明
  4. 性能
Deepin

下面是一些有名的终端,我个人比较喜欢使用其中的 Deepin Terminal。

选择好用的shell

zsh 和 bash 之前语法上基本是兼容的,但是由于oh my zsh,我强烈推荐使用zsh

常用工具的替代

使用Linux有个非常窒息的事情在于,默认的工具使用体验一般,下面介绍一些体验更加的工具。
这里 总结的工具非常不错,下面是我自己的补充:

这些工具都是基本是从github awesome 和 hacker news 中间找到:

  1. https://github.com/agarrharr/awesome-cli-apps
  2. https://github.com/alebcay/awesome-shell
  3. https://github.com/unixorn/awesome-zsh-plugins
  4. https://news.ycombinator.com/

1 cd -> autojump

使用命令行,如果没有 autojump ,我认为几乎是没有办法生存的。

autojump 没有学习曲线,只需要 j + 目标文件名的字符


autojump

2 ls -> lsd

效果对比如下:


默认 ls lsd
DeepinScreenshot_select-area_20200328114320.png

3 du -> ncdu

du 的效果:

➜  .SpaceVim.d git:(master) ✗ /usr/bin/du 
28  ./UltiSnips
32  ./doc
12  ./spell
12  ./install
16  ./plugin
36  ./.git/objects/52
44  ./.git/objects/9f
24  ./.git/objects/ed
188 ./.git/objects/77
60  ./.git/objects/14
36  ./.git/objects/6a
48  ./.git/objects/f6
40  ./.git/objects/80
// ... 省略

ncdu 的效果:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help                                                                               
--- /home/shen/.SpaceVim.d ------------------------------------------------------------------------------------------------------------------
    9.9 MiB [##########] /.git                                                                                                               
   60.0 KiB [          ]  antigen.zsh
   32.0 KiB [          ] /doc
   28.0 KiB [          ] /UltiSnips
   16.0 KiB [          ] /plugin
   12.0 KiB [          ] /install
   12.0 KiB [          ] /autoload
   12.0 KiB [          ] /spell
    8.0 KiB [          ]  init.toml
    8.0 KiB [          ]  zshrc
    4.0 KiB [          ]  Readme.md
    4.0 KiB [          ]  gitconfig
    4.0 KiB [          ]  .netrwhist
    4.0 KiB [          ]  .profile
    4.0 KiB [          ]  .yaourtrc
    4.0 KiB [          ]  .gitignore

4 gdb 封装

  1. gdb dashboard

5 git 封装

  1. diff-so-fancy
  2. lazy git

6 易于理解的 man

  1. cheat : 对于新手而言,man 是非常的不友好的,其中的内容大而全,看完之后只会让人更加的疑惑。当不知道如何使用软硬链接的时候,就可以求助于cheat。由于man的输出太长了,我就不放了。
➜  shen git:(master) ✗ cheat ln
# To create a symlink:
ln -s path/to/the/target/directory name-of-symlink

# Symlink, while overwriting existing destination files
ln -sf /some/dir/exec /usr/bin/exec

7 find -> fd

上一篇下一篇

猜你喜欢

热点阅读