Fork me on GitHub
Maxie's Notes

No one can escape


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close
Maxie's Notes

bash脚本编程基础(一)

发表于 2017-04-12 | 分类于 linux基础知识 | 热度 ℃
Bash(Bourne Again Shell),是一款在大多数Linux系统中默认的shell。
值得注意的是shell与shell script是两个不同的概念。

常见的shell

Bourne Shell (/usr/bin/sh或/bin/sh)
Bourne Again Shell (/bin/bash)
C Shell (/usr/bin/csh)
K Shell (/usr/bin/ksh)
Z Shell (/usr/bin/zsh)
Shell for Root (/sbin/sh)

要想成为一个使用Linux的dalao,就离不开shell,那么也就是说离不开shell编程。很多时候服务器都需要编写一些计划任务来定时运行的,所以掌握一些基本的shell编程基础很有必要。

阅读全文 »
Maxie's Notes

压缩和解压缩

发表于 2017-04-08 | 分类于 linux基础知识 | 热度 ℃
压缩的目的
时间换空间
CPU的时间 –> 磁盘空间

常见的压缩文件拓展名:

1
2
3
4
5
6
7
8
*.Z --compress 压缩文件
*.gz --gzip 压缩文件
*.bz2 --bzip2 压缩文件
*.xz --xz 压缩文件
*.tar --tar 打包文件,并没有经过压缩
*.tar.gz --tar 打包文件,其中并且经过 gzip 的压缩
*.tar.bz2 --tar 打包文件,其中并且经过 bzip2 的压缩
*.tar.xz --tar 打包文件,其中并且经过 xz 的压缩

Linux上常见的压缩命令就是gzip和bzip2,还有新兴的xz,至于compress已经”退环境”了,不再适合当前的版本了。

阅读全文 »
Maxie's Notes

vim编辑器入门使用教程

发表于 2017-04-06 | 分类于 linux基础知识 | 热度 ℃
Vim是一个高度可配置的文本编辑器,用于创建和更改任何类型的文本非常高效。
它与大多数UNIX系统、Linux系统和Apple OS X一起被列为“vi”

vim的功能包括:

  • 广泛的插件系统
  • 支持数百种编程语言和文件格式
  • 强大的搜索和替换功能
  • 与许多工具集成

阅读全文 »
Maxie's Notes

shell十三问之十四 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃

[^ ] 跟[! ]差在哪? (RE: Regular Expression)


Regular Expression (正则表达式)


接下来的Regular Expression(RE) 可是个大题目,要讲的很多。
我这里当然不可能讲得很全。
只希望能带给大家一个基本的入门概念,就很足够了…

先来考一下英文好了:What is expression?
简单来说,就是”表达”,也就是人们在沟通的时候所要陈述的内容。

然而,生活中,表达方要清楚的将意思描述清楚,
而让接收方完整无误地领会,可不是件容易的事情。

因而才会出现那么多的”误会”, 真可叹句”表达不易”啊……

阅读全文 »
Maxie's Notes

shell十三问之十三 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃
[^ ] 跟[! ]差在哪? (wildcard)

这个题目说穿了,
就是要探讨Wildcard与Regular Expression的差别的。
这也是很多初学shell的朋友很容易混淆的地方。

阅读全文 »
Maxie's Notes

shell十三问之十二 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃

for what? while与until差在哪?


今天要介绍的是shell script设计中常见的循环(loop).
所谓的loop就是script中的一段在一定条件下反复执行的代码。

bash shell中常用的loop有如下三种:

  • for
  • while
  • until
阅读全文 »
Maxie's Notes

shell十三问之十一 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃

你要if还是case呢?


还记得我们在第10章所介绍的return value吗?

是的,接下来的介绍的内容与之有关,
若你的记忆也被假期所抵消的话,
那建议您还是回去温习温习再回来…

若你记得return value,我想你也应该记得了
&& 与 || 什么意思吧?
用这两个符号再搭配 command group的话,
我们可让shell script变得更加聪明哦。
比方说:

1
2
3
4
5
6
7
8
cmd1 && {
cmd2
cmd3
;
} || {
cmd4
cmd5
}

意思是说:
若 cmd1的return value为true的话,
然后执行cmd2与cmd3,
否则执行cmd4与cmd5.

阅读全文 »
Maxie's Notes

shell十三问之十 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃
>与< 差在哪?

1. 文件描述符(fd, File Descriptor)


谈到I/O redirection,不妨先让我们认识一下File Descriptor(fd,文件描述符)。

进程的运算,在大部分情况下,都是进行数据(data)的处理,
这些数据从哪里,读进来?又输出到哪里呢?
这就是file descriptor(fd)的功用了。

在shell的进程中,最常使用的fd大概有三个,分别为:

  • 0:standard Input (STDIN)
  • 1: standard output(STDOUT)
  • 2: standard Error output (STDERR)

在标准情况下,这些fd分别跟如下设备(device)关联:

  • stdin(0): keyboard
  • stdout(1): monitor
  • stderr(2): monitor
阅读全文 »
Maxie's Notes

shell十三问之九 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃

&& 与 || 差在哪?


一路走来,很辛苦吧?也很快乐吧? ^_^

在解答本章题目之前,先让我们了解一个概念:
return value。

我们在shell下跑的每一个command或function,
在结束的时候都会传回父进程一个值,称为 return value。

在shell command line中可用$?,
这个变量得到最”新”的一个return value,
也就是刚刚结束的那个进程传回的值。

Return Value(RV)的取值为0-255之间,
由进程或者script的作者自行定义:

  • 若在script里,用exit RV 来指定其值;
    若没有指定, 在结束时,以最后一个命令的RV,为script的RV值。

  • 若在function里,则用return RV 来代替exit RV即可。

阅读全文 »
Maxie's Notes

shell十三问之八 [转载]

发表于 2017-04-02 | 分类于 shell十三问 | 热度 ℃

$@与$*差在哪?


要说$@与$*之前,
需得先从shell script的positional parameter谈起…

我们都已经知道变量(variable)是如何定义和替换的,
这个不再多讲了。

阅读全文 »
1…4567
阿蓝

阿蓝

没有人可以回到过去重新开始, 但谁都可以从现在开始, 书写一个全然不同的结局!

68 日志
31 分类
83 标签
RSS
友链
  • 蓝泽希
  • 马哥Linux
  • LeeSsangZ
  • Maxiecloud
  • 朱双印
© 2013 - 2018 阿蓝
博客全站共161.8k字