shell 脚本应知应会

基本介绍

shell 脚本通常是一个以 shebang 起始的文本文件

#!/bin/bash

其中#!位于解释器路径之前。/bin/bash是 Bash 的解释器命令路径。

还有一种常见的写法是#!/bin/bash -ex这里的-e 类似于在第二行写set -e其意义是Exit immediately if a command exits with a non-zero status. ;而-x 的意思是Print commands and their arguments as they are executed.

终端打印

echo

echo 加或者不加单双引号都可以打印 echo 后面的内容,默认情况下 echo 在每次调用后会添加一个换行符。

KaTeX常用公式整理

前几天写了一篇博客 记录了在博客中插入数学公式的心路历程,折腾半天最后用的插件支持的JavaScript库是$\KaTeX$。关于这个库的信息,可以查看其GitHub主页,开发者是khan academy,就是大家熟知的可汗学院。在主页上他们直接对标MathJax,复杂公式的渲染速度直接把对方秒成渣渣,另外,KaTeX的排版布局完全基于标准的Donald Knuth’s TeX

这里简要记录一些平时使用比较多的语法和公式,KaTeX支持的全部公式,可以在其官网查看。

Linux Command Line 学习笔记 5

说明;写 Linux Command Line 学习笔记 系列文章本意只是记录自己学习 《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的原版书,所以有些地方中英混杂。更详细地学习建议去阅读原书即可。

Searching For Files 文件查找

linux 倡导所谓的一切皆文件,那我们怎么在系统中查找到自己想要的文件呢。

vs code 常用快捷键

挺早之前写过一个 常用快捷键的集合备忘录,里面包括 win10,印象笔记,Google 浏览器,XShell 以及 sublime text3。如今主力编辑器已经从 sublime text3 换到了 vs code。那就再整理一份 vs code 常用快捷键,希望尽快用熟练提高效率。

首先摆出原件。

在博客中展示数学公式

最近写的一系列文章中需要时不时插入一些数学公式,也就不得不接触一些 LaTeX 相关内容,另外由于要发到博客上,还需要让博客能够正确解析 LaTeX 语法。

Hexo 插入数学公式起步

Hexo 博客框架默然使用的 Markdown 解析插件是 hexo-renderer-marked, 我同时使用了 Next 主题。

首先要说明的是,Hexo 默认 Markdown 是不支持 LaTeX 语法的,但是,Next 的主题默认已经支持 MathJax,也就是说不需要再在网页的 header 中引入如下代码:

<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

只需要在主题下的配置文件_config.yml中启用相关设置即可

vs code 使用初体验

什么是 vs code

巨硬主导的开源文本编辑器项目,如果你不知道它,一定也听说过 sublime 或者 atom , 最起码也听说过 Notepad++。

为什么要用 vs 上 code

用了两年的 sublime text 3, 忘了是谁在我一开始用的时候给我提供了一个注册码,以至于我都忘了这货不是一个开源软件。直到几天前突然提示我更新,要知道 sublime text 3 的 beta 版已经持续了好几年。我一激动就点了更新然后……就一直提醒我要不要买。问了问身边的其他人也早已经慢慢从 sublime 转向了其他的阵营,再加上 sublime 用的却是不太顺心,我也就有了换一个编辑器的想法。

目前大家用的最多的三款编辑器分别是 sublime、atom 和 vs code。于是我用两天时间重点体验了 atom 和 vscode, 进行了几项比较之后决定投入 vs code 的怀抱。

Linux Command Line 学习笔记4

说明;写 Linux Command Line 学习笔记系列文章本意只是记录自己学习 《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的原版书,所以有些地方中英混杂。更详细地学习建议去阅读原书即可。

The Environment

  • shell 会话中维护着大量的信息称为环境

  • 查看环境变量
    printenv 或者 printenv USER
    set |less 按照字母顺序显示
    echo $HOME

  • 别名不能用上述方法查看
    alias

Linux Command Line 学习笔记3

说明;写Linux Command Line 学习笔记系列文章本意只是记录自己学习 《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的是原版书,所以很多地方中英混杂。更详细地学习建议去阅读原书即可。

Advanced Keyboard Tricks

  • 建议调换大写键和ctrl的映射关系

  • 光标瞬间移动

    Ctrl-a 移动光标到行首
    Ctrl-e 移动光标到行尾
    Ctrl-f 光标前移一个字符;和右箭头作用一样
    Ctrl-b 光标后移一个字符;和左箭头作用一样
    Alt-f 光标前移一个字
    Alt-b 光标后移一个字
    Ctrl-l 清空屏幕

Linux Command Line 学习笔记 2

说明;写Linux Command Line 学习笔记系列文章本意只是记录自己学习 《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的是原版书,所以很多地方中英混杂。更详细地学习建议去阅读原书即可。

Working With Commands

  • 查看命令类型 type

    命令有四种可能的形式:

    1. 可执行程序,可以编译成二进制文件,诸如用 C 和 C++ 语言写成的程序,也可以是由脚本语言写成的程序,比如说 shell,perl,python 等等
    2. 内建于 shell 自身的命令,如 ls
    3. shell 函数
    4. 命令别名

Linux Command Line 学习笔记 1

说明;写 Linux Command Line 学习笔记系列文章本意只是记录自己学习 《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的是原版书,所以很多地方中英混杂。更详细地学习建议去阅读原书即可。

关于为什么应该学习 linux 或者说 ubuntn,因为 ubuntn 的中文名字叫做“有盼头”,学了它,你才真正有可能成为计算机的主人,才可能自由地使用你的电脑。

所谓自由,解释如下:

Freedom is the power to decide what your computer does, and the only way to have this freedom is to know what your computer is doing. Freedom is a computer that is without secrets, one where everything can be known if you care enough to find out.

关于为什么要学习命令行操作而非使用图形界面,解释如下:

graphical user interfaces make easy tasks easy, while command line interfaces make difficult tasks possible
图形用户界面让简单的任务更容易完成,而命令行界面使完成复杂的任务成为可能。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×