Alex_McAvoy

想要成为渔夫的猎手

【用户标识符】

在登录 Linux 时,输入的是账号,但 Linux 主机并不会直接识别账号名称,而是识别一个 ID 号,账号只是为了方便让用户容易记住而已

每个登录的用户至少会获得两个 ID,一个是用户 ID(UserID,简称 UID),一个是用户组 ID(Group ID,简称 GID),账号与 UID、GID 的对应关系,就分别保存在 /etc/passwd 和 /etc/group 中

阅读全文 »

【B 树的结构】

定义

B 树(B-Tree),是一种多路平衡查找树,其所有结点的平衡因子为 $0$,主要面向于动态查找,常用于文件系统中

阅读全文 »

如同高级编程语言中的函数,在 Shell 中,同样具有函数,用于完成相对独立的、可重复的功能,语法形式如下:

1
2
3
function 函数名() {
命令序列
}

需要注意的是,由于 Shell 脚本是从上到下、从左到右逐行执行的,不会进行编译,因此在 Shell 脚本中,使用函数前一定要先声明函数

阅读全文 »

【while 循环】

while 循环是不定循环,当条件表达式成立时,就进行循环,直到条件表达式不成立为止,while 循环的格式如下:

1
2
3
4
while [条件表达式]
do
命令序列
done
阅读全文 »

【Shell 脚本编写原则】

Shell 脚本

Shell 脚本(Shell scirpt),是利用 Shell 功能写的程序,是使用纯文本文件,其包含一些 Shell 的语法与命令,搭配正则表达式、管道命令、数据流重定向等

阅读全文 »

【路径与命令的执行顺序】

在 Shell 中,一条命令的执行顺序为:

  1. 以相对/绝对路径执行命令,例如:/bin/ls
  2. 由 alias 找到该命令执行
  3. 由 Shell 内置命令 builtin 来执行
  4. 通过 PATH 环境变量内路径的顺序找到的第一个命令来执行
阅读全文 »

【命令回传码】

在 Shell 中,$ 本身也是个变量,其代表的是目前 Shell 的线程号,即所谓的 PID

输入 echo $$ 命令,出现的数字即 PID

阅读全文 »

【变量内容的删除与替换】

变量内容的删除与替换,具体方式可参考下表

变量设置方式 说明
${变量#关键字} 若变量内容从头开始的数据符合关键字,则将符合的最短数据删除
${变量##关键字} 若变量内容从头开始的数据符合关键字,则将符合的最长数据删除
${变量%关键字} 若变量内容从尾向前的数据符合关键字,则将符合的最短数据删除
${变量%%关键字} 若变量内容从尾向前的数据符合关键字,则将符合的最长数据删除
${变量/旧字符串/新字符串} 若变量内容符合旧字符串,则将第一个旧字符串用新字符串代替
${变量//旧字符串/新字符串} 若变量内容符合旧字符串,则将所有旧字符串用新字符串代替
阅读全文 »