[命令] Linux 命令 uname (显示系统信息)

内容一:uname 命令的格式

# uname <option>

内容二:uname 命令的选项

1) -a 或者 –all,显示所有系统信息

(补充:如果系统处理器类型和系统硬件平台处于未知状态则不显示)

2) -s 或者 –kernel-name,显示系统内核
3) -n 或者 –nodename,显示系统节点名称
4) -r 或者 –kernel-release,显示系统内核发布版本
5) -m 或者 –machine,显示系统硬件名称
6) -p 或者 –processor,显示系统处理器类型
7) -i 或者 –hardware-platform,显示系统硬件平台
8) –help,显示帮助信息
9) –version,显示 uname 命令版本

[命令] Linux 命令 timeout (指定命令执行的时间)

内容一:timeout 命令的格式

# timeout <option> <duration> <command>

内容二:timeout 命令的选项和持续时间的单位

2.1 timeout 命令的选项

1) -k 当达到命令结束的时间没有结束时,再经过指定时间后结束命令
2) –foreground 后台执行命令
3) –help 显示帮助信息
4) -s 或者 –signal=,在超时时发送信号,通过 “kill -l” 命令可以显示信号列表
5) –version 显示版本信息

2.2 timeout 命令的持续时间的单位

1) s,秒 (默认)
2) m,分
3) h,时
4) d,天

内容三:timeout 命令的案例

3.1 案例一:执行 10 秒钟 top 命令

# timeout 10 top

3.2 案例二:执行 1 小时 ping 命令,并在结束命令时发送 SIGKILL 信号

# timeout -s SIGKILL 1h ping eternalcenter.com

3.3 案例三:执行 1 分钟 top 命令,如果 1 分钟后命令没有停止,则再过 10 秒后结束命令

# timeout -k 10s 1m top

[命令] Linux 命令 expr (截取字符串、计算字符串长度和数值运算)

案例一:计算字符串长度

# expr length 'eternalcenter.com'
17

(补充:这里以计算字符串 eternalcenter.com 的长度为例)

案例二:截取字符串

# expr substr "eternalcenter.com" 1 13
expr substr "eternalcenter.com" 1 13

(补充:这里以计算字符串 eternalcenter.com 的第 1 个字符到第 13 个字符串为例)

案例三:显示某字符在某字符串中第 1 次出现的位置

# expr index eternalcenter.com r
4

(补充:这里以显示 r 字符在字符串 eternalcenter.com 中第 1 次出现的位置为例)

案例四:数值运算

4.1 案例一:加法

# expr 1 + 1
2

(补充:这里以 1 加 1 等于 2 为例)

4.2 案例二:减法

# expr 2 - 1
1

(补充:这里以 2 减 1 等于 1 为例)

4.3 案例三:乘法

# expr 3 \* 3
9

(补充:这里以 3 乘以 3 等于 9 为例)

(注意:expr 使用乘法时必须要使用反义符号 “\”)

4.4 案例四:除法

# expr 9 / 3 / 3
1

(补充:这里以 9 除以 3 再除以 3 为等于 1 为例)

[命令] Linux tr 命令 (内容替换)

内容一:tr 命令的简介

1.1 tr 命令的格式

# tr <option> <section 1> <sectiong 2>

1.2 tr 命令的原理

将 <section 1> 里的内容替换成 <section 2> 里的内容

内容二:tr 命令的选项

1) -c 或者 –complement 改变除了某内容外的所有内容
2) -d 或者 –delete 删除某内容
3) -s 或者 –squeeze-repeats 将相临重复的某个字符缩减成 1 个
4) -t 或者 –truncate-set1 将 <section 1> 里的内容缩减成和 <section 2> 里的内容一样长

内容三:tr 命令的参数

1) \ 反斜杠
2) \b 退格
3) \f 换页
4) \n 换行
5) \r 回车
6) \t 水平制表符
7) \v 垂直制表符
8) <character 1>-<character 2> 从某个字符到另 1 个字符,例如:a-z、a-Z、0-9
9) [<character>*] 在 <section 2> 中可用,<character> 会复制得和 <section 1> 中一样长
10) [<character>*<frequency>] 将 <character> 复制 <frequency> 次,若以 0 开头,则视为八进制
11 [:alnum:] 所有字母和数字
12 [:alpha:] 所有字母
13 [:blank:] 所有呈水平排列的空白字符
14 [:cntrl:] 所有控制字符
15 [:digit:] 所有数字
16 [:graph:] 所有可打印字符,但不包括空格
17 [:lower:] 所有小写字母
18 [:print:] 所有可打印字符,包括空格
19 [:punct:] 所有标点字符
20 [:space:] 所有呈水平或垂直排列的空白字符
21 [:upper:] 所有大写字母
22 [:xdigit:] 所有十六进制数
23 [=字符=] 所有和指定字符相等的字符

内容三:tr 命令的案例

3.1 案例一:替换某内容外的所有内容

# echo 'zmyb' | tr -c zmy a
zmyaa

(补充:这里以将内容 zmyb 中 zmy 以外的内容替换成内容 a 为例)

(注意:zmyb 后面还有一个结尾符号,所以结果会多 1 个内容 a)

3.2 案例二:删除某内容

# echo 'zmy' | tr -d m
zy

(补充:这里以删除内容 zmy 中的内容 m 为例)

3.3 案例三:将相临重复的某个字符缩减成 1 个

# echo zmmy | tr -s m
zmy

(补充:这里以将内容 zmmy 中多个字符 m 压缩成 1 个为例)

3.4 案例四:替换字符,并将要匹配的内容缩减成和要替换的内容一样长

如果是正常情况:

zhumingyu@laptop:~/Test> echo abeabe | tr ab c
ccecce

(补充:这里以将内容 abeabe 中的内容 ab 替换成内容 c 为例)

如果是缩减的情况

zhumingyu@laptop:~/Test> echo abeabe | tr -t ab c
cbecbe

(补充:这里以将内容 abeabe 中的内容 a 替换成内容 c 为例)

(注意:这里 tr -t ab c 中内容 c 是 1 个字符,所以内容 ab 会被压缩成 1 个字符 a)