Linux 命令行使用经验
2020-03-28 本文已影响0人
Martins3
这是我个人使用Linux的三篇笔记中的第二篇:
- 第一篇 : 记录一般生活软件的安装,比如输入法,微信,Tim等,这一步解决在Linux 下的生存问题。
- 第二篇 : 基本命令行的使用,利用好Linux 的优势。
- 第三篇: vim配置,实现高效的写代码。
下面的内容仅仅为自己的看法
不要迷信命令行
为什么需要命令行:
- 远程登录(这不是一个绝对的原因,但是图形界面的传输速度相对来说太慢了)。
- 该程序没有图形界面版本。
为什么不需要命令行:
- 命令行难以记忆。
我为什么使用命令行:
- 经常使用命令数量是有限的,可以 alias 这些命令,让命令的使用高效简洁。
- 过多的窗口让人让人手忙脚乱,在终端中间执行程序显得更加整洁。
shell学习
- https://devhints.io/bash : 语法清单
- https://explainshell.com/ : 解释脚本
- https://linuxjourney.com/ : 免费教程
shell 和 gnu make, cmake 等各种工具类似,一学就会,学玩就忘。究其原因,是因为使用频率太低了。 如果你每天都要用,我建议,系统学习,如果只是偶尔学习,对于shell只需要存在一个大致的了解,就是知道shell能做什么,适合做什么,具体的知识点等到遇到的时候再到Google上查询。
选择一个好用的终端
一个好用的终端至少应该具有一下特性:
- 多tab
- 多窗口
- 半透明
- 性能
下面是一些有名的终端,我个人比较喜欢使用其中的 Deepin Terminal。
选择好用的shell
zsh 和 bash 之前语法上基本是兼容的,但是由于oh my zsh,我强烈推荐使用zsh
常用工具的替代
使用Linux有个非常窒息的事情在于,默认的工具使用体验一般,下面介绍一些体验更加的工具。
这里 总结的工具非常不错,下面是我自己的补充:
这些工具都是基本是从github awesome 和 hacker news 中间找到:
- https://github.com/agarrharr/awesome-cli-apps
- https://github.com/alebcay/awesome-shell
- https://github.com/unixorn/awesome-zsh-plugins
- 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 封装
5 git 封装
6 易于理解的 man
- 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