更新 markdown 排版
This commit is contained in:
parent
51b20d599b
commit
49be3806b7
|
|
@ -1,6 +1,6 @@
|
||||||
ab
|
ab
|
||||||
===
|
===
|
||||||
|
|
||||||
Apache服务器的性能测试工具
|
Apache服务器的性能测试工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -15,7 +15,7 @@ ab(选项)(参数)
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-A:指定连接服务器的基本的认证凭据;
|
-A:指定连接服务器的基本的认证凭据;
|
||||||
-c:指定一次向服务器发出请求数;
|
-c:指定一次向服务器发出请求数;
|
||||||
-C:添加cookie;
|
-C:添加cookie;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ ack
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
# ubuntu下要安装ack-grep,因为在debian系中,ack这个名字被其他的软件占用了。
|
# ubuntu下要安装ack-grep,因为在debian系中,ack这个名字被其他的软件占用了。
|
||||||
sudo apt-get install ack-grep
|
sudo apt-get install ack-grep
|
||||||
# alpine Linux-apk软件包管理器 安装 ack
|
# alpine Linux-apk软件包管理器 安装 ack
|
||||||
|
|
@ -16,7 +16,7 @@ apk install ack
|
||||||
|
|
||||||
这些参数在linux上的适用频率是相当高的,尤其是你用vim做为IDE的话
|
这些参数在linux上的适用频率是相当高的,尤其是你用vim做为IDE的话
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c(统记)/ -i(忽略大小)/ -h(不显示名称)/
|
-c(统记)/ -i(忽略大小)/ -h(不显示名称)/
|
||||||
-l(只显文件名)/ -n(加行号)/ -v(显示不匹配)
|
-l(只显文件名)/ -n(加行号)/ -v(显示不匹配)
|
||||||
```
|
```
|
||||||
|
|
@ -43,7 +43,7 @@ ack官网列出了这工具的5大卖点:
|
||||||
|
|
||||||
grep常用操作
|
grep常用操作
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
grep -r 'hello_world' # 简单用法
|
grep -r 'hello_world' # 简单用法
|
||||||
grep '^hello_world' . # 简单正则
|
grep '^hello_world' . # 简单正则
|
||||||
ls -l | grep .py # 管道用法
|
ls -l | grep .py # 管道用法
|
||||||
|
|
@ -65,7 +65,7 @@ ack-grep -Q 'hello*'
|
||||||
|
|
||||||
对搜索结果进行处理,比如只显示一个文件的一个匹配项,或者xxx
|
对搜索结果进行处理,比如只显示一个文件的一个匹配项,或者xxx
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
ack-grep --line=1 # 输出所有文件第二行
|
ack-grep --line=1 # 输出所有文件第二行
|
||||||
ack-grep -l 'hello' # 包含的文件名
|
ack-grep -l 'hello' # 包含的文件名
|
||||||
ack-grep -L 'print' # 非包含文件名
|
ack-grep -L 'print' # 非包含文件名
|
||||||
|
|
@ -75,7 +75,7 @@ ack-grep -L 'print' # 非包含文件名
|
||||||
|
|
||||||
输出的结果是以什么方式展示呢,这个部分有几个参数可以练习下
|
输出的结果是以什么方式展示呢,这个部分有几个参数可以练习下
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
ack-grep hello --pager='less -R' # 以less形式展示
|
ack-grep hello --pager='less -R' # 以less形式展示
|
||||||
ack-grep hello --noheading # 不在头上显示文件
|
ack-grep hello --noheading # 不在头上显示文件
|
||||||
ack-grep hello --nocolor # 不对匹配字符着色
|
ack-grep hello --nocolor # 不对匹配字符着色
|
||||||
|
|
@ -84,7 +84,7 @@ ack-grep hello --nocolor # 不对匹配字符着色
|
||||||
### File finding
|
### File finding
|
||||||
没错,它可以查找文件,以省去你要不断的结合find和grep的麻烦,虽然在linux的思想是一个工具做好一件事。
|
没错,它可以查找文件,以省去你要不断的结合find和grep的麻烦,虽然在linux的思想是一个工具做好一件事。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
ack-grep -f hello.py # 查找全匹配文件
|
ack-grep -f hello.py # 查找全匹配文件
|
||||||
ack-grep -g hello.py$ # 查找正则匹配文件
|
ack-grep -g hello.py$ # 查找正则匹配文件
|
||||||
ack-grep -g hello --sort-files # 查找然后排序
|
ack-grep -g hello --sort-files # 查找然后排序
|
||||||
|
|
@ -94,7 +94,7 @@ ack-grep -g hello --sort-files # 查找然后排序
|
||||||
|
|
||||||
文件过滤,个人觉得这是一个很不错的功能。如果你曾经在搜索项目源码是不小心命中日志中的某个关键字的话,你会觉得这个有用。
|
文件过滤,个人觉得这是一个很不错的功能。如果你曾经在搜索项目源码是不小心命中日志中的某个关键字的话,你会觉得这个有用。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
ack-grep --python hello # 查找所有python文件
|
ack-grep --python hello # 查找所有python文件
|
||||||
ack-grep -G hello.py$ hello # 查找匹配正则的文件
|
ack-grep -G hello.py$ hello # 查找匹配正则的文件
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ alias(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
**alias 的基本使用方法为:**
|
**alias 的基本使用方法为:**
|
||||||
|
|
||||||
```
|
```
|
||||||
alias 新的命令='原命令 -选项/参数'
|
alias 新的命令='原命令 -选项/参数'
|
||||||
|
|
@ -37,9 +37,9 @@ alias 新的命令='原命令 -选项/参数'
|
||||||
|
|
||||||
要删除一个别名,可以使用 unalias 命令,如 unalias l。
|
要删除一个别名,可以使用 unalias 命令,如 unalias l。
|
||||||
|
|
||||||
**查看系统已经设置的别名:**
|
**查看系统已经设置的别名:**
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[root@localhost ~]#
|
[root@localhost ~]#
|
||||||
[root@localhost ~]# alias
|
[root@localhost ~]# alias
|
||||||
alias cp='cp -i'
|
alias cp='cp -i'
|
||||||
|
|
@ -56,16 +56,21 @@ alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-ti
|
||||||
|
|
||||||
```
|
```
|
||||||
### 命令别名永久生效
|
### 命令别名永久生效
|
||||||
|
|
||||||
直接在shell里设定的命令别名,在终端关闭或者系统重新启动后都会失效,如何才能永久有效呢?办法就是将别名的设置加入~/.bashrc文件,然后重新载入下文件就可以了。
|
直接在shell里设定的命令别名,在终端关闭或者系统重新启动后都会失效,如何才能永久有效呢?办法就是将别名的设置加入~/.bashrc文件,然后重新载入下文件就可以了。
|
||||||
```bash
|
|
||||||
|
```shell
|
||||||
$ vim ~/.bashrc
|
$ vim ~/.bashrc
|
||||||
```
|
```
|
||||||
在文件最后面加入别名设置,如:alias rm=’rm -i’,保存后重新载入:
|
在文件最后面加入别名设置,如:alias rm=’rm -i’,保存后重新载入:
|
||||||
```bash
|
|
||||||
|
```shell
|
||||||
$ source ~/.bashrc
|
$ source ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
这样就可以永久保存命令的别名了。因为修改的是当前用户目录下的.bashrc文件,所以这样的方式只对当前用户有用。如果要对所有用户都有效,修改/etc目录下的bashrc文件就可以了。在CentOS7下,这个文件是/etc/bash.bashrc。此外在CentOS7下,细看~/.bashrc文件,会发有这样一段代码:
|
这样就可以永久保存命令的别名了。因为修改的是当前用户目录下的.bashrc文件,所以这样的方式只对当前用户有用。如果要对所有用户都有效,修改/etc目录下的bashrc文件就可以了。在CentOS7下,这个文件是/etc/bash.bashrc。此外在CentOS7下,细看~/.bashrc文件,会发有这样一段代码:
|
||||||
```bash
|
|
||||||
|
```shell
|
||||||
if [ -f ~/.bash_aliases ]; then
|
if [ -f ~/.bash_aliases ]; then
|
||||||
. ~/.bash_aliases
|
. ~/.bash_aliases
|
||||||
fi
|
fi
|
||||||
|
|
@ -78,35 +83,35 @@ fi
|
||||||
alias这个命令是shell的内建命令,可以根据自己的使用习惯设置一些别名,需要注意的就是和其他命令冲突的情况。
|
alias这个命令是shell的内建命令,可以根据自己的使用习惯设置一些别名,需要注意的就是和其他命令冲突的情况。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 一、 范例演示
|
#### 一、 范例演示
|
||||||
|
|
||||||
在使用和维护Linux系统过程中,我们常常希望根据自己的需要来定义一些命令,那么这样的操作是不是很难呢?其实不是,系统已经为我们设置好了相关的命令,下面小编就以CentOS6.4系统为例,为大家演示如何创建自己的命令。
|
在使用和维护Linux系统过程中,我们常常希望根据自己的需要来定义一些命令,那么这样的操作是不是很难呢?其实不是,系统已经为我们设置好了相关的命令,下面小编就以CentOS6.4系统为例,为大家演示如何创建自己的命令。
|
||||||
|
|
||||||
#### 二、 自定义命令简介
|
#### 二、 自定义命令简介
|
||||||
CentOS系统下的创建自定义命令其实比较简单,使用的命令就是alias,具体使用的方法就是 alias 自定义命令名=‘命令’。但是需要注意的是,在自定义之前需要查看自定义的命令名是否是系统已经使用的命令名,否则会冲突,另外一个就是定期清理不需要的自定义命令名。
|
|
||||||
|
CentOS系统下的创建自定义命令其实比较简单,使用的命令就是alias,具体使用的方法就是 alias 自定义命令名=‘命令’。但是需要注意的是,在自定义之前需要查看自定义的命令名是否是系统已经使用的命令名,否则会冲突,另外一个就是定期清理不需要的自定义命令名。
|
||||||
|
|
||||||
|
|
||||||
#### 三、 演示举例
|
#### 三、 演示举例
|
||||||
|
|
||||||
假定系统操作员希望进行如下操作:
|
假定系统操作员希望进行如下操作:
|
||||||
|
|
||||||
1.进入目录/root
|
1.进入目录/root
|
||||||
2.查看目录下文件
|
2.查看目录下文件
|
||||||
3.切换回根目录
|
3.切换回根目录
|
||||||
|
|
||||||
通常这需要三条命令 cd /root;ls;cd / ,如果需要经常使用那么我们可以通过自定义命令的方式用一条命令完成全部操作。
|
通常这需要三条命令 cd /root;ls;cd / ,如果需要经常使用那么我们可以通过自定义命令的方式用一条命令完成全部操作。
|
||||||

|
|
||||||
|
|
||||||
#### 四、 操作过程
|
#### 四、 操作过程
|
||||||
首先使用命令 type 自定义命令名 ,查看自定义命令名是否被系统占用。从图中可以看出test命令名已被系统占用,所以不能使用,而loo这个命令名经查询可以使用。
|
|
||||||

|
|
||||||
|
|
||||||
使用命令alias创建自定义命令:alias loo='cd /root;ls;cd /' 。需要注意的是命令的使用格式,分号与分号之间是没有空格的。
|
|
||||||

|
|
||||||
|
|
||||||
测试一下自定义命令,当输入命令 loo 时,发现系统依次完成了 cd /root、ls、cd / 三条命令,说明设置成功。同时也可直接使用命令 alias 查询系统中是否添加了loo这个自定义命令。
|
首先使用命令 type 自定义命令名 ,查看自定义命令名是否被系统占用。从图中可以看出test命令名已被系统占用,所以不能使用,而loo这个命令名经查询可以使用。
|
||||||

|
|
||||||
|
使用命令alias创建自定义命令:alias loo='cd /root;ls;cd /' 。需要注意的是命令的使用格式,分号与分号之间是没有空格的。
|
||||||
|
|
||||||
|
测试一下自定义命令,当输入命令 loo 时,发现系统依次完成了 cd /root、ls、cd / 三条命令,说明设置成功。同时也可直接使用命令 alias 查询系统中是否添加了loo这个自定义命令。
|
||||||
|
|
||||||
|
如果希望删除这个自定义命令,可以使用命令 unalias 自定义命令名 来完成。执行之后发现,loo命令已不存在,同时自定义命令库中也没有loo命令。
|
||||||
|
|
||||||
如果希望删除这个自定义命令,可以使用命令 unalias 自定义命令名 来完成。执行之后发现,loo命令已不存在,同时自定义命令库中也没有loo命令。
|
|
||||||

|
|
||||||
|
|
||||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
apachectl
|
apachectl
|
||||||
===
|
===
|
||||||
|
|
||||||
Apache服务器前端控制工具
|
Apache服务器前端控制工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -15,14 +15,14 @@ apachectl(参数)
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* configtest:检查设置文件中的语法是否正确;
|
* configtest:检查设置文件中的语法是否正确;
|
||||||
* fullstatus:显示服务器完整的状态信息;
|
* fullstatus:显示服务器完整的状态信息;
|
||||||
* graceful:重新启动Apache服务器,但不会中断原有的连接;
|
* graceful:重新启动Apache服务器,但不会中断原有的连接;
|
||||||
* help:显示帮助信息;
|
* help:显示帮助信息;
|
||||||
* restart:重新启动Apache服务器;
|
* restart:重新启动Apache服务器;
|
||||||
* start:启动Apache服务器;
|
* start:启动Apache服务器;
|
||||||
* status:显示服务器摘要的状态信息;
|
* status:显示服务器摘要的状态信息;
|
||||||
* stop:停止Apache服务器。
|
* stop:停止Apache服务器。
|
||||||
|
|
||||||
|
|
||||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||||
|
|
@ -5,7 +5,7 @@ Alpine Linux 下的包管理工具
|
||||||
|
|
||||||
## 使用实例
|
## 使用实例
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
apk install xxx
|
apk install xxx
|
||||||
apk search xxx # 支持正则
|
apk search xxx # 支持正则
|
||||||
apk info xxx # 查看包的详细信息
|
apk info xxx # 查看包的详细信息
|
||||||
|
|
@ -18,7 +18,7 @@ apk del openssh openntp vim
|
||||||
|
|
||||||
upgrade命令升级系统已安装的所以软件包(一般包括内核),当然也可指定仅升级部分软件包(通过-u或–upgrade选择指定)。
|
upgrade命令升级系统已安装的所以软件包(一般包括内核),当然也可指定仅升级部分软件包(通过-u或–upgrade选择指定)。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
apk update # 更新最新本地镜像源
|
apk update # 更新最新本地镜像源
|
||||||
apk upgrade # 升级软件
|
apk upgrade # 升级软件
|
||||||
apk add --upgrade busybox # 指定升级部分软件包
|
apk add --upgrade busybox # 指定升级部分软件包
|
||||||
|
|
@ -26,7 +26,7 @@ apk add --upgrade busybox # 指定升级部分软件包
|
||||||
|
|
||||||
### 搜索
|
### 搜索
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
apk search # 查找所以可用软件包
|
apk search # 查找所以可用软件包
|
||||||
apk search -v # 查找所以可用软件包及其描述内容
|
apk search -v # 查找所以可用软件包及其描述内容
|
||||||
apk search -v 'acf*' # 通过软件包名称查找软件包
|
apk search -v 'acf*' # 通过软件包名称查找软件包
|
||||||
|
|
@ -37,7 +37,7 @@ apk search -v -d 'docker' # 通过描述文件查找特定的软件包
|
||||||
|
|
||||||
info命令用于显示软件包的信息。
|
info命令用于显示软件包的信息。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
apk info # 列出所有已安装的软件包
|
apk info # 列出所有已安装的软件包
|
||||||
apk info -a zlib # 显示完整的软件包信息
|
apk info -a zlib # 显示完整的软件包信息
|
||||||
apk info --who-owns /sbin/lbu # 显示指定文件属于的包
|
apk info --who-owns /sbin/lbu # 显示指定文件属于的包
|
||||||
|
|
@ -47,7 +47,7 @@ apk info --who-owns /sbin/lbu # 显示指定文件属于的包
|
||||||
|
|
||||||
还是蛮喜欢 alpine 的,简单纯粹
|
还是蛮喜欢 alpine 的,简单纯粹
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
apk add iproute2 # ss vs netstat
|
apk add iproute2 # ss vs netstat
|
||||||
ss -ptl
|
ss -ptl
|
||||||
apk add drill # drill vs nslookup&dig
|
apk add drill # drill vs nslookup&dig
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
apropos
|
apropos
|
||||||
===
|
===
|
||||||
|
|
||||||
在 whatis 数据库中查找字符串
|
在 whatis 数据库中查找字符串
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -11,13 +11,13 @@ apropos
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apropos [-dalhvV] -e|-[w|-r] [-s section] [-m system[,...]] [-M path] [-L locale] -C [file] keyword ...
|
apropos [-dalhvV] -e|-[w|-r] [-s section] [-m system[,...]] [-M path] [-L locale] -C [file] keyword ...
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-d, --debug:输出调试信息。
|
-d, --debug:输出调试信息。
|
||||||
-v, --verbose:输出详细的警告信息。
|
-v, --verbose:输出详细的警告信息。
|
||||||
-r, -- regex:将每个keyword作为正则表达式解释。这是默认行为。每个keyword将匹配手册页和描述。
|
-r, -- regex:将每个keyword作为正则表达式解释。这是默认行为。每个keyword将匹配手册页和描述。
|
||||||
|
|
@ -40,7 +40,7 @@ apropos [-dalhvV] -e|-[w|-r] [-s section] [-m system[,...]] [-M path] [-L locale
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# man -k who
|
[root@localhost ~]# man -k who
|
||||||
at.allow [at] (5) - determine who can submit jobs via at or batch
|
at.allow [at] (5) - determine who can submit jobs via at or batch
|
||||||
at.deny [at] (5) - determine who can submit jobs via at or batch
|
at.deny [at] (5) - determine who can submit jobs via at or batch
|
||||||
|
|
@ -66,7 +66,7 @@ whoami (1) - print effective userid
|
||||||
|
|
||||||
查找手册页名字和描述中包含emacs和vi的手册页:
|
查找手册页名字和描述中包含emacs和vi的手册页:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apropos -a emacs vi
|
apropos -a emacs vi
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
apt-get
|
apt-get
|
||||||
===
|
===
|
||||||
|
|
||||||
Debian Linux发行版中的APT软件包管理工具
|
Debian Linux发行版中的APT软件包管理工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,26 +9,26 @@ Debian Linux发行版中的APT软件包管理工具
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get(选项)(参数)
|
apt-get(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c:指定配置文件。
|
-c:指定配置文件。
|
||||||
```
|
```
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* 管理指令:对APT软件包的管理操作;
|
* 管理指令:对APT软件包的管理操作;
|
||||||
* 软件包:指定要操纵的软件包。
|
* 软件包:指定要操纵的软件包。
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
使用apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:
|
使用apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
deb web或[ftp地址] [发行版名字] main/contrib/non-[free]
|
deb web或[ftp地址] [发行版名字] main/contrib/non-[free]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -36,55 +36,55 @@ deb web或[ftp地址] [发行版名字] main/contrib/non-[free]
|
||||||
|
|
||||||
在修改`/etc/apt/sources.list`或者`/etc/apt/preferences`之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的:
|
在修改`/etc/apt/sources.list`或者`/etc/apt/preferences`之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get update
|
apt-get update
|
||||||
```
|
```
|
||||||
|
|
||||||
安装一个新软件包:
|
安装一个新软件包:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get install packagename
|
apt-get install packagename
|
||||||
```
|
```
|
||||||
|
|
||||||
卸载一个已安装的软件包(保留配置文件):
|
卸载一个已安装的软件包(保留配置文件):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get remove packagename
|
apt-get remove packagename
|
||||||
```
|
```
|
||||||
|
|
||||||
卸载一个已安装的软件包(删除配置文件):
|
卸载一个已安装的软件包(删除配置文件):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get –purge remove packagename
|
apt-get –purge remove packagename
|
||||||
```
|
```
|
||||||
|
|
||||||
会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件:
|
会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get autoclean apt
|
apt-get autoclean apt
|
||||||
```
|
```
|
||||||
|
|
||||||
这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的:
|
这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get clean
|
apt-get clean
|
||||||
```
|
```
|
||||||
|
|
||||||
更新所有已安装的软件包:
|
更新所有已安装的软件包:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get upgrade
|
apt-get upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
将系统升级到新版本:
|
将系统升级到新版本:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get dist-upgrade
|
apt-get dist-upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用`apt-get clean`以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足 而感到焦头烂额,这个办法也许值得一试:
|
定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用`apt-get clean`以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足 而感到焦头烂额,这个办法也许值得一试:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get autoclean
|
apt-get autoclean
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
apt-key
|
apt-key
|
||||||
===
|
===
|
||||||
|
|
||||||
管理Debian Linux系统中的软件包密钥
|
管理Debian Linux系统中的软件包密钥
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ apt-key
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-key(参数)
|
apt-key(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -19,11 +19,11 @@ apt-key(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-key list #列出已保存在系统中key。
|
apt-key list # 列出已保存在系统中key。
|
||||||
apt-key add keyname #把下载的key添加到本地trusted数据库中。
|
apt-key add keyname # 把下载的key添加到本地trusted数据库中。
|
||||||
apt-key del keyname #从本地trusted数据库删除key。
|
apt-key del keyname # 从本地trusted数据库删除key。
|
||||||
apt-key update #更新本地trusted数据库,删除过期没用的key。
|
apt-key update # 更新本地trusted数据库,删除过期没用的key。
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
apt-sortpkgs
|
apt-sortpkgs
|
||||||
===
|
===
|
||||||
|
|
||||||
Debian Linux下对软件包索引文件进行排序的工具
|
Debian Linux下对软件包索引文件进行排序的工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ Debian Linux下对软件包索引文件进行排序的工具
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-sortpkgs(选项)(参数)
|
apt-sortpkgs(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-s:使用源索引字段排序;
|
-s:使用源索引字段排序;
|
||||||
-h:显示帮助信息。
|
-h:显示帮助信息。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
aptitude
|
aptitude
|
||||||
===
|
===
|
||||||
|
|
||||||
Debian Linux系统中软件包管理工具
|
Debian Linux系统中软件包管理工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ Debian Linux系统中软件包管理工具
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
aptitude(选项)(参数)
|
aptitude(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-h:显示帮助信息;
|
-h:显示帮助信息;
|
||||||
-d:仅下载软件包,不执行安装操作;
|
-d:仅下载软件包,不执行安装操作;
|
||||||
-P:每一步操作都要求确认;
|
-P:每一步操作都要求确认;
|
||||||
|
|
@ -32,17 +32,17 @@ aptitude(选项)(参数)
|
||||||
|
|
||||||
以下是我总结的一些常用aptitude命令,仅供参考:
|
以下是我总结的一些常用aptitude命令,仅供参考:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
aptitude update #更新可用的包列表
|
aptitude update # 更新可用的包列表
|
||||||
aptitude upgrade #升级可用的包
|
aptitude upgrade # 升级可用的包
|
||||||
aptitude dist-upgrade #将系统升级到新的发行版
|
aptitude dist-upgrade # 将系统升级到新的发行版
|
||||||
aptitude install pkgname #安装包
|
aptitude install pkgname # 安装包
|
||||||
aptitude remove pkgname #删除包
|
aptitude remove pkgname # 删除包
|
||||||
aptitude purge pkgname #删除包及其配置文件
|
aptitude purge pkgname # 删除包及其配置文件
|
||||||
aptitude search string #搜索包
|
aptitude search string # 搜索包
|
||||||
aptitude show pkgname #显示包的详细信息
|
aptitude show pkgname # 显示包的详细信息
|
||||||
aptitude clean #删除下载的包文件
|
aptitude clean # 删除下载的包文件
|
||||||
aptitude autoclean #仅删除过期的包文件
|
aptitude autoclean # 仅删除过期的包文件
|
||||||
```
|
```
|
||||||
|
|
||||||
当然,你也可以在文本界面模式中使用 aptitude。
|
当然,你也可以在文本界面模式中使用 aptitude。
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin <name>]
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
|
|
||||||
```
|
```shell
|
||||||
d - 从归档文件中删除文件
|
d - 从归档文件中删除文件
|
||||||
m[ab] - 在归档文件中移动文件
|
m[ab] - 在归档文件中移动文件
|
||||||
p - 打印在归档文件中找到的文件
|
p - 打印在归档文件中找到的文件
|
||||||
|
|
@ -50,7 +50,7 @@ x[o] - 从归档文件中分解文件
|
||||||
|
|
||||||
选项参数
|
选项参数
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--plugin <p> - load the specified plugin
|
--plugin <p> - load the specified plugin
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -60,12 +60,12 @@ ar:支持的目标: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pe
|
||||||
|
|
||||||
打包文件
|
打包文件
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# ls //显示当前目录文件
|
[root@localhost ~]# ls # 显示当前目录文件
|
||||||
a.c b.c d.c install.log qte
|
a.c b.c d.c install.log qte
|
||||||
anaconda-ks.cfg c.c Desktop
|
anaconda-ks.cfg c.c Desktop
|
||||||
|
|
||||||
[root@localhost ~]# ar rv one.bak a.c b.c //打包 a.c b.c文件
|
[root@localhost ~]# ar rv one.bak a.c b.c # 打包 a.c b.c文件
|
||||||
ar: 正在创建 one.bak
|
ar: 正在创建 one.bak
|
||||||
a - a.c
|
a - a.c
|
||||||
a - b.c
|
a - b.c
|
||||||
|
|
@ -73,8 +73,8 @@ a - b.c
|
||||||
|
|
||||||
打包多个文件
|
打包多个文件
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# ar rv two.bak *.c //打包以.c结尾的文件
|
[root@localhost ~]# ar rv two.bak *.c // 打包以.c结尾的文件
|
||||||
ar: 正在创建 two.bak
|
ar: 正在创建 two.bak
|
||||||
a - a.c
|
a - a.c
|
||||||
a - b.c
|
a - b.c
|
||||||
|
|
@ -84,7 +84,7 @@ a - d.c
|
||||||
|
|
||||||
显示打包文件的内容
|
显示打包文件的内容
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# ar t two.bak
|
[root@localhost ~]# ar t two.bak
|
||||||
a.c
|
a.c
|
||||||
b.c
|
b.c
|
||||||
|
|
@ -94,7 +94,7 @@ d.c
|
||||||
|
|
||||||
删除打包文件的成员文件
|
删除打包文件的成员文件
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# ar d two.bak a.c b.c c.c
|
[root@localhost ~]# ar d two.bak a.c b.c c.c
|
||||||
[root@localhost ~]# ar t two.bak
|
[root@localhost ~]# ar t two.bak
|
||||||
d.c
|
d.c
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
arch
|
arch
|
||||||
===
|
===
|
||||||
|
|
||||||
显示当前主机的硬件架构类型
|
显示当前主机的硬件架构类型
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ arch
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arch
|
arch
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arch
|
arch
|
||||||
x86_64
|
x86_64
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
arj
|
arj
|
||||||
===
|
===
|
||||||
|
|
||||||
用于创建和管理.arj压缩包
|
用于创建和管理.arj压缩包
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
||||||
**arj命令** 是“.arj”格式的压缩文件的管理器,用于创建和管理“.arj”压缩包。
|
**arj命令** 是 `.arj` 格式的压缩文件的管理器,用于创建和管理 `.arj` 压缩包。
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arj(参数)
|
arj(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* 操作指令:对“.arj”压缩包执行的操作指令;
|
* 操作指令:对 `.arj` 压缩包执行的操作指令;
|
||||||
* 压缩包名称:指定要操作的arj压缩包名称。
|
* 压缩包名称:指定要操作的arj压缩包名称。
|
||||||
|
|
||||||
|
|
||||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
arpd
|
arpd
|
||||||
===
|
===
|
||||||
|
|
||||||
收集免费ARP信息
|
收集免费ARP信息
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ arpd
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arpd(选项)(参数)
|
arpd(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-l:将arp数据库输出到标准输出设备显示并退出;
|
-l:将arp数据库输出到标准输出设备显示并退出;
|
||||||
-f:指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似;
|
-f:指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似;
|
||||||
-b:指定arpd数据库文件,默认的位置为“/var/lib/arpd.db”;
|
-b:指定arpd数据库文件,默认的位置为“/var/lib/arpd.db”;
|
||||||
|
|
@ -32,13 +32,13 @@ arpd(选项)(参数)
|
||||||
|
|
||||||
启动arpd进程:
|
启动arpd进程:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arpd -b /var/tmp/arpd.db
|
arpd -b /var/tmp/arpd.db
|
||||||
```
|
```
|
||||||
|
|
||||||
运行一段时间后,查看结果:
|
运行一段时间后,查看结果:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arpd -l -b /var/tmp/arpd.db
|
arpd -l -b /var/tmp/arpd.db
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
arping
|
arping
|
||||||
===
|
===
|
||||||
|
|
||||||
通过发送ARP协议报文测试网络
|
通过发送ARP协议报文测试网络
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ arping
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arping(选项)(参数)
|
arping(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。
|
-b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。
|
||||||
-q:quiet output不显示任何信息;
|
-q:quiet output不显示任何信息;
|
||||||
-f:表示在收到第一个响应报文后就退出;
|
-f:表示在收到第一个响应报文后就退出;
|
||||||
|
|
@ -31,7 +31,7 @@ arping(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# arping www.baidu.com
|
[root@localhost ~]# arping www.baidu.com
|
||||||
ARPING 220.181.111.147 from 173.231.43.132 eth0
|
ARPING 220.181.111.147 from 173.231.43.132 eth0
|
||||||
Unicast reply from 220.181.111.147 00:D0:03:[bc:48:00] 1.666ms
|
Unicast reply from 220.181.111.147 00:D0:03:[bc:48:00] 1.666ms
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
arptables
|
arptables
|
||||||
===
|
===
|
||||||
|
|
||||||
管理ARP包过滤规则表
|
管理ARP包过滤规则表
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ arptables
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arptables(选项)
|
arptables(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-A:向规则链中追加规则;
|
-A:向规则链中追加规则;
|
||||||
-D:从指定的链中删除规则;
|
-D:从指定的链中删除规则;
|
||||||
-l:向规则链中插入一条新的规则;
|
-l:向规则链中插入一条新的规则;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
arpwatch
|
arpwatch
|
||||||
===
|
===
|
||||||
|
|
||||||
监听网络上ARP的记录
|
监听网络上ARP的记录
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ arpwatch
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
arpwatch(选项)
|
arpwatch(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-d:启动排错模式;
|
-d:启动排错模式;
|
||||||
-f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat;
|
-f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat;
|
||||||
-i<接口>:指定监听ARP的接口,预设的接口为eth0;
|
-i<接口>:指定监听ARP的接口,预设的接口为eth0;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
as
|
as
|
||||||
===
|
===
|
||||||
|
|
||||||
汇编语言编译器
|
汇编语言编译器
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ as
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
as(选项)(参数)
|
as(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-ac:忽略失败条件;
|
-ac:忽略失败条件;
|
||||||
-ad:忽略调试指令;
|
-ad:忽略调试指令;
|
||||||
-ah:包括高级源;
|
-ah:包括高级源;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
at
|
at
|
||||||
===
|
===
|
||||||
|
|
||||||
在指定时间执行一个任务
|
在指定时间执行一个任务
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -11,13 +11,13 @@ at
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
at(选项)(参数)
|
at(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-f:指定包含具体指令的任务文件;
|
-f:指定包含具体指令的任务文件;
|
||||||
-q:指定新任务的队列名称;
|
-q:指定新任务的队列名称;
|
||||||
-l:显示待执行任务的列表;
|
-l:显示待执行任务的列表;
|
||||||
|
|
@ -33,7 +33,7 @@ at(选项)(参数)
|
||||||
|
|
||||||
三天后的下午 5 点锺执行`/bin/ls`:
|
三天后的下午 5 点锺执行`/bin/ls`:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# at 5pm+3 days
|
[root@localhost ~]# at 5pm+3 days
|
||||||
at> /bin/ls
|
at> /bin/ls
|
||||||
at> <EOT>
|
at> <EOT>
|
||||||
|
|
@ -42,7 +42,7 @@ job 7 at 2013-01-08 17:00
|
||||||
|
|
||||||
明天17点钟,输出时间到指定文件内:
|
明天17点钟,输出时间到指定文件内:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# at 17:20 tomorrow
|
[root@localhost ~]# at 17:20 tomorrow
|
||||||
at> date >/root/2013.log
|
at> date >/root/2013.log
|
||||||
at> <EOT>
|
at> <EOT>
|
||||||
|
|
@ -51,7 +51,7 @@ job 8 at 2013-01-06 17:20
|
||||||
|
|
||||||
计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务:
|
计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# atq
|
[root@localhost ~]# atq
|
||||||
8 2013-01-06 17:20 a root
|
8 2013-01-06 17:20 a root
|
||||||
7 2013-01-08 17:00 a root
|
7 2013-01-08 17:00 a root
|
||||||
|
|
@ -59,7 +59,7 @@ job 8 at 2013-01-06 17:20
|
||||||
|
|
||||||
删除已经设置的任务:
|
删除已经设置的任务:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# atq
|
[root@localhost ~]# atq
|
||||||
8 2013-01-06 17:20 a root
|
8 2013-01-06 17:20 a root
|
||||||
7 2013-01-08 17:00 a root
|
7 2013-01-08 17:00 a root
|
||||||
|
|
@ -71,7 +71,7 @@ job 8 at 2013-01-06 17:20
|
||||||
|
|
||||||
显示已经设置的任务内容:
|
显示已经设置的任务内容:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# at -c 8
|
[root@localhost ~]# at -c 8
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# atrun uid=0 gid=0
|
# atrun uid=0 gid=0
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ atop
|
||||||
|
|
||||||
## 语法
|
## 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
atop(选项)(参数)
|
atop(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -83,13 +83,13 @@ swin、swout字段:换入和换出内存页数
|
||||||
|
|
||||||
其实atop开发者已经提供了以上日志保存方式,相应的atop.daily脚本可以在源码目录下找到。在atop.daily脚本中,我们可以通过修改INTERVAL变量改变atop信息采样周期(默认为10分钟);通过修改以下命令中的数值改变日志保存天数(默认为28天):
|
其实atop开发者已经提供了以上日志保存方式,相应的atop.daily脚本可以在源码目录下找到。在atop.daily脚本中,我们可以通过修改INTERVAL变量改变atop信息采样周期(默认为10分钟);通过修改以下命令中的数值改变日志保存天数(默认为28天):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
(sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \; )&
|
(sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \; )&
|
||||||
```
|
```
|
||||||
|
|
||||||
最后,我们修改cron文件,每天凌晨执行atop.daily脚本:
|
最后,我们修改cron文件,每天凌晨执行atop.daily脚本:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
0 0 * * * root /etc/cron.daily/atop.daily
|
0 0 * * * root /etc/cron.daily/atop.daily
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
atq
|
atq
|
||||||
===
|
===
|
||||||
|
|
||||||
列出当前用户的at任务列表
|
列出当前用户的at任务列表
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,20 +9,20 @@ atq
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
atq(选项)
|
atq(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-V:显示版本号;
|
-V:显示版本号;
|
||||||
-q:查询指定队列的任务。
|
-q:查询指定队列的任务。
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
at now + 10 minutes
|
at now + 10 minutes
|
||||||
at> echo 1111
|
at> echo 1111
|
||||||
at> <eot>
|
at> <eot>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
atrm
|
atrm
|
||||||
===
|
===
|
||||||
|
|
||||||
删除待执行任务队列中的指定任务
|
删除待执行任务队列中的指定任务
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ atrm
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
atrm(选项)(参数)
|
atrm(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-V:显示版本号。
|
-V:显示版本号。
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -27,12 +27,12 @@ atrm(选项)(参数)
|
||||||
|
|
||||||
删除已经排队的任务
|
删除已经排队的任务
|
||||||
|
|
||||||
```
|
```shell
|
||||||
atq //显示当前已经设置的任务
|
atq # 显示当前已经设置的任务
|
||||||
2 Mon May 17 08:00:00 2010 a root
|
2 Mon May 17 08:00:00 2010 a root
|
||||||
1 Sat May 15 17:00:00 2010 a root
|
1 Sat May 15 17:00:00 2010 a root
|
||||||
|
|
||||||
atrm 2 //删除任务2
|
atrm 2 # 删除任务2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
218
command/awk.md
218
command/awk.md
|
|
@ -9,19 +9,19 @@ awk
|
||||||
|
|
||||||
## awk命令格式和选项
|
## awk命令格式和选项
|
||||||
|
|
||||||
**语法形式**
|
**语法形式**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk [options] 'script' var=value file(s)
|
awk [options] 'script' var=value file(s)
|
||||||
awk [options] -f scriptfile var=value file(s)
|
awk [options] -f scriptfile var=value file(s)
|
||||||
```
|
```
|
||||||
|
|
||||||
**常用命令选项**
|
**常用命令选项**
|
||||||
|
|
||||||
* **-F fs ** fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
|
* **-F fs** fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
|
||||||
* **-v var=value ** 赋值一个用户定义变量,将外部变量传递给awk
|
* **-v var=value** 赋值一个用户定义变量,将外部变量传递给awk
|
||||||
* **-f scripfile ** 从脚本文件中读取awk命令
|
* **-f scripfile** 从脚本文件中读取awk命令
|
||||||
* **-m[fr] val ** 对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
|
* **-m[fr] val** 对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
|
||||||
|
|
||||||
## awk模式和操作
|
## awk模式和操作
|
||||||
|
|
||||||
|
|
@ -31,36 +31,36 @@ awk脚本是由模式和操作组成的。
|
||||||
|
|
||||||
模式可以是以下任意一个:
|
模式可以是以下任意一个:
|
||||||
|
|
||||||
* /正则表达式/:使用通配符的扩展集。
|
* /正则表达式/:使用通配符的扩展集。
|
||||||
* 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。
|
* 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。
|
||||||
* 模式匹配表达式:用运算符`~`(匹配)和`!~`(不匹配)。
|
* 模式匹配表达式:用运算符`~`(匹配)和`!~`(不匹配)。
|
||||||
* BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理
|
* BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理
|
||||||
|
|
||||||
### 操作
|
### 操作
|
||||||
|
|
||||||
操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内,主要部分是:
|
操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内,主要部分是:
|
||||||
|
|
||||||
* 变量或数组赋值
|
* 变量或数组赋值
|
||||||
* 输出命令
|
* 输出命令
|
||||||
* 内置函数
|
* 内置函数
|
||||||
* 控制流语句
|
* 控制流语句
|
||||||
|
|
||||||
## awk脚本基本结构
|
## awk脚本基本结构
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file
|
awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file
|
||||||
```
|
```
|
||||||
|
|
||||||
一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中,脚本通常是被 **单引号** 或 **双引号** 中,例如:
|
一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中,脚本通常是被 **单引号** 或 **双引号** 中,例如:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename
|
awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename
|
||||||
awk "BEGIN{ i=0 } { i++ } END{ print i }" filename
|
awk "BEGIN{ i=0 } { i++ } END{ print i }" filename
|
||||||
```
|
```
|
||||||
|
|
||||||
### awk的工作原理
|
### awk的工作原理
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
|
awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -76,7 +76,7 @@ awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
|
||||||
|
|
||||||
**示例**
|
**示例**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo -e "A line 1nA line 2" | awk 'BEGIN{ print "Start" } { print } END{ print "End" }'
|
echo -e "A line 1nA line 2" | awk 'BEGIN{ print "Start" } { print } END{ print "End" }'
|
||||||
Start
|
Start
|
||||||
A line 1
|
A line 1
|
||||||
|
|
@ -86,14 +86,14 @@ End
|
||||||
|
|
||||||
当使用不带参数的`print`时,它就打印当前行,当`print`的参数是以逗号进行分隔时,打印时则以空格作为定界符。在awk的print语句块中双引号是被当作拼接符使用,例如:
|
当使用不带参数的`print`时,它就打印当前行,当`print`的参数是以逗号进行分隔时,打印时则以空格作为定界符。在awk的print语句块中双引号是被当作拼接符使用,例如:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1,var2,var3; }'
|
echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1,var2,var3; }'
|
||||||
v1 v2 v3
|
v1 v2 v3
|
||||||
```
|
```
|
||||||
|
|
||||||
双引号拼接使用:
|
双引号拼接使用:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1"="var2"="var3; }'
|
echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1"="var2"="var3; }'
|
||||||
v1=v2=v3
|
v1=v2=v3
|
||||||
```
|
```
|
||||||
|
|
@ -104,7 +104,7 @@ v1=v2=v3
|
||||||
|
|
||||||
说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk
|
说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk
|
||||||
|
|
||||||
```
|
```shell
|
||||||
**$n** 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
|
**$n** 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
|
||||||
**$0** 这个变量包含执行过程中当前行的文本内容。
|
**$0** 这个变量包含执行过程中当前行的文本内容。
|
||||||
[N] **ARGC** 命令行参数的数目。
|
[N] **ARGC** 命令行参数的数目。
|
||||||
|
|
@ -129,9 +129,9 @@ v1=v2=v3
|
||||||
[N] **SUBSEP** 数组下标分隔符(默认值是34)。
|
[N] **SUBSEP** 数组下标分隔符(默认值是34)。
|
||||||
```
|
```
|
||||||
|
|
||||||
**示例**
|
**示例**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo -e "line1 f2 f3\nline2 f4 f5\nline3 f6 f7" | awk '{print "Line No:"NR", No of fields:"NF, "$0="$0, "$1="$1, "$2="$2, "$3="$3}'
|
echo -e "line1 f2 f3\nline2 f4 f5\nline3 f6 f7" | awk '{print "Line No:"NR", No of fields:"NF, "$0="$0, "$1="$1, "$2="$2, "$3="$3}'
|
||||||
Line No:1, No of fields:3 $0=line1 f2 f3 $1=line1 $2=f2 $3=f3
|
Line No:1, No of fields:3 $0=line1 f2 f3 $1=line1 $2=f2 $3=f3
|
||||||
Line No:2, No of fields:3 $0=line2 f4 f5 $1=line2 $2=f4 $3=f5
|
Line No:2, No of fields:3 $0=line2 f4 f5 $1=line2 $2=f4 $3=f5
|
||||||
|
|
@ -140,13 +140,13 @@ Line No:3, No of fields:3 $0=line3 f6 f7 $1=line3 $2=f6 $3=f7
|
||||||
|
|
||||||
使用`print $NF`可以打印出一行中的最后一个字段,使用`$(NF-1)`则是打印倒数第二个字段,其他以此类推:
|
使用`print $NF`可以打印出一行中的最后一个字段,使用`$(NF-1)`则是打印倒数第二个字段,其他以此类推:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo -e "line1 f2 f3n line2 f4 f5" | awk '{print $NF}'
|
echo -e "line1 f2 f3n line2 f4 f5" | awk '{print $NF}'
|
||||||
f3
|
f3
|
||||||
f5
|
f5
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo -e "line1 f2 f3n line2 f4 f5" | awk '{print $(NF-1)}'
|
echo -e "line1 f2 f3n line2 f4 f5" | awk '{print $(NF-1)}'
|
||||||
f2
|
f2
|
||||||
f4
|
f4
|
||||||
|
|
@ -155,13 +155,13 @@ f4
|
||||||
|
|
||||||
打印每一行的第二和第三个字段:
|
打印每一行的第二和第三个字段:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk '{ print $2,$3 }' filename
|
awk '{ print $2,$3 }' filename
|
||||||
```
|
```
|
||||||
|
|
||||||
统计文件中的行数:
|
统计文件中的行数:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'END{ print NR }' filename
|
awk 'END{ print NR }' filename
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -169,7 +169,7 @@ awk 'END{ print NR }' filename
|
||||||
|
|
||||||
一个每一行中第一个字段值累加的例子:
|
一个每一行中第一个字段值累加的例子:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
seq 5 | awk 'BEGIN{ sum=0; print "总和:" } { print $1"+"; sum+=$1 } END{ print "等于"; print sum }'
|
seq 5 | awk 'BEGIN{ sum=0; print "总和:" } { print $1"+"; sum+=$1 } END{ print "等于"; print sum }'
|
||||||
总和:
|
总和:
|
||||||
1+
|
1+
|
||||||
|
|
@ -185,14 +185,14 @@ seq 5 | awk 'BEGIN{ sum=0; print "总和:" } { print $1"+"; sum+=$1 } END{ pri
|
||||||
|
|
||||||
借助 **`-v`选项** ,可以将外部值(并非来自stdin)传递给awk:
|
借助 **`-v`选项** ,可以将外部值(并非来自stdin)传递给awk:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
VAR=10000
|
VAR=10000
|
||||||
echo | awk -v VARIABLE=$VAR '{ print VARIABLE }'
|
echo | awk -v VARIABLE=$VAR '{ print VARIABLE }'
|
||||||
```
|
```
|
||||||
|
|
||||||
另一种传递外部变量方法:
|
另一种传递外部变量方法:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
var1="aaa"
|
var1="aaa"
|
||||||
var2="bbb"
|
var2="bbb"
|
||||||
echo | awk '{ print v1,v2 }' v1=$var1 v2=$var2
|
echo | awk '{ print v1,v2 }' v1=$var1 v2=$var2
|
||||||
|
|
@ -200,7 +200,7 @@ echo | awk '{ print v1,v2 }' v1=$var1 v2=$var2
|
||||||
|
|
||||||
当输入来自于文件时使用:
|
当输入来自于文件时使用:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk '{ print v1,v2 }' v1=$var1 v2=$var2 filename
|
awk '{ print v1,v2 }' v1=$var1 v2=$var2 filename
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -208,7 +208,7 @@ awk '{ print v1,v2 }' v1=$var1 v2=$var2 filename
|
||||||
|
|
||||||
## 查找进程pid
|
## 查找进程pid
|
||||||
|
|
||||||
```
|
```shell
|
||||||
netstat -antup | grep 7770 | awk '{ print $NF NR}' | awk '{ print $1}'
|
netstat -antup | grep 7770 | awk '{ print $NF NR}' | awk '{ print $1}'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -228,7 +228,7 @@ netstat -antup | grep 7770 | awk '{ print $NF NR}' | awk '{ print $1}'
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{a="b";print a++,++a;}'
|
awk 'BEGIN{a="b";print a++,++a;}'
|
||||||
0 2
|
0 2
|
||||||
```
|
```
|
||||||
|
|
@ -243,7 +243,7 @@ awk 'BEGIN{a="b";print a++,++a;}'
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
a+=5; 等价于:a=a+5; 其它同类
|
a+=5; 等价于:a=a+5; 其它同类
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -256,7 +256,7 @@ a+=5; 等价于:a=a+5; 其它同类
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
|
awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
|
||||||
0 1
|
0 1
|
||||||
```
|
```
|
||||||
|
|
@ -269,7 +269,7 @@ awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}'
|
awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}'
|
||||||
ok
|
ok
|
||||||
```
|
```
|
||||||
|
|
@ -282,7 +282,7 @@ ok
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{a=11;if(a >= 9){print "ok";}}'
|
awk 'BEGIN{a=11;if(a >= 9){print "ok";}}'
|
||||||
ok
|
ok
|
||||||
```
|
```
|
||||||
|
|
@ -300,12 +300,12 @@ ok
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{a="b";print a=="b"?"ok":"err";}'
|
awk 'BEGIN{a="b";print a=="b"?"ok":"err";}'
|
||||||
ok
|
ok
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{a="b";arr[0]="b";arr[1]="c";print (a in arr);}'
|
awk 'BEGIN{a="b";arr[0]="b";arr[1]="c";print (a in arr);}'
|
||||||
0
|
0
|
||||||
```
|
```
|
||||||
|
|
@ -326,7 +326,7 @@ awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'
|
||||||
|
|
||||||
awk中`next`语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。而进行下一行匹配。next语句一般用于多行合并:
|
awk中`next`语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。而进行下一行匹配。next语句一般用于多行合并:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat text.txt
|
cat text.txt
|
||||||
a
|
a
|
||||||
b
|
b
|
||||||
|
|
@ -343,7 +343,7 @@ awk 'NR%2==1{next}{print NR,$0;}' text.txt
|
||||||
|
|
||||||
分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行:
|
分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat text.txt
|
cat text.txt
|
||||||
web01[192.168.2.100]
|
web01[192.168.2.100]
|
||||||
httpd ok
|
httpd ok
|
||||||
|
|
@ -374,26 +374,26 @@ getline语法:getline var,变量var包含了特定行的内容。
|
||||||
|
|
||||||
awk getline从整体上来说,用法说明:
|
awk getline从整体上来说,用法说明:
|
||||||
|
|
||||||
* **当其左右无重定向符`|`或`<`时:** getline作用于当前文件,读入当前文件的第一行给其后跟的变量`var`或`$0`(无变量),应该注意到,由于awk在处理getline之前已经读入了一行,所以getline得到的返回结果是隔行的。
|
* **当其左右无重定向符`|`或`<`时:** getline作用于当前文件,读入当前文件的第一行给其后跟的变量`var`或`$0`(无变量),应该注意到,由于awk在处理getline之前已经读入了一行,所以getline得到的返回结果是隔行的。
|
||||||
* **当其左右有重定向符`|`或`<`时:** getline则作用于定向输入文件,由于该文件是刚打开,并没有被awk读入一行,只是getline读入,那么getline返回的是该文件的第一行,而不是隔行。
|
* **当其左右有重定向符`|`或`<`时:** getline则作用于定向输入文件,由于该文件是刚打开,并没有被awk读入一行,只是getline读入,那么getline返回的是该文件的第一行,而不是隔行。
|
||||||
|
|
||||||
**示例:**
|
**示例:**
|
||||||
|
|
||||||
执行linux的`date`命令,并通过管道输出给`getline`,然后再把输出赋值给自定义变量out,并打印它:
|
执行linux的`date`命令,并通过管道输出给`getline`,然后再把输出赋值给自定义变量out,并打印它:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{ "date" | getline out; print out }' test
|
awk 'BEGIN{ "date" | getline out; print out }' test
|
||||||
```
|
```
|
||||||
|
|
||||||
执行shell的date命令,并通过管道输出给getline,然后getline从管道中读取并将输入赋值给out,split函数把变量out转化成数组mon,然后打印数组mon的第二个元素:
|
执行shell的date命令,并通过管道输出给getline,然后getline从管道中读取并将输入赋值给out,split函数把变量out转化成数组mon,然后打印数组mon的第二个元素:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{ "date" | getline out; split(out,mon); print mon[2] }' test
|
awk 'BEGIN{ "date" | getline out; split(out,mon); print mon[2] }' test
|
||||||
```
|
```
|
||||||
|
|
||||||
命令ls的输出传递给geline作为输入,循环使getline从ls的输出中读取一行,并把它打印到屏幕。这里没有输入文件,因为BEGIN块在打开输入文件前执行,所以可以忽略输入文件。
|
命令ls的输出传递给geline作为输入,循环使getline从ls的输出中读取一行,并把它打印到屏幕。这里没有输入文件,因为BEGIN块在打开输入文件前执行,所以可以忽略输入文件。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{ while( "ls" | getline) print }'
|
awk 'BEGIN{ while( "ls" | getline) print }'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -401,7 +401,7 @@ awk 'BEGIN{ while( "ls" | getline) print }'
|
||||||
|
|
||||||
awk中允许在程序中关闭一个输入或输出文件,方法是使用awk的close语句。
|
awk中允许在程序中关闭一个输入或输出文件,方法是使用awk的close语句。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
close("filename")
|
close("filename")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -411,9 +411,9 @@ filename可以是getline打开的文件,也可以是stdin,包含文件名的
|
||||||
|
|
||||||
awk中允许用如下方式将结果输出到一个文件:
|
awk中允许用如下方式将结果输出到一个文件:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo | awk '{printf("hello word!n") > "datafile"}'
|
echo | awk '{printf("hello word!n") > "datafile"}'
|
||||||
或
|
# 或
|
||||||
echo | awk '{printf("hello word!n") >> "datafile"}'
|
echo | awk '{printf("hello word!n") >> "datafile"}'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -421,9 +421,9 @@ echo | awk '{printf("hello word!n") >> "datafile"}'
|
||||||
|
|
||||||
默认的字段定界符是空格,可以使用`-F "定界符"` 明确指定一个定界符:
|
默认的字段定界符是空格,可以使用`-F "定界符"` 明确指定一个定界符:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk -F: '{ print $NF }' /etc/passwd
|
awk -F: '{ print $NF }' /etc/passwd
|
||||||
或
|
# 或
|
||||||
awk 'BEGIN{ FS=":" } { print $NF }' /etc/passwd
|
awk 'BEGIN{ FS=":" } { print $NF }' /etc/passwd
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -435,7 +435,7 @@ awk 'BEGIN{ FS=":" } { print $NF }' /etc/passwd
|
||||||
|
|
||||||
### 条件判断语句
|
### 条件判断语句
|
||||||
|
|
||||||
```
|
```shell
|
||||||
if(表达式)
|
if(表达式)
|
||||||
语句1
|
语句1
|
||||||
else
|
else
|
||||||
|
|
@ -444,7 +444,7 @@ else
|
||||||
|
|
||||||
格式中语句1可以是多个语句,为了方便判断和阅读,最好将多个语句用{}括起来。awk分枝结构允许嵌套,其格式为:
|
格式中语句1可以是多个语句,为了方便判断和阅读,最好将多个语句用{}括起来。awk分枝结构允许嵌套,其格式为:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
if(表达式)
|
if(表达式)
|
||||||
{语句1}
|
{语句1}
|
||||||
else if(表达式)
|
else if(表达式)
|
||||||
|
|
@ -455,7 +455,7 @@ else
|
||||||
|
|
||||||
示例:
|
示例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
test=100;
|
test=100;
|
||||||
if(test>90){
|
if(test>90){
|
||||||
|
|
@ -478,14 +478,14 @@ very good
|
||||||
|
|
||||||
#### while语句
|
#### while语句
|
||||||
|
|
||||||
```
|
```shell
|
||||||
while(表达式)
|
while(表达式)
|
||||||
{语句}
|
{语句}
|
||||||
```
|
```
|
||||||
|
|
||||||
示例:
|
示例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
test=100;
|
test=100;
|
||||||
total=0;
|
total=0;
|
||||||
|
|
@ -504,14 +504,14 @@ for循环有两种格式:
|
||||||
|
|
||||||
格式1:
|
格式1:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
for(变量 in 数组)
|
for(变量 in 数组)
|
||||||
{语句}
|
{语句}
|
||||||
```
|
```
|
||||||
|
|
||||||
示例:
|
示例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
for(k in ENVIRON){
|
for(k in ENVIRON){
|
||||||
print k"="ENVIRON[k];
|
print k"="ENVIRON[k];
|
||||||
|
|
@ -532,14 +532,14 @@ SSH_CLIENT=192.168.1.21 53087 22
|
||||||
|
|
||||||
格式2:
|
格式2:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
for(变量;条件;表达式)
|
for(变量;条件;表达式)
|
||||||
{语句}
|
{语句}
|
||||||
```
|
```
|
||||||
|
|
||||||
示例:
|
示例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
total=0;
|
total=0;
|
||||||
for(i=0;i<=100;i++){
|
for(i=0;i<=100;i++){
|
||||||
|
|
@ -552,14 +552,14 @@ print total;
|
||||||
|
|
||||||
#### do循环
|
#### do循环
|
||||||
|
|
||||||
```
|
```shell
|
||||||
do
|
do
|
||||||
{语句} while(条件)
|
{语句} while(条件)
|
||||||
```
|
```
|
||||||
|
|
||||||
例子:
|
例子:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
total=0;
|
total=0;
|
||||||
i=0;
|
i=0;
|
||||||
|
|
@ -571,10 +571,10 @@ do {total+=i;i++;} while(i<=100)
|
||||||
|
|
||||||
### 其他语句
|
### 其他语句
|
||||||
|
|
||||||
* **break** 当 break 语句用于 while 或 for 语句时,导致退出程序循环。
|
* **break** 当 break 语句用于 while 或 for 语句时,导致退出程序循环。
|
||||||
* **continue** 当 continue 语句用于 while 或 for 语句时,使程序循环移动到下一个迭代。
|
* **continue** 当 continue 语句用于 while 或 for 语句时,使程序循环移动到下一个迭代。
|
||||||
* **next** 能能够导致读入下一个输入行,并返回到脚本的顶部。这可以避免对当前输入行执行其他的操作过程。
|
* **next** 能能够导致读入下一个输入行,并返回到脚本的顶部。这可以避免对当前输入行执行其他的操作过程。
|
||||||
* **exit** 语句使主输入循环退出并将控制转移到END,如果END存在的话。如果没有定义END规则,或在END中应用exit语句,则终止脚本的执行。
|
* **exit** 语句使主输入循环退出并将控制转移到END,如果END存在的话。如果没有定义END规则,或在END中应用exit语句,则终止脚本的执行。
|
||||||
|
|
||||||
## 数组应用
|
## 数组应用
|
||||||
|
|
||||||
|
|
@ -584,14 +584,14 @@ do {total+=i;i++;} while(i<=100)
|
||||||
|
|
||||||
数字做数组索引(下标):
|
数字做数组索引(下标):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
Array[1]="sun"
|
Array[1]="sun"
|
||||||
Array[2]="kai"
|
Array[2]="kai"
|
||||||
```
|
```
|
||||||
|
|
||||||
字符串做数组索引(下标):
|
字符串做数组索引(下标):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
Array["first"]="www"
|
Array["first"]="www"
|
||||||
Array"[last"]="name"
|
Array"[last"]="name"
|
||||||
Array["birth"]="1987"
|
Array["birth"]="1987"
|
||||||
|
|
@ -601,32 +601,32 @@ Array["birth"]="1987"
|
||||||
|
|
||||||
**读取数组的值**
|
**读取数组的值**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
{ for(item in array) {print array[item]}; } #输出的顺序是随机的
|
{ for(item in array) {print array[item]}; } #输出的顺序是随机的
|
||||||
{ for(i=1;i<=len;i++) {print array[i]}; } #Len是数组的长度
|
{ for(i=1;i<=len;i++) {print array[i]}; } #Len是数组的长度
|
||||||
```
|
```
|
||||||
|
|
||||||
### 数组相关函数
|
### 数组相关函数
|
||||||
|
|
||||||
**得到数组长度:**
|
**得到数组长度:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="it is a test";lens=split(info,tA," ");print length(tA),lens;}'
|
awk 'BEGIN{info="it is a test";lens=split(info,tA," ");print length(tA),lens;}'
|
||||||
4 4
|
4 4
|
||||||
```
|
```
|
||||||
|
|
||||||
length返回字符串以及数组长度,split进行分割字符串为数组,也会返回分割得到数组长度。
|
length返回字符串以及数组长度,split进行分割字符串为数组,也会返回分割得到数组长度。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="it is a test";split(info,tA," ");print asort(tA);}'
|
awk 'BEGIN{info="it is a test";split(info,tA," ");print asort(tA);}'
|
||||||
4
|
4
|
||||||
```
|
```
|
||||||
|
|
||||||
asort对数组进行排序,返回数组长度。
|
asort对数组进行排序,返回数组长度。
|
||||||
|
|
||||||
**输出数组内容(无序,有序输出):**
|
**输出数组内容(无序,有序输出):**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="it is a test";split(info,tA," ");for(k in tA){print k,tA[k];}}'
|
awk 'BEGIN{info="it is a test";split(info,tA," ");for(k in tA){print k,tA[k];}}'
|
||||||
4 test
|
4 test
|
||||||
1 it
|
1 it
|
||||||
|
|
@ -636,7 +636,7 @@ awk 'BEGIN{info="it is a test";split(info,tA," ");for(k in tA){print k,tA[k];}}'
|
||||||
|
|
||||||
`for…in`输出,因为数组是关联数组,默认是无序的。所以通过`for…in`得到是无序的数组。如果需要得到有序数组,需要通过下标获得。
|
`for…in`输出,因为数组是关联数组,默认是无序的。所以通过`for…in`得到是无序的数组。如果需要得到有序数组,需要通过下标获得。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="it is a test";tlen=split(info,tA," ");for(k=1;k<=tlen;k++){print k,tA[k];}}'
|
awk 'BEGIN{info="it is a test";tlen=split(info,tA," ");for(k=1;k<=tlen;k++){print k,tA[k];}}'
|
||||||
1 it
|
1 it
|
||||||
2 is
|
2 is
|
||||||
|
|
@ -646,10 +646,10 @@ awk 'BEGIN{info="it is a test";tlen=split(info,tA," ");for(k=1;k<=tlen;k++){prin
|
||||||
|
|
||||||
注意:数组下标是从1开始,与C数组不一样。
|
注意:数组下标是从1开始,与C数组不一样。
|
||||||
|
|
||||||
**判断键值存在以及删除键值:**
|
**判断键值存在以及删除键值:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
#错误的判断方法:
|
# 错误的判断方法:
|
||||||
awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";if(tB["c"]!="1"){print "no found";};for(k in tB){print k,tB[k];}}'
|
awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";if(tB["c"]!="1"){print "no found";};for(k in tB){print k,tB[k];}}'
|
||||||
no found
|
no found
|
||||||
a a1
|
a a1
|
||||||
|
|
@ -659,8 +659,8 @@ c
|
||||||
|
|
||||||
以上出现奇怪问题,`tB[“c”]`没有定义,但是循环时候,发现已经存在该键值,它的值为空,这里需要注意,awk数组是关联数组,只要通过数组引用它的key,就会自动创建改序列。
|
以上出现奇怪问题,`tB[“c”]`没有定义,但是循环时候,发现已经存在该键值,它的值为空,这里需要注意,awk数组是关联数组,只要通过数组引用它的key,就会自动创建改序列。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
#正确判断方法:
|
# 正确判断方法:
|
||||||
awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";if( "c" in tB){print "ok";};for(k in tB){print k,tB[k];}}'
|
awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";if( "c" in tB){print "ok";};for(k in tB){print k,tB[k];}}'
|
||||||
a a1
|
a a1
|
||||||
b b1
|
b b1
|
||||||
|
|
@ -668,7 +668,7 @@ b b1
|
||||||
|
|
||||||
`if(key in array)`通过这种方法判断数组中是否包含`key`键值。
|
`if(key in array)`通过这种方法判断数组中是否包含`key`键值。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
#删除键值:
|
#删除键值:
|
||||||
awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";delete tB["a"];for(k in tB){print k,tB[k];}}'
|
awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";delete tB["a"];for(k in tB){print k,tB[k];}}'
|
||||||
b b1
|
b b1
|
||||||
|
|
@ -682,7 +682,7 @@ awk的多维数组在本质上是一维数组,更确切一点,awk在存储
|
||||||
|
|
||||||
类似一维数组的成员测试,多维数组可以使用`if ( (i,j) in array)`这样的语法,但是下标必须放置在圆括号中。类似一维数组的循环访问,多维数组使用`for ( item in array )`这样的语法遍历数组。与一维数组不同的是,多维数组必须使用`split()`函数来访问单独的下标分量。
|
类似一维数组的成员测试,多维数组可以使用`if ( (i,j) in array)`这样的语法,但是下标必须放置在圆括号中。类似一维数组的循环访问,多维数组使用`for ( item in array )`这样的语法遍历数组。与一维数组不同的是,多维数组必须使用`split()`函数来访问单独的下标分量。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
for(i=1;i<=9;i++){
|
for(i=1;i<=9;i++){
|
||||||
for(j=1;j<=9;j++){
|
for(j=1;j<=9;j++){
|
||||||
|
|
@ -707,7 +707,7 @@ for(i=1;i<=9;i++){
|
||||||
|
|
||||||
另一种方法:
|
另一种方法:
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
awk 'BEGIN{
|
awk 'BEGIN{
|
||||||
for(i=1;i<=9;i++){
|
for(i=1;i<=9;i++){
|
||||||
for(j=1;j<=9;j++){
|
for(j=1;j<=9;j++){
|
||||||
|
|
@ -741,7 +741,7 @@ awk内置函数,主要分以下3种类似:算数函数、字符串函数、
|
||||||
|
|
||||||
举例说明:
|
举例说明:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{OFMT="%.3f";fs=sin(1);fe=exp(10);fl=log(10);fi=int(3.1415);print fs,fe,fl,fi;}'
|
awk 'BEGIN{OFMT="%.3f";fs=sin(1);fe=exp(10);fl=log(10);fi=int(3.1415);print fs,fe,fl,fi;}'
|
||||||
0.841 22026.466 2.303 3
|
0.841 22026.466 2.303 3
|
||||||
|
|
||||||
|
|
@ -751,7 +751,7 @@ OFMT 设置输出数据格式是保留3位小数。
|
||||||
|
|
||||||
获得随机数:
|
获得随机数:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{srand();fr=int(100*rand());print fr;}'
|
awk 'BEGIN{srand();fr=int(100*rand());print fr;}'
|
||||||
78
|
78
|
||||||
awk 'BEGIN{srand();fr=int(100*rand());print fr;}'
|
awk 'BEGIN{srand();fr=int(100*rand());print fr;}'
|
||||||
|
|
@ -779,9 +779,9 @@ awk 'BEGIN{srand();fr=int(100*rand());print fr;}'
|
||||||
|
|
||||||
注:Ere都可以是正则表达式。
|
注:Ere都可以是正则表达式。
|
||||||
|
|
||||||
**gsub,sub使用**
|
**gsub,sub使用**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="this is a test2010test!";gsub(/[0-9]+/,"!",info);print info}'
|
awk 'BEGIN{info="this is a test2010test!";gsub(/[0-9]+/,"!",info);print info}'
|
||||||
this is a test!test!
|
this is a test!test!
|
||||||
```
|
```
|
||||||
|
|
@ -790,32 +790,32 @@ this is a test!test!
|
||||||
|
|
||||||
**查找字符串(index使用)**
|
**查找字符串(index使用)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="this is a test2010test!";print index(info,"test")?"ok":"no found";}'
|
awk 'BEGIN{info="this is a test2010test!";print index(info,"test")?"ok":"no found";}'
|
||||||
ok
|
ok
|
||||||
```
|
```
|
||||||
|
|
||||||
未找到,返回0
|
未找到,返回0
|
||||||
|
|
||||||
**正则表达式匹配查找(match使用)**
|
**正则表达式匹配查找(match使用)**
|
||||||
|
|
||||||
```
|
```
|
||||||
awk 'BEGIN{info="this is a test2010test!";print match(info,/[0-9]+/)?"ok":"no found";}'
|
awk 'BEGIN{info="this is a test2010test!";print match(info,/[0-9]+/)?"ok":"no found";}'
|
||||||
ok
|
ok
|
||||||
```
|
```
|
||||||
|
|
||||||
**截取字符串(substr使用)**
|
**截取字符串(substr使用)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[wangsl@centos5 ~]$ awk 'BEGIN{info="this is a test2010test!";print substr(info,4,10);}'
|
[wangsl@centos5 ~]$ awk 'BEGIN{info="this is a test2010test!";print substr(info,4,10);}'
|
||||||
s is a tes
|
s is a tes
|
||||||
```
|
```
|
||||||
|
|
||||||
从第 4个 字符开始,截取10个长度字符串
|
从第 4个 字符开始,截取10个长度字符串
|
||||||
|
|
||||||
**字符串分割(split使用)**
|
**字符串分割(split使用)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{info="this is a test";split(info,tA," ");print length(tA);for(k in tA){print k,tA[k];}}'
|
awk 'BEGIN{info="this is a test";split(info,tA," ");print length(tA);for(k in tA){print k,tA[k];}}'
|
||||||
4
|
4
|
||||||
4 test
|
4 test
|
||||||
|
|
@ -826,7 +826,7 @@ awk 'BEGIN{info="this is a test";split(info,tA," ");print length(tA);for(k in tA
|
||||||
|
|
||||||
分割info,动态创建数组tA,这里比较有意思,`awk for …in`循环,是一个无序的循环。 并不是从数组下标1…n ,因此使用时候需要注意。
|
分割info,动态创建数组tA,这里比较有意思,`awk for …in`循环,是一个无序的循环。 并不是从数组下标1…n ,因此使用时候需要注意。
|
||||||
|
|
||||||
**格式化字符串输出(sprintf使用)**
|
**格式化字符串输出(sprintf使用)**
|
||||||
|
|
||||||
格式化字符串格式:
|
格式化字符串格式:
|
||||||
|
|
||||||
|
|
@ -841,7 +841,7 @@ awk 'BEGIN{info="this is a test";split(info,tA," ");print length(tA);for(k in tA
|
||||||
| %o | 无符号以八进制表示的整数 | %g | 自动选择合适的表示法 |
|
| %o | 无符号以八进制表示的整数 | %g | 自动选择合适的表示法 |
|
||||||
|
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{n1=124.113;n2=-1.224;n3=1.2345; printf("%.2f,%.2u,%.2g,%X,%on",n1,n2,n3,n1,n1);}'
|
awk 'BEGIN{n1=124.113;n2=-1.224;n3=1.2345; printf("%.2f,%.2u,%.2g,%X,%on",n1,n2,n3,n1,n1);}'
|
||||||
124.11,18446744073709551615,1.2,7C,174
|
124.11,18446744073709551615,1.2,7C,174
|
||||||
```
|
```
|
||||||
|
|
@ -856,34 +856,34 @@ awk 'BEGIN{n1=124.113;n2=-1.224;n3=1.2345; printf("%.2f,%.2u,%.2g,%X,%on",n1,n2,
|
||||||
| getline [ Variable ] < Expression | 从 Expression 参数指定的文件读取输入的下一个记录,并将 Variable 参数指定的变量设置为该记录的值。只要流保留打开且 Expression 参数对同一个字符串求值,则对 getline 函数的每次后续调用读取另一个记录。如果未指定 Variable 参数,则 $0 记录变量和 NF 特殊变量设置为从流读取的记录。 |
|
| getline [ Variable ] < Expression | 从 Expression 参数指定的文件读取输入的下一个记录,并将 Variable 参数指定的变量设置为该记录的值。只要流保留打开且 Expression 参数对同一个字符串求值,则对 getline 函数的每次后续调用读取另一个记录。如果未指定 Variable 参数,则 $0 记录变量和 NF 特殊变量设置为从流读取的记录。 |
|
||||||
| getline [ Variable ] | 将 Variable 参数指定的变量设置为从当前输入文件读取的下一个输入记录。如果未指定 Variable 参数,则 $0 记录变量设置为该记录的值,还将设置 NF、NR 和 FNR 特殊变量。 |
|
| getline [ Variable ] | 将 Variable 参数指定的变量设置为从当前输入文件读取的下一个输入记录。如果未指定 Variable 参数,则 $0 记录变量设置为该记录的值,还将设置 NF、NR 和 FNR 特殊变量。 |
|
||||||
|
|
||||||
**打开外部文件(close用法)**
|
**打开外部文件(close用法)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{while("cat /etc/passwd"|getline){print $0;};close("/etc/passwd");}'
|
awk 'BEGIN{while("cat /etc/passwd"|getline){print $0;};close("/etc/passwd");}'
|
||||||
root:x:0:0:root:/root:/bin/bash
|
root:x:0:0:root:/root:/bin/bash
|
||||||
bin:x:1:1:bin:/bin:/sbin/nologin
|
bin:x:1:1:bin:/bin:/sbin/nologin
|
||||||
daemon:x:2:2:daemon:/sbin:/sbin/nologin
|
daemon:x:2:2:daemon:/sbin:/sbin/nologin
|
||||||
```
|
```
|
||||||
|
|
||||||
**逐行读取外部文件(getline使用方法)**
|
**逐行读取外部文件(getline使用方法)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{while(getline < "/etc/passwd"){print $0;};close("/etc/passwd");}'
|
awk 'BEGIN{while(getline < "/etc/passwd"){print $0;};close("/etc/passwd");}'
|
||||||
root:x:0:0:root:/root:/bin/bash
|
root:x:0:0:root:/root:/bin/bash
|
||||||
bin:x:1:1:bin:/bin:/sbin/nologin
|
bin:x:1:1:bin:/bin:/sbin/nologin
|
||||||
daemon:x:2:2:daemon:/sbin:/sbin/nologin
|
daemon:x:2:2:daemon:/sbin:/sbin/nologin
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{print "Enter your name:";getline name;print name;}'
|
awk 'BEGIN{print "Enter your name:";getline name;print name;}'
|
||||||
Enter your name:
|
Enter your name:
|
||||||
chengmo
|
chengmo
|
||||||
chengmo
|
chengmo
|
||||||
```
|
```
|
||||||
|
|
||||||
**调用外部应用程序(system使用方法)**
|
**调用外部应用程序(system使用方法)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{b=system("ls -al");print b;}'
|
awk 'BEGIN{b=system("ls -al");print b;}'
|
||||||
total 42092
|
total 42092
|
||||||
drwxr-xr-x 14 chengmo chengmo 4096 09-30 17:47 .
|
drwxr-xr-x 14 chengmo chengmo 4096 09-30 17:47 .
|
||||||
|
|
@ -901,26 +901,26 @@ b返回值,是执行结果。
|
||||||
| strftime([format [, timestamp]]) | 格式化时间输出,将时间戳转为时间字符串具体格式,见下表。 |
|
| strftime([format [, timestamp]]) | 格式化时间输出,将时间戳转为时间字符串具体格式,见下表。 |
|
||||||
| systime() | 得到时间戳,返回从1970年1月1日开始到当前时间(不计闰年)的整秒数 |
|
| systime() | 得到时间戳,返回从1970年1月1日开始到当前时间(不计闰年)的整秒数 |
|
||||||
|
|
||||||
**建指定时间(mktime使用)**
|
**建指定时间(mktime使用)**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{tstamp=mktime("2001 01 01 12 12 12");print strftime("%c",tstamp);}'
|
awk 'BEGIN{tstamp=mktime("2001 01 01 12 12 12");print strftime("%c",tstamp);}'
|
||||||
2001年01月01日 星期一 12时12分12秒
|
2001年01月01日 星期一 12时12分12秒
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{tstamp1=mktime("2001 01 01 12 12 12");tstamp2=mktime("2001 02 01 0 0 0");print tstamp2-tstamp1;}'
|
awk 'BEGIN{tstamp1=mktime("2001 01 01 12 12 12");tstamp2=mktime("2001 02 01 0 0 0");print tstamp2-tstamp1;}'
|
||||||
2634468
|
2634468
|
||||||
```
|
```
|
||||||
|
|
||||||
求2个时间段中间时间差,介绍了strftime使用方法
|
求2个时间段中间时间差,介绍了strftime使用方法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
awk 'BEGIN{tstamp1=mktime("2001 01 01 12 12 12");tstamp2=systime();print tstamp2-tstamp1;}'
|
awk 'BEGIN{tstamp1=mktime("2001 01 01 12 12 12");tstamp2=systime();print tstamp2-tstamp1;}'
|
||||||
308201392
|
308201392
|
||||||
```
|
```
|
||||||
|
|
||||||
**strftime日期和时间格式说明符**
|
**strftime日期和时间格式说明符**
|
||||||
|
|
||||||
| 格式 | 描述 |
|
| 格式 | 描述 |
|
||||||
| ---- | ---- |
|
| ---- | ---- |
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
axel
|
axel
|
||||||
===
|
===
|
||||||
|
|
||||||
多线程下载工具
|
多线程下载工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -11,56 +11,56 @@ axel
|
||||||
|
|
||||||
CentOS安装Axel:
|
CentOS安装Axel:
|
||||||
|
|
||||||
目前yum源上没有Axel,我们可以到http://pkgs.repoforge.org/axel/下载rpm包安装。
|
目前yum源上没有Axel,我们可以到 http://pkgs.repoforge.org/axel/ 下载rpm包安装。
|
||||||
|
|
||||||
32位CentOS执行下面命令:
|
32位CentOS执行下面命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.i386.rpm
|
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.i386.rpm
|
||||||
rpm -ivh axel-2.4-1.el5.rf.i386.rpm
|
rpm -ivh axel-2.4-1.el5.rf.i386.rpm
|
||||||
```
|
```
|
||||||
|
|
||||||
64位CentOS执行下面命令:
|
64位CentOS执行下面命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.x86_64.rpm
|
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el5.rf.x86_64.rpm
|
||||||
rpm -ivh axel-2.4-1.el5.rf.x86_64.rpm
|
rpm -ivh axel-2.4-1.el5.rf.x86_64.rpm
|
||||||
```
|
```
|
||||||
|
|
||||||
Debian/Ubuntu安装Axel:
|
Debian/Ubuntu安装Axel:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
apt-get install axel
|
apt-get install axel
|
||||||
```
|
```
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
axel [options] url1 [url2] [url...]
|
axel [options] url1 [url2] [url...]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--max-speed=x , -s x 最高速度x
|
--max-speed=x , -s x # 最高速度x
|
||||||
--num-connections=x , -n x 连接数x
|
--num-connections=x , -n x # 连接数x
|
||||||
--output=f , -o f 下载为本地文件f
|
--output=f , -o f # 下载为本地文件f
|
||||||
--search[=x] , -S [x] 搜索镜像
|
--search[=x] , -S [x] # 搜索镜像
|
||||||
--header=x , -H x 添加头文件字符串x(指定 HTTP header)
|
--header=x , -H x # 添加头文件字符串x(指定 HTTP header)
|
||||||
--user-agent=x , -U x 设置用户代理(指定 HTTP user agent)
|
--user-agent=x , -U x # 设置用户代理(指定 HTTP user agent)
|
||||||
--no-proxy , -N 不使用代理服务器
|
--no-proxy , -N # 不使用代理服务器
|
||||||
--quiet , -q 静默模式
|
--quiet , -q # 静默模式
|
||||||
--verbose ,-v 更多状态信息
|
--verbose ,-v # 更多状态信息
|
||||||
--alternate , -a Alternate progress indicator
|
--alternate , -a # Alternate progress indicator
|
||||||
--help ,-h 帮助
|
--help ,-h # 帮助
|
||||||
--version ,-V 版本信息
|
--version ,-V # 版本信息
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
如下载lnmp安装包指定10个线程,存到/tmp/:
|
如下载lnmp安装包指定10个线程,存到 `/tmp/`:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
axel -n 10 -o /tmp/ http://www.jsdig.com/lnmp.tar.gz
|
axel -n 10 -o /tmp/ http://www.jsdig.com/lnmp.tar.gz
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
badblocks
|
badblocks
|
||||||
===
|
===
|
||||||
|
|
||||||
查找磁盘中损坏的区块
|
查找磁盘中损坏的区块
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ badblocks
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
badblock(选项)(参数)
|
badblock(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-b<区块大小>:指定磁盘的区块大小,单位为字节;
|
-b<区块大小>:指定磁盘的区块大小,单位为字节;
|
||||||
-o<输出文件>:将检查的结果写入指定的输出文件;
|
-o<输出文件>:将检查的结果写入指定的输出文件;
|
||||||
-s:在检查时显示进度;
|
-s:在检查时显示进度;
|
||||||
|
|
@ -25,21 +25,21 @@ badblock(选项)(参数)
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* 磁盘装置:指定要检查的磁盘装置;
|
* 磁盘装置:指定要检查的磁盘装置;
|
||||||
* 磁盘区块数:指定磁盘装置的区块总数;
|
* 磁盘区块数:指定磁盘装置的区块总数;
|
||||||
* 启始区块:指定要从哪个区块开始检查。
|
* 启始区块:指定要从哪个区块开始检查。
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
badblocks以4096的一个block,每一个block检查16次,将结果输出到“hda-badblocks-list”文件里。
|
badblocks以 4096 的一个block,每一个block检查16次,将结果输出到“hda-badblocks-list”文件里。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list
|
badblocks -b 4096 -c 16 /dev/hda1 -o hda-badblocks-list
|
||||||
```
|
```
|
||||||
|
|
||||||
hda-badblocks-list是个文本文件,内容如下:
|
hda-badblocks-list是个文本文件,内容如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat hda-badblocks-list
|
cat hda-badblocks-list
|
||||||
51249
|
51249
|
||||||
51250
|
51250
|
||||||
|
|
@ -53,7 +53,7 @@ cat hda-badblocks-list
|
||||||
|
|
||||||
可以针对可疑的区块多做几次操作。下面,badblocks以4096字节为一个“block”,每一个“block”检查1次, 将结果输出到“hda-badblocks-list.1”文件中,由第51000 block开始,到63000 block结束。
|
可以针对可疑的区块多做几次操作。下面,badblocks以4096字节为一个“block”,每一个“block”检查1次, 将结果输出到“hda-badblocks-list.1”文件中,由第51000 block开始,到63000 block结束。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000
|
badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -61,7 +61,7 @@ badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000
|
||||||
|
|
||||||
### 其他
|
### 其他
|
||||||
|
|
||||||
**1、fsck使用badblocks的信息**
|
**1、fsck使用badblocks的信息**
|
||||||
|
|
||||||
badblocks只会在日志文件中标记出坏道的信息,但若希望在检测磁盘时也能跳过这些坏块不检测,可以使用fsck的-l参数:
|
badblocks只会在日志文件中标记出坏道的信息,但若希望在检测磁盘时也能跳过这些坏块不检测,可以使用fsck的-l参数:
|
||||||
|
|
||||||
|
|
@ -69,11 +69,11 @@ badblocks只会在日志文件中标记出坏道的信息,但若希望在检
|
||||||
fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1
|
fsck.ext3 -l /tmp/hda-badblock-list.final /dev/hda1
|
||||||
```
|
```
|
||||||
|
|
||||||
**2、在创建文件系统前检测坏道**
|
**2、在创建文件系统前检测坏道**
|
||||||
|
|
||||||
badblocks可以随e2fsck和mke2fs的-c删除一起运行(对ext3文件系统也一样),在创建文件系统前就先检测坏道信息:
|
badblocks可以随e2fsck和mke2fs的-c删除一起运行(对ext3文件系统也一样),在创建文件系统前就先检测坏道信息:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
mkfs.ext3 -c /dev/hda1
|
mkfs.ext3 -c /dev/hda1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
basename
|
basename
|
||||||
===
|
===
|
||||||
|
|
||||||
打印目录或者文件的基本名称
|
打印目录或者文件的基本名称
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,27 +9,27 @@ basename
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
basename(选项)(参数)
|
basename(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--help:显示帮助;
|
--help:显示帮助;
|
||||||
--version:显示版本号。
|
--version:显示版本号。
|
||||||
```
|
```
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* 文件:带路径信息的文件;
|
* 文件:带路径信息的文件;
|
||||||
* 后缀:可选参数,指定要去除的文件后缀字符串。
|
* 后缀:可选参数,指定要去除的文件后缀字符串。
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
1、要显示一个shell变量的基本名称,请输入:
|
1、要显示一个shell变量的基本名称,请输入:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
basename $WORKFILE
|
basename $WORKFILE
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -37,7 +37,7 @@ basename $WORKFILE
|
||||||
|
|
||||||
要构造一个和另一个文件名称相同(除了后缀)的文件名称,请输入:
|
要构造一个和另一个文件名称相同(除了后缀)的文件名称,请输入:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
OFILE=`basename $1 .c`.o
|
OFILE=`basename $1 .c`.o
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
batch
|
batch
|
||||||
===
|
===
|
||||||
|
|
||||||
在系统不繁忙的时候执行定时任务
|
在系统不繁忙的时候执行定时任务
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ batch
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
batch(选项)(参数)
|
batch(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-f:指定包含具体指令的任务文件;
|
-f:指定包含具体指令的任务文件;
|
||||||
-q:指定新任务的队列名称;
|
-q:指定新任务的队列名称;
|
||||||
-m:任务执行完后向用户发送E-mail。
|
-m:任务执行完后向用户发送E-mail。
|
||||||
|
|
@ -27,7 +27,7 @@ batch(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
batch
|
batch
|
||||||
at> echo 1234
|
at> echo 1234
|
||||||
at> <EOT>
|
at> <EOT>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bc
|
bc
|
||||||
===
|
===
|
||||||
|
|
||||||
算术操作精密运算工具
|
算术操作精密运算工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ bc
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bc(选项)(参数)
|
bc(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-i:强制进入交互式模式;
|
-i:强制进入交互式模式;
|
||||||
-l:定义使用的标准数学库;
|
-l:定义使用的标准数学库;
|
||||||
-w:对POSIX bc的扩展给出警告信息;
|
-w:对POSIX bc的扩展给出警告信息;
|
||||||
|
|
@ -32,7 +32,7 @@ bc(选项)(参数)
|
||||||
|
|
||||||
算术操作高级运算bc命令它可以执行浮点运算和一些高级函数:
|
算术操作高级运算bc命令它可以执行浮点运算和一些高级函数:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo "1.212*3" | bc
|
echo "1.212*3" | bc
|
||||||
3.636
|
3.636
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ echo "1.212*3" | bc
|
||||||
|
|
||||||
设定小数精度(数值范围)
|
设定小数精度(数值范围)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo "scale=2;3/8" | bc
|
echo "scale=2;3/8" | bc
|
||||||
0.37
|
0.37
|
||||||
|
|
||||||
|
|
@ -50,7 +50,7 @@ echo "scale=2;3/8" | bc
|
||||||
|
|
||||||
进制转换
|
进制转换
|
||||||
|
|
||||||
```
|
```shell
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
abc=192
|
abc=192
|
||||||
echo "obase=2;$abc" | bc
|
echo "obase=2;$abc" | bc
|
||||||
|
|
@ -59,7 +59,7 @@ echo "obase=2;$abc" | bc
|
||||||
|
|
||||||
执行结果为:11000000,这是用bc将十进制转换成二进制。
|
执行结果为:11000000,这是用bc将十进制转换成二进制。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
abc=11000000
|
abc=11000000
|
||||||
echo "obase=10;ibase=2;$abc" | bc
|
echo "obase=10;ibase=2;$abc" | bc
|
||||||
|
|
@ -70,7 +70,7 @@ echo "obase=10;ibase=2;$abc" | bc
|
||||||
|
|
||||||
计算平方和平方根:
|
计算平方和平方根:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo "10^10" | bc
|
echo "10^10" | bc
|
||||||
echo "sqrt(100)" | bc
|
echo "sqrt(100)" | bc
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bg
|
bg
|
||||||
===
|
===
|
||||||
|
|
||||||
用于将作业放到后台运行
|
用于将作业放到后台运行
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -11,7 +11,7 @@ bg
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bg(参数)
|
bg(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -23,16 +23,16 @@ bg(参数)
|
||||||
|
|
||||||
使用bg命令将任务号为1的任务放到后台继续执行,输入如下命令:
|
使用bg命令将任务号为1的任务放到后台继续执行,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bg 1 #后台执行任务号为1的任务
|
bg 1 # 后台执行任务号为1的任务
|
||||||
```
|
```
|
||||||
|
|
||||||
如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",也可以实现这个功能。
|
如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",也可以实现这个功能。
|
||||||
|
|
||||||
注意:实际上,使用bg命令与在指令后面添加符号"&"的效果是一样的。例如,使用`&`将`find / -name password`放到后台执行,输入如下命令:
|
注意:实际上,使用bg命令与在指令后面添加符号"&"的效果是一样的。例如,使用`&`将`find / -name password`放到后台执行,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
find / -name password & #后台执行任务
|
find / -name password & # 后台执行任务
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bind
|
bind
|
||||||
===
|
===
|
||||||
|
|
||||||
显示或设置键盘按键与其相关的功能
|
显示或设置键盘按键与其相关的功能
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ bind
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bind(选项)
|
bind(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-d:显示按键配置的内容;
|
-d:显示按键配置的内容;
|
||||||
-f<按键配置文件>:载入指定的按键配置文件;
|
-f<按键配置文件>:载入指定的按键配置文件;
|
||||||
-l:列出所有的功能;
|
-l:列出所有的功能;
|
||||||
|
|
@ -26,13 +26,13 @@ bind(选项)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bind -x '"\C-l":ls -l' #直接按 CTRL+L 就列出目录
|
bind -x '"\C-l":ls -l' #直接按 CTRL+L 就列出目录
|
||||||
```
|
```
|
||||||
|
|
||||||
其中keyseq可以使用`showkey -a`命令来获取:
|
其中keyseq可以使用`showkey -a`命令来获取:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# showkey -a
|
[root@localhost ~]# showkey -a
|
||||||
|
|
||||||
Press any keys - Ctrl-D will terminate this program
|
Press any keys - Ctrl-D will terminate this program
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
blkid
|
blkid
|
||||||
===
|
===
|
||||||
|
|
||||||
查看块设备的文件系统类型、LABEL、UUID等信息
|
查看块设备的文件系统类型、LABEL、UUID等信息
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ blkid
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
blkid -L | -U
|
blkid -L | -U
|
||||||
blkid [-c ] [-ghlLv] [-o] [-s ][-t ] -[w ] [ ...]
|
blkid [-c ] [-ghlLv] [-o] [-s ][-t ] -[w ] [ ...]
|
||||||
blkid -p [-s ] [-O ] [-S ][-o] ...
|
blkid -p [-s ] [-O ] [-S ][-o] ...
|
||||||
|
|
@ -18,77 +18,77 @@ blkid -i [-s ] [-o] ...
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c <file> 指定cache文件(default: /etc/blkid.tab, /dev/null = none)
|
-c <file> # 指定cache文件(default: /etc/blkid.tab, /dev/null = none)
|
||||||
-d don't encode non-printing characters
|
-d # don't encode non-printing characters
|
||||||
-h 显示帮助信息
|
-h # 显示帮助信息
|
||||||
-g garbage collect the blkid cache
|
-g # garbage collect the blkid cache
|
||||||
-o <format> 指定输出格式
|
-o <format> # 指定输出格式
|
||||||
-k list all known filesystems/RAIDs and exit
|
-k # list all known filesystems/RAIDs and exit
|
||||||
-s <tag> 显示指定信息,默认显示所有信息
|
-s <tag> # 显示指定信息,默认显示所有信息
|
||||||
-t <token> find device with a specific token (NAME=value pair)
|
-t <token> # find device with a specific token (NAME=value pair)
|
||||||
-l look up only first device with token specified by -t
|
-l # look up only first device with token specified by -t
|
||||||
-L <label> convert LABEL to device name
|
-L <label> # convert LABEL to device name
|
||||||
-U <uuid> convert UUID to device name
|
-U <uuid> # convert UUID to device name
|
||||||
-v 显示版本信息
|
-v # 显示版本信息
|
||||||
-w <file> write cache to different file (/dev/null = no write)
|
-w <file> # write cache to different file (/dev/null = no write)
|
||||||
<dev> specify device(s) to probe (default: all devices)
|
<dev> # specify device(s) to probe (default: all devices)
|
||||||
Low-level probing options:
|
Low-level probing options:
|
||||||
-p low-level superblocks probing (bypass cache)
|
-p # low-level superblocks probing (bypass cache)
|
||||||
-i gather information about I/O limits
|
-i # gather information about I/O limits
|
||||||
-S <size> overwrite device size
|
-S <size> # overwrite device size
|
||||||
-O <offset> probe at the given offset
|
-O <offset> # probe at the given offset
|
||||||
-u <list> filter by "usage" (e.g. -u filesystem,raid)
|
-u <list> # filter by "usage" (e.g. -u filesystem,raid)
|
||||||
-n <list> filter by filesystem type (e.g. -n vfat,ext3)
|
-n <list> # filter by filesystem type (e.g. -n vfat,ext3)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
1、列出当前系统中所有已挂载文件系统的类型:
|
1、列出当前系统中所有已挂载文件系统的类型:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid
|
sudo blkid
|
||||||
```
|
```
|
||||||
|
|
||||||
2、显示指定设备 UUID:
|
2、显示指定设备 UUID:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -s UUID /dev/sda5
|
sudo blkid -s UUID /dev/sda5
|
||||||
```
|
```
|
||||||
|
|
||||||
3、显示所有设备 UUID:
|
3、显示所有设备 UUID:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -s UUID
|
sudo blkid -s UUID
|
||||||
```
|
```
|
||||||
|
|
||||||
4、显示指定设备 LABEL:
|
4、显示指定设备 LABEL:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -s LABEL /dev/sda5
|
sudo blkid -s LABEL /dev/sda5
|
||||||
```
|
```
|
||||||
|
|
||||||
5、显示所有设备 LABEL:
|
5、显示所有设备 LABEL:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -s LABEL
|
sudo blkid -s LABEL
|
||||||
```
|
```
|
||||||
|
|
||||||
6、显示所有设备文件系统:
|
6、显示所有设备文件系统:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -s TYPE
|
sudo blkid -s TYPE
|
||||||
```
|
```
|
||||||
|
|
||||||
7、显示所有设备:
|
7、显示所有设备:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -o device
|
sudo blkid -o device
|
||||||
```
|
```
|
||||||
|
|
||||||
8、以列表方式查看详细信息:
|
8、以列表方式查看详细信息:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
sudo blkid -o list
|
sudo blkid -o list
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
blockdev
|
blockdev
|
||||||
===
|
===
|
||||||
|
|
||||||
从命令行调用区块设备控制程序
|
从命令行调用区块设备控制程序
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ blockdev
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
blockdev(选项)(参数)
|
blockdev(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
选项
|
选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-V:打印版本号并退出;
|
-V:打印版本号并退出;
|
||||||
-q:安静模式;
|
-q:安静模式;
|
||||||
-v:详细信息模式;
|
-v:详细信息模式;
|
||||||
|
|
@ -35,19 +35,19 @@ blockdev(选项)(参数)
|
||||||
|
|
||||||
设置设备为只读:
|
设置设备为只读:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
blockdev --setro /dev/hda4
|
blockdev --setro /dev/hda4
|
||||||
```
|
```
|
||||||
|
|
||||||
读取设备是否为只读:
|
读取设备是否为只读:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
blockdev --getro /dev/hda4
|
blockdev --getro /dev/hda4
|
||||||
```
|
```
|
||||||
|
|
||||||
设置设别为可读写:
|
设置设别为可读写:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
blockdev --setrw /dev/hda4
|
blockdev --setrw /dev/hda4
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bmodinfo
|
bmodinfo
|
||||||
===
|
===
|
||||||
|
|
||||||
显示给定模块的详细信息
|
显示给定模块的详细信息
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ bmodinfo
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bmodinfo(选项)(参数)
|
bmodinfo(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a:显示模块作者;
|
-a:显示模块作者;
|
||||||
-d:显示模块的描述信息;
|
-d:显示模块的描述信息;
|
||||||
-l:显示模块的许可信息;
|
-l:显示模块的许可信息;
|
||||||
|
|
@ -32,7 +32,7 @@ bmodinfo(选项)(参数)
|
||||||
|
|
||||||
显示sg模块的信息:
|
显示sg模块的信息:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# modinfo sg
|
[root@localhost ~]# modinfo sg
|
||||||
filename: /lib/modules/2.6.9-42.ELsmp/kernel/drivers/scsi/sg.ko
|
filename: /lib/modules/2.6.9-42.ELsmp/kernel/drivers/scsi/sg.ko
|
||||||
author: Douglas Gilbert
|
author: Douglas Gilbert
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
builtin
|
builtin
|
||||||
===
|
===
|
||||||
|
|
||||||
执行shell内部命令
|
执行shell内部命令
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ builtin
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
builtin(参数)
|
builtin(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -21,8 +21,8 @@ shell内部命令:指定需要执行的shell内部命令。
|
||||||
|
|
||||||
使用builtin命令执行shell内部命alias显示命令别名,输入如下命令:
|
使用builtin命令执行shell内部命alias显示命令别名,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
builtin alias #执行shell内部指令
|
builtin alias # 执行shell内部指令
|
||||||
alias cp='cp -i'
|
alias cp='cp -i'
|
||||||
alias l.='ls -d .* --color=tty'
|
alias l.='ls -d .* --color=tty'
|
||||||
alias ll='ls -l --color=tty'
|
alias ll='ls -l --color=tty'
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bunzip2
|
bunzip2
|
||||||
===
|
===
|
||||||
|
|
||||||
创一个bz2文件压缩包
|
创一个bz2文件压缩包
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ bunzip2
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bunzip2(选项)(参数)
|
bunzip2(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;
|
-f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;
|
||||||
-k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;
|
-k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;
|
||||||
-s或——small:降低程序执行时,内存的使用量;
|
-s或——small:降低程序执行时,内存的使用量;
|
||||||
|
|
@ -31,7 +31,7 @@ bunzip2(选项)(参数)
|
||||||
|
|
||||||
将`/opt`目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息。
|
将`/opt`目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip
|
bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,12 @@ bye
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bye
|
bye
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bye
|
bye
|
||||||
```
|
```
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzcat
|
bzcat
|
||||||
===
|
===
|
||||||
|
|
||||||
解压缩指定的.bz2文件
|
解压缩指定的.bz2文件
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ bzcat
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzcat(参数)
|
bzcat(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -21,7 +21,7 @@ bzcat(参数)
|
||||||
|
|
||||||
将`/tmp/man.config`以bzip2格式压缩:
|
将`/tmp/man.config`以bzip2格式压缩:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -z man.config
|
bzip2 -z man.config
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -29,7 +29,7 @@ bzip2 -z man.config
|
||||||
|
|
||||||
将上面的压缩文件内容读出来:
|
将上面的压缩文件内容读出来:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzcat man.config.bz2
|
bzcat man.config.bz2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzcmp
|
bzcmp
|
||||||
===
|
===
|
||||||
|
|
||||||
比较两个压缩包中的文件
|
比较两个压缩包中的文件
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,14 +9,14 @@ bzcmp
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzcmp(参数)
|
bzcmp(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* 文件1:指定要比较的第一个.bz2压缩包;
|
* 文件1:指定要比较的第一个.bz2压缩包;
|
||||||
* 文件2:指定要比较的第二个.bz2压缩包。
|
* 文件2:指定要比较的第二个.bz2压缩包。
|
||||||
|
|
||||||
|
|
||||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzdiff
|
bzdiff
|
||||||
===
|
===
|
||||||
|
|
||||||
直接比较两个.bz2压缩包中文件的不同
|
直接比较两个.bz2压缩包中文件的不同
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ bzdiff
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzdiff(参数)
|
bzdiff(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzgrep
|
bzgrep
|
||||||
===
|
===
|
||||||
|
|
||||||
使用正则表达式搜索.bz2压缩包中文件
|
使用正则表达式搜索.bz2压缩包中文件
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ bzgrep
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzgrep(参数)
|
bzgrep(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzip2
|
bzip2
|
||||||
===
|
===
|
||||||
|
|
||||||
将文件压缩成bz2格式
|
将文件压缩成bz2格式
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ bzip2
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2(选项)(参数)
|
bzip2(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c或——stdout:将压缩与解压缩的结果送到标准输出;
|
-c或——stdout:将压缩与解压缩的结果送到标准输出;
|
||||||
-d或——decompress:执行解压缩;
|
-d或——decompress:执行解压缩;
|
||||||
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
|
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
|
||||||
|
|
@ -36,9 +36,9 @@ bzip2(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
**压缩指定文件filename:**
|
**压缩指定文件filename:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 filename
|
bzip2 filename
|
||||||
或
|
或
|
||||||
bzip2 -z filename
|
bzip2 -z filename
|
||||||
|
|
@ -46,9 +46,9 @@ bzip2 -z filename
|
||||||
|
|
||||||
这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如`bzip2 -f filename`;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。
|
这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如`bzip2 -f filename`;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。
|
||||||
|
|
||||||
**解压指定的文件filename.bz2:**
|
**解压指定的文件filename.bz2:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -d filename.bz2
|
bzip2 -d filename.bz2
|
||||||
或
|
或
|
||||||
bunzip2 filename.bz2
|
bunzip2 filename.bz2
|
||||||
|
|
@ -56,59 +56,59 @@ bunzip2 filename.bz2
|
||||||
|
|
||||||
这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定`-f`选项,例如`bzip2 -df filename.bz2`。
|
这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定`-f`选项,例如`bzip2 -df filename.bz2`。
|
||||||
|
|
||||||
**压缩解压的时候将结果也输出:**
|
**压缩解压的时候将结果也输出:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
$bzip2 -v filename
|
$bzip2 -v filename
|
||||||
```
|
```
|
||||||
|
|
||||||
输入之后,输出如下:
|
输入之后,输出如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
|
filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
|
||||||
```
|
```
|
||||||
|
|
||||||
这里,加上`-v`选项就会输出了,只用压缩举例了,解压的时候同理`bzip2 -dv filename.bz2`不再举例了。
|
这里,加上`-v`选项就会输出了,只用压缩举例了,解压的时候同理`bzip2 -dv filename.bz2`不再举例了。
|
||||||
|
|
||||||
**模拟解压实际并不解压:**
|
**模拟解压实际并不解压:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -tv filename.bz2
|
bzip2 -tv filename.bz2
|
||||||
```
|
```
|
||||||
|
|
||||||
输入之后,输出如下:
|
输入之后,输出如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
filename.bz2: ok
|
filename.bz2: ok
|
||||||
```
|
```
|
||||||
|
|
||||||
这里,`-t`指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上`-v`选项了,如果是真的解压`bzip2 -dv filename.bz2`则输出的是把"ok"替换成了"done"。
|
这里,`-t`指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上`-v`选项了,如果是真的解压`bzip2 -dv filename.bz2`则输出的是把"ok"替换成了"done"。
|
||||||
|
|
||||||
**压缩解压的时候,除了生成结果文件,将原来的文件也保存:**
|
**压缩解压的时候,除了生成结果文件,将原来的文件也保存:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -k filename
|
bzip2 -k filename
|
||||||
```
|
```
|
||||||
|
|
||||||
这里,加上`-k`就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理`$bzip2 -dk filename.bz2`不再举例了。
|
这里,加上`-k`就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理`$bzip2 -dk filename.bz2`不再举例了。
|
||||||
|
|
||||||
**解压到标准输出:**
|
**解压到标准输出:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -dc filename.bz2
|
bzip2 -dc filename.bz2
|
||||||
```
|
```
|
||||||
|
|
||||||
输入之后,输出如下:
|
输入之后,输出如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
hahahhaahahha
|
hahahhaahahha
|
||||||
```
|
```
|
||||||
|
|
||||||
这里,使用`-c`指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。
|
这里,使用`-c`指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。
|
||||||
|
|
||||||
**压缩到标准输出:**
|
**压缩到标准输出:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -c filename
|
bzip2 -c filename
|
||||||
bzip2: I won't write compressed data to a terminal.
|
bzip2: I won't write compressed data to a terminal.
|
||||||
bzip2: For help, type: `bzip2 --help'.
|
bzip2: For help, type: `bzip2 --help'.
|
||||||
|
|
@ -116,9 +116,9 @@ bzip2: For help, type: `bzip2 --help'.
|
||||||
|
|
||||||
这里,使用`-c`指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。
|
这里,使用`-c`指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。
|
||||||
|
|
||||||
**使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):**
|
**使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2 -- -myfilename
|
bzip2 -- -myfilename
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzip2recover
|
bzip2recover
|
||||||
===
|
===
|
||||||
|
|
||||||
恢复被破坏的.bz2压缩包中的文件
|
恢复被破坏的.bz2压缩包中的文件
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -11,7 +11,7 @@ bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzip2recover(参数)
|
bzip2recover(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzless
|
bzless
|
||||||
===
|
===
|
||||||
|
|
||||||
增强.bz2压缩包查看器
|
增强.bz2压缩包查看器
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ bzless
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzless(参数)
|
bzless(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
bzmore
|
bzmore
|
||||||
===
|
===
|
||||||
|
|
||||||
查看bzip2压缩过的文本文件的内容
|
查看bzip2压缩过的文本文件的内容
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ bzmore
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bzmore(参数)
|
bzmore(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cal
|
cal
|
||||||
===
|
===
|
||||||
|
|
||||||
显示当前日历或指定日期的日历
|
显示当前日历或指定日期的日历
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cal
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cal(选项)(参数)
|
cal(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-l:显示单月输出;
|
-l:显示单月输出;
|
||||||
-3:显示临近三个月的日历;
|
-3:显示临近三个月的日历;
|
||||||
-s:将星期日作为月的第一天;
|
-s:将星期日作为月的第一天;
|
||||||
|
|
@ -26,7 +26,7 @@ cal(选项)(参数)
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
```
|
```shell
|
||||||
月:指定月份;
|
月:指定月份;
|
||||||
年:指定年份。
|
年:指定年份。
|
||||||
```
|
```
|
||||||
|
|
@ -35,7 +35,7 @@ cal(选项)(参数)
|
||||||
|
|
||||||
单独执行cal命令会打印出日历:
|
单独执行cal命令会打印出日历:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# cal
|
[root@localhost ~]# cal
|
||||||
十二月 2013
|
十二月 2013
|
||||||
日 一 二 三 四 五 六
|
日 一 二 三 四 五 六
|
||||||
|
|
@ -46,7 +46,7 @@ cal(选项)(参数)
|
||||||
29 30 31
|
29 30 31
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# cal -j
|
[root@localhost ~]# cal -j
|
||||||
十二月 2013
|
十二月 2013
|
||||||
日 一 二 三 四 五 六
|
日 一 二 三 四 五 六
|
||||||
|
|
@ -57,7 +57,7 @@ cal(选项)(参数)
|
||||||
363 364 365
|
363 364 365
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# cal -3
|
[root@localhost ~]# cal -3
|
||||||
十一月 2013 十二月 2013 一月 2014
|
十一月 2013 十二月 2013 一月 2014
|
||||||
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
|
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cancel
|
cancel
|
||||||
===
|
===
|
||||||
|
|
||||||
取消已存在的打印任务
|
取消已存在的打印任务
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cancel
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cancel(选项)(参数)
|
cancel(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a:取消所有打印任务;
|
-a:取消所有打印任务;
|
||||||
-E:当连接到服务器时强制使用加密;
|
-E:当连接到服务器时强制使用加密;
|
||||||
-U:指定连接服务器时使用的用户名;
|
-U:指定连接服务器时使用的用户名;
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,13 @@ cat
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat(选项)(参数)
|
cat(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-n或--number:从1开始对所有输出的行数编号;
|
-n或--number:从1开始对所有输出的行数编号;
|
||||||
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
|
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
|
||||||
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
|
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
|
||||||
|
|
@ -34,7 +34,7 @@ cat(选项)(参数)
|
||||||
|
|
||||||
设m1和m2是当前目录下的两个文件
|
设m1和m2是当前目录下的两个文件
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat m1 (在屏幕上显示文件m1的内容)
|
cat m1 (在屏幕上显示文件m1的内容)
|
||||||
cat m1 m2 (同时显示文件m1和m2的内容)
|
cat m1 m2 (同时显示文件m1和m2的内容)
|
||||||
cat m1 m2 > file (将文件m1和m2合并后放入文件file中)
|
cat m1 m2 > file (将文件m1和m2合并后放入文件file中)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cd
|
cd
|
||||||
===
|
===
|
||||||
|
|
||||||
切换用户当前工作目录
|
切换用户当前工作目录
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cd
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cd (选项) (参数)
|
cd (选项) (参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
|
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
|
||||||
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
|
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
|
||||||
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
|
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
|
||||||
|
|
@ -23,13 +23,13 @@ cd (选项) (参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cd 进入用户主目录;
|
cd # 进入用户主目录;
|
||||||
cd ~ 进入用户主目录;
|
cd ~ # 进入用户主目录;
|
||||||
cd - 返回进入此目录之前所在的目录;
|
cd - # 返回进入此目录之前所在的目录;
|
||||||
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
|
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
|
||||||
cd ../.. 返回上两级目录;
|
cd ../.. # 返回上两级目录;
|
||||||
cd !$ 把上个命令的参数作为cd参数使用。
|
cd !$ # 把上个命令的参数作为cd参数使用。
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cdrecord
|
cdrecord
|
||||||
===
|
===
|
||||||
|
|
||||||
Linux系统下光盘刻录功能命令
|
Linux系统下光盘刻录功能命令
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ Linux系统下光盘刻录功能命令
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cdrecord(选项)(参数)
|
cdrecord(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-v:显示刻录光盘的详细过程;
|
-v:显示刻录光盘的详细过程;
|
||||||
-eject:刻录完成后弹出光盘;
|
-eject:刻录完成后弹出光盘;
|
||||||
speed=<刻录倍速>:指定光盘刻录的倍速;
|
speed=<刻录倍速>:指定光盘刻录的倍速;
|
||||||
|
|
@ -31,7 +31,7 @@ ISO文件:指定刻录光盘使用的ISO映像文件。
|
||||||
|
|
||||||
查看系统所有 CD-R(w) 设备:
|
查看系统所有 CD-R(w) 设备:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cdrecord -scanbus
|
cdrecord -scanbus
|
||||||
scsibus0:
|
scsibus0:
|
||||||
0,0,0 0) *
|
0,0,0 0) *
|
||||||
|
|
@ -42,19 +42,19 @@ scsibus0:
|
||||||
|
|
||||||
用iso文件刻录一张光盘:
|
用iso文件刻录一张光盘:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cdrecord -v -eject speed=4 dev=0,3,0 backup.iso
|
cdrecord -v -eject speed=4 dev=0,3,0 backup.iso
|
||||||
```
|
```
|
||||||
|
|
||||||
参数解释
|
参数解释
|
||||||
|
|
||||||
* -v:显示刻录光盘的详细过程
|
* -v:显示刻录光盘的详细过程
|
||||||
* -eject:刻完自动弹出光盘
|
* -eject:刻完自动弹出光盘
|
||||||
* speed=4 dev=0,3,0:四速刻录到HP CD-writer设备上。
|
* speed=4 dev=0,3,0:四速刻录到HP CD-writer设备上。
|
||||||
|
|
||||||
擦写光驱:
|
擦写光驱:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cdrecord --dev=0,3,0 --blank=fast
|
cdrecord --dev=0,3,0 --blank=fast
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chage
|
chage
|
||||||
===
|
===
|
||||||
|
|
||||||
修改帐号和密码的有效期限
|
修改帐号和密码的有效期限
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ chage
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chage [选项] 用户名
|
chage [选项] 用户名
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
|
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
|
||||||
-M:密码保持有效的最大天数。
|
-M:密码保持有效的最大天数。
|
||||||
-w:用户密码到期前,提前收到警告信息的天数。
|
-w:用户密码到期前,提前收到警告信息的天数。
|
||||||
|
|
@ -29,7 +29,7 @@ chage [选项] 用户名
|
||||||
|
|
||||||
可以编辑`/etc/login.defs`来设定几个参数,以后设置口令默认就按照参数设定为准:
|
可以编辑`/etc/login.defs`来设定几个参数,以后设置口令默认就按照参数设定为准:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
PASS_MAX_DAYS 99999
|
PASS_MAX_DAYS 99999
|
||||||
PASS_MIN_DAYS 0
|
PASS_MIN_DAYS 0
|
||||||
PASS_MIN_LEN 5
|
PASS_MIN_LEN 5
|
||||||
|
|
@ -38,7 +38,7 @@ PASS_WARN_AGE 7
|
||||||
|
|
||||||
当然在`/etc/default/useradd`可以找到如下2个参数进行设置:
|
当然在`/etc/default/useradd`可以找到如下2个参数进行设置:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# useradd defaults file
|
# useradd defaults file
|
||||||
GROUP=100
|
GROUP=100
|
||||||
HOME=/home
|
HOME=/home
|
||||||
|
|
@ -53,7 +53,7 @@ CREATE_MAIL_SPOOL=yes
|
||||||
|
|
||||||
我的服务器root帐户密码策略信息如下:
|
我的服务器root帐户密码策略信息如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@linuxde ~]# chage -l root
|
[root@linuxde ~]# chage -l root
|
||||||
最近一次密码修改时间 : 3月 12, 2013
|
最近一次密码修改时间 : 3月 12, 2013
|
||||||
密码过期时间 :从不
|
密码过期时间 :从不
|
||||||
|
|
@ -66,7 +66,7 @@ CREATE_MAIL_SPOOL=yes
|
||||||
|
|
||||||
我可以通过如下命令修改我的密码过期时间:
|
我可以通过如下命令修改我的密码过期时间:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@linuxde ~]# chage -M 60 root
|
[root@linuxde ~]# chage -M 60 root
|
||||||
[root@linuxde ~]# chage -l root
|
[root@linuxde ~]# chage -l root
|
||||||
最近一次密码修改时间 : 3月 12, 2013
|
最近一次密码修改时间 : 3月 12, 2013
|
||||||
|
|
@ -80,7 +80,7 @@ CREATE_MAIL_SPOOL=yes
|
||||||
|
|
||||||
然后通过如下命令设置密码失效时间:
|
然后通过如下命令设置密码失效时间:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@linuxde ~]# chage -I 5 root
|
[root@linuxde ~]# chage -I 5 root
|
||||||
[root@linuxde ~]# chage -l root
|
[root@linuxde ~]# chage -l root
|
||||||
最近一次密码修改时间 : 3月 12, 2013
|
最近一次密码修改时间 : 3月 12, 2013
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,21 @@
|
||||||
chattr
|
chattr
|
||||||
===
|
===
|
||||||
|
|
||||||
用来改变文件属性
|
用来改变文件属性
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
||||||
**chattr命令** 用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
|
**chattr命令** 用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
|
||||||
|
|
||||||
|
### 语法
|
||||||
|
|
||||||
|
```shell
|
||||||
|
chattr(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 选项
|
||||||
|
|
||||||
|
```shell
|
||||||
a:让文件或目录仅供附加用途;
|
a:让文件或目录仅供附加用途;
|
||||||
b:不更新文件或目录的最后存取时间;
|
b:不更新文件或目录的最后存取时间;
|
||||||
c:将文件或目录压缩后存放;
|
c:将文件或目录压缩后存放;
|
||||||
|
|
@ -18,15 +26,7 @@ S:即时更新文件或目录;
|
||||||
u:预防意外删除。
|
u:预防意外删除。
|
||||||
```
|
```
|
||||||
|
|
||||||
### 语法
|
```shell
|
||||||
|
|
||||||
```
|
|
||||||
chattr(选项)
|
|
||||||
```
|
|
||||||
|
|
||||||
### 选项
|
|
||||||
|
|
||||||
```
|
|
||||||
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
|
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
|
||||||
-v<版本编号>:设置文件或目录版本;
|
-v<版本编号>:设置文件或目录版本;
|
||||||
-V:显示指令执行过程;
|
-V:显示指令执行过程;
|
||||||
|
|
@ -39,7 +39,7 @@ chattr(选项)
|
||||||
|
|
||||||
用chattr命令防止系统中某个关键文件被修改:
|
用chattr命令防止系统中某个关键文件被修改:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chattr +i /etc/fstab
|
chattr +i /etc/fstab
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ chattr +i /etc/fstab
|
||||||
|
|
||||||
让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:
|
让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chattr +a /data1/user_act.log
|
chattr +a /data1/user_act.log
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chcon
|
chcon
|
||||||
===
|
===
|
||||||
|
|
||||||
修改对象(文件)的安全上下文
|
修改对象(文件)的安全上下文
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ chcon
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chcon [选项]... 环境 文件...
|
chcon [选项]... 环境 文件...
|
||||||
chcon [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件...
|
chcon [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件...
|
||||||
chcon [选项]... --reference=参考文件 文件...
|
chcon [选项]... --reference=参考文件 文件...
|
||||||
|
|
@ -17,7 +17,7 @@ chcon [选项]... --reference=参考文件 文件...
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-h, --no-dereference:影响符号连接而非引用的文件。
|
-h, --no-dereference:影响符号连接而非引用的文件。
|
||||||
--reference=参考文件:使用指定参考文件的安全环境,而非指定值。
|
--reference=参考文件:使用指定参考文件的安全环境,而非指定值。
|
||||||
-R, --recursive:递归处理所有的文件及子目录。
|
-R, --recursive:递归处理所有的文件及子目录。
|
||||||
|
|
@ -30,7 +30,7 @@ chcon [选项]... --reference=参考文件 文件...
|
||||||
|
|
||||||
以下选项是在指定了`-R`选项时被用于设置如何穿越目录结构体系。如果您指定了多于一个选项,那么只有最后一个会生效。
|
以下选项是在指定了`-R`选项时被用于设置如何穿越目录结构体系。如果您指定了多于一个选项,那么只有最后一个会生效。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接。
|
-H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接。
|
||||||
-L:遍历每一个遇到的通到目录的符号链接。
|
-L:遍历每一个遇到的通到目录的符号链接。
|
||||||
-P:不遍历任何符号链接(默认)。
|
-P:不遍历任何符号链接(默认)。
|
||||||
|
|
@ -42,32 +42,32 @@ chcon [选项]... --reference=参考文件 文件...
|
||||||
|
|
||||||
如果你想把这个ftp共享给匿名用户的话,需要开启以下:
|
如果你想把这个ftp共享给匿名用户的话,需要开启以下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chcon -R -t public_content_t /var/ftp
|
chcon -R -t public_content_t /var/ftp
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你想让你设置的FTP目录可以上传文件的话,SELINUX需要设置:
|
如果你想让你设置的FTP目录可以上传文件的话,SELINUX需要设置:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chcon -t public_content_rw_t /var/ftp/incoming
|
chcon -t public_content_rw_t /var/ftp/incoming
|
||||||
```
|
```
|
||||||
|
|
||||||
允许用户HHTP访问其家目录,该设定限仅于用户的家目录主页:
|
允许用户HHTP访问其家目录,该设定限仅于用户的家目录主页:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
setsebool -P httpd_enable_homedirs 1
|
setsebool -P httpd_enable_homedirs 1
|
||||||
chcon -R -t httpd_sys_content_t ~user/public_html
|
chcon -R -t httpd_sys_content_t ~user/public_html
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你希望将samba目录共享给其他用户,你需要设置:
|
如果你希望将samba目录共享给其他用户,你需要设置:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chcon -t samba_share_t /directory
|
chcon -t samba_share_t /directory
|
||||||
```
|
```
|
||||||
|
|
||||||
共享rsync目录时:
|
共享rsync目录时:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chcon -t public_content_t /directories
|
chcon -t public_content_t /directories
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chfn
|
chfn
|
||||||
===
|
===
|
||||||
|
|
||||||
用来改变finger命令显示的信息
|
用来改变finger命令显示的信息
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ chfn
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chfn(选项)(参数)
|
chfn(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-f<真实姓名>或--full-name<真实姓名>:设置真实姓名;
|
-f<真实姓名>或--full-name<真实姓名>:设置真实姓名;
|
||||||
-h<家中电话>或--home-phone<家中电话>:设置家中的电话号码;
|
-h<家中电话>或--home-phone<家中电话>:设置家中的电话号码;
|
||||||
-o<办公地址>或--office<办公地址>:设置办公室的地址;
|
-o<办公地址>或--office<办公地址>:设置办公室的地址;
|
||||||
|
|
@ -32,7 +32,7 @@ chfn(选项)(参数)
|
||||||
|
|
||||||
范例1,改变finger信息:
|
范例1,改变finger信息:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost Desktop]# chfn
|
[root@localhost Desktop]# chfn
|
||||||
Changing finger information for root.
|
Changing finger information for root.
|
||||||
Name [root]: jack
|
Name [root]: jack
|
||||||
|
|
@ -45,7 +45,7 @@ Finger information changed.
|
||||||
|
|
||||||
范例2,改变账号真实姓名:
|
范例2,改变账号真实姓名:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost Desktop]# chfn -f jack
|
[root@localhost Desktop]# chfn -f jack
|
||||||
Changing finger information for root.
|
Changing finger information for root.
|
||||||
Finger information changed.
|
Finger information changed.
|
||||||
|
|
@ -53,7 +53,7 @@ Finger information changed.
|
||||||
|
|
||||||
范例3:
|
范例3:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
shell>> chfn
|
shell>> chfn
|
||||||
Changing finger information for user
|
Changing finger information for user
|
||||||
Password: [del]
|
Password: [del]
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,13 @@ chgrp
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chgrp [选项][组群][文件|目录]
|
chgrp [选项][组群][文件|目录]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组
|
-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组
|
||||||
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
|
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
|
||||||
-f或--quiet或——silent:不显示错误信息;
|
-f或--quiet或——silent:不显示错误信息;
|
||||||
|
|
@ -39,12 +39,13 @@ chgrp [选项][组群][文件|目录]
|
||||||
|
|
||||||
将`/usr/meng`及其子目录下的所有文件的用户组改为mengxin
|
将`/usr/meng`及其子目录下的所有文件的用户组改为mengxin
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chgrp -R mengxin /usr/meng
|
chgrp -R mengxin /usr/meng
|
||||||
```
|
```
|
||||||
|
|
||||||
更改文件ah的组群所有者为newuser
|
更改文件ah的组群所有者为 `newuser`
|
||||||
```
|
|
||||||
|
```shell
|
||||||
[root@rhel ~]# chgrp newuser ah
|
[root@rhel ~]# chgrp newuser ah
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ chkconfig
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
chkconfig(选项)
|
chkconfig(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
|
--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
|
||||||
--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
|
--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
|
||||||
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。
|
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。
|
||||||
|
|
@ -48,7 +48,7 @@ chkconfig(选项)
|
||||||
|
|
||||||
例如random.init包含三行:
|
例如random.init包含三行:
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
# chkconfig: 2345 20 80
|
# chkconfig: 2345 20 80
|
||||||
# description: Saves and restores system entropy pool for \
|
# description: Saves and restores system entropy pool for \
|
||||||
# higher quality random number generation.
|
# higher quality random number generation.
|
||||||
|
|
@ -56,7 +56,7 @@ chkconfig(选项)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
chkconfig --list #列出所有的系统服务。
|
chkconfig --list #列出所有的系统服务。
|
||||||
chkconfig --add httpd #增加httpd服务。
|
chkconfig --add httpd #增加httpd服务。
|
||||||
chkconfig --del httpd #删除httpd服务。
|
chkconfig --del httpd #删除httpd服务。
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ chmod(选项)(参数)
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
u # 操作对象简称,用户user,文件或目录的所有者。
|
u # 操作对象简称,用户user,文件或目录的所有者。
|
||||||
g # 操作对象简称,同组用户group,文件或目录所属群组
|
g # 操作对象简称,同组用户group,文件或目录所属群组
|
||||||
o # 操作对象简称,其它用户others
|
o # 操作对象简称,其它用户others
|
||||||
|
|
@ -65,7 +65,7 @@ Linux用 户分为:拥有者、组群(Group)、其他(other),Linux系统
|
||||||
|
|
||||||
linux文件的用户权限的分析图
|
linux文件的用户权限的分析图
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
-rw-r--r-- 1 user staff 651 Oct 12 12:53 .gitmodules
|
-rw-r--r-- 1 user staff 651 Oct 12 12:53 .gitmodules
|
||||||
# ↑╰┬╯╰┬╯╰┬╯
|
# ↑╰┬╯╰┬╯╰┬╯
|
||||||
# ┆ ┆ ┆ ╰┈ 0 其他人
|
# ┆ ┆ ┆ ╰┈ 0 其他人
|
||||||
|
|
@ -80,7 +80,7 @@ r=读取属性 //值=4
|
||||||
w=写入属性 //值=2
|
w=写入属性 //值=2
|
||||||
x=执行属性 //值=1
|
x=执行属性 //值=1
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
chmod u+x,g+w f01 # 为文件f01设置自己可以执行,组员可以写入的权限
|
chmod u+x,g+w f01 # 为文件f01设置自己可以执行,组员可以写入的权限
|
||||||
chmod u=rwx,g=rw,o=r f01
|
chmod u=rwx,g=rw,o=r f01
|
||||||
chmod 764 f01
|
chmod 764 f01
|
||||||
|
|
@ -89,7 +89,7 @@ chmod a+x f01 # 对文件f01的u,g,o都设置可执行属性
|
||||||
|
|
||||||
文件的属主和属组属性设置
|
文件的属主和属组属性设置
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
chown user:market f01 # 把文件f01给uesr,添加到market组
|
chown user:market f01 # 把文件f01给uesr,添加到market组
|
||||||
ll -d f1 查看目录f1的属性
|
ll -d f1 查看目录f1的属性
|
||||||
```
|
```
|
||||||
|
|
@ -99,14 +99,14 @@ ll -d f1 查看目录f1的属性
|
||||||
|
|
||||||
(1)直接指定路径修改
|
(1)直接指定路径修改
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
chmod -R 755 /home/wwwroot/*
|
chmod -R 755 /home/wwwroot/*
|
||||||
```
|
```
|
||||||
|
|
||||||
(2)手动进入该目录修改权限(并显示详细过程)
|
(2)手动进入该目录修改权限(并显示详细过程)
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
cd /home/wwwroot
|
cd /home/wwwroot
|
||||||
chmod -Rv 755 * #注意:“*”表示通配符,指的是所有文件和文件
|
chmod -Rv 755 * #注意:“*”表示通配符,指的是所有文件和文件
|
||||||
sudo chmod o+rw /shared #设置文件夹权限以保证其余用户可以访问它。
|
sudo chmod o+rw /shared #设置文件夹权限以保证其余用户可以访问它。
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chown
|
chown
|
||||||
===
|
===
|
||||||
|
|
||||||
用来变更文件或目录的拥有者或所属群组
|
用来变更文件或目录的拥有者或所属群组
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -11,13 +11,13 @@ chown
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chown(选项)(参数)
|
chown(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
|
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
|
||||||
-f或--quite或——silent:不显示错误信息;
|
-f或--quite或——silent:不显示错误信息;
|
||||||
-h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
|
-h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
|
||||||
|
|
@ -38,7 +38,7 @@ chown(选项)(参数)
|
||||||
|
|
||||||
将目录`/usr/meng`及其下面的所有文件、子目录的文件主改成 liu:
|
将目录`/usr/meng`及其下面的所有文件、子目录的文件主改成 liu:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chown -R liu /usr/meng
|
chown -R liu /usr/meng
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chpasswd
|
chpasswd
|
||||||
===
|
===
|
||||||
|
|
||||||
批量更新用户口令的工具
|
批量更新用户口令的工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ chpasswd
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chpasswd(选项)
|
chpasswd(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-e:输入的密码是加密后的密文;
|
-e:输入的密码是加密后的密文;
|
||||||
-h:显示帮助信息并退出;
|
-h:显示帮助信息并退出;
|
||||||
-m:当被支持的密码未被加密时,使用MD5加密代替DES加密。
|
-m:当被支持的密码未被加密时,使用MD5加密代替DES加密。
|
||||||
|
|
@ -25,7 +25,7 @@ chpasswd(选项)
|
||||||
|
|
||||||
先创建用户密码对应文件,格式为`username:password`,如`abc:abc123`,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令:
|
先创建用户密码对应文件,格式为`username:password`,如`abc:abc123`,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chpasswd < user.txt
|
chpasswd < user.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chroot
|
chroot
|
||||||
===
|
===
|
||||||
|
|
||||||
把根目录换成指定的目的目录
|
把根目录换成指定的目的目录
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,27 +9,27 @@ chroot
|
||||||
|
|
||||||
在经过 chroot 命令之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,因此它带来的好处大致有以下3个:
|
在经过 chroot 命令之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,因此它带来的好处大致有以下3个:
|
||||||
|
|
||||||
**增加了系统的安全性,限制了用户的权力:**
|
**增加了系统的安全性,限制了用户的权力:**
|
||||||
|
|
||||||
在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。这个一般是在登录 (login) 前使用 chroot,以此达到用户不能访问一些特定的文件。
|
在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。这个一般是在登录 (login) 前使用 chroot,以此达到用户不能访问一些特定的文件。
|
||||||
|
|
||||||
**建立一个与原系统隔离的系统目录结构,方便用户的开发:**
|
**建立一个与原系统隔离的系统目录结构,方便用户的开发:**
|
||||||
|
|
||||||
使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译以及一些与系统不相关的独立开发。
|
使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译以及一些与系统不相关的独立开发。
|
||||||
|
|
||||||
**切换系统的根目录位置,引导 Linux 系统启动以及急救系统等:**
|
**切换系统的根目录位置,引导 Linux 系统启动以及急救系统等:**
|
||||||
|
|
||||||
chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根位置并执行真正的 init。另外,当系统出现一些问题时,我们也可以使用 chroot 来切换到一个临时的系统。
|
chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根位置并执行真正的 init。另外,当系统出现一些问题时,我们也可以使用 chroot 来切换到一个临时的系统。
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chroot(选项)(参数)
|
chroot(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--help:在线帮助;
|
--help:在线帮助;
|
||||||
--version:显示版本信息。
|
--version:显示版本信息。
|
||||||
```
|
```
|
||||||
|
|
@ -41,9 +41,9 @@ chroot(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
**将target作为根目录(运行其中的`/bin/sh`):**
|
**将target作为根目录(运行其中的`/bin/sh`):**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chroot target /bin/sh
|
chroot target /bin/sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -56,7 +56,7 @@ chroot target /bin/sh
|
||||||
|
|
||||||
将target作为根目录(运行其中的`/bin/ls`):
|
将target作为根目录(运行其中的`/bin/ls`):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chroot target /bin/ls
|
chroot target /bin/ls
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -68,13 +68,13 @@ chroot target /bin/ls
|
||||||
|
|
||||||
准备chroot的根目录:
|
准备chroot的根目录:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
mkdir newRoot
|
mkdir newRoot
|
||||||
```
|
```
|
||||||
|
|
||||||
编译自己的程序:
|
编译自己的程序:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
gcc main.c
|
gcc main.c
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -82,13 +82,13 @@ gcc main.c
|
||||||
|
|
||||||
查看程序需要的库:
|
查看程序需要的库:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
ldd a.out
|
ldd a.out
|
||||||
```
|
```
|
||||||
|
|
||||||
输入之后,输出如下:
|
输入之后,输出如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
linux-gate.so.1 = > (0xb8034000)
|
linux-gate.so.1 = > (0xb8034000)
|
||||||
libc.so.6 = > /lib/tls/i686/cmov/libc.so.6 (0xb7eab000)
|
libc.so.6 = > /lib/tls/i686/cmov/libc.so.6 (0xb7eab000)
|
||||||
/lib/ld-linux.so.2 (0xb801a000)
|
/lib/ld-linux.so.2 (0xb801a000)
|
||||||
|
|
@ -96,7 +96,7 @@ libc.so.6 = > /lib/tls/i686/cmov/libc.so.6 (0xb7eab000)
|
||||||
|
|
||||||
将程序需要的库和程序拷贝到新根目录下:
|
将程序需要的库和程序拷贝到新根目录下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp a.out newRoot
|
cp a.out newRoot
|
||||||
mkdir newRoot/lib
|
mkdir newRoot/lib
|
||||||
cp /lib/tls/i686/cmov/libc.so.6 newRoot/lib
|
cp /lib/tls/i686/cmov/libc.so.6 newRoot/lib
|
||||||
|
|
@ -105,13 +105,13 @@ cp /lib/ld-linux.so.2 newRoot/lib
|
||||||
|
|
||||||
这里newRoot内容将如下:
|
这里newRoot内容将如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
a.out lib/
|
a.out lib/
|
||||||
```
|
```
|
||||||
|
|
||||||
使用chroot运行自己的程序:
|
使用chroot运行自己的程序:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
su
|
su
|
||||||
chroot newRoot /a.out
|
chroot newRoot /a.out
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
chsh
|
chsh
|
||||||
===
|
===
|
||||||
|
|
||||||
用来更换登录系统时使用的shell
|
用来更换登录系统时使用的shell
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ chsh
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chsh(选项)(参数)
|
chsh(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-s<shell 名称>或--shell<shell 名称>:更改系统预设的shell环境。;
|
-s<shell 名称>或--shell<shell 名称>:更改系统预设的shell环境。;
|
||||||
-l或--list-shells:列出目前系统可用的shell清单;
|
-l或--list-shells:列出目前系统可用的shell清单;
|
||||||
-u或--help:在线帮助;
|
-u或--help:在线帮助;
|
||||||
|
|
@ -32,7 +32,7 @@ chsh(选项)(参数)
|
||||||
|
|
||||||
第一种:
|
第一种:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[rocrocket@localhost ~]$ chsh -l
|
[rocrocket@localhost ~]$ chsh -l
|
||||||
/bin/sh
|
/bin/sh
|
||||||
/bin/bash
|
/bin/bash
|
||||||
|
|
@ -42,7 +42,7 @@ chsh(选项)(参数)
|
||||||
|
|
||||||
第二种:
|
第二种:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[rocrocket@localhost ~]$ cat /etc/shells
|
[rocrocket@localhost ~]$ cat /etc/shells
|
||||||
/bin/sh
|
/bin/sh
|
||||||
/bin/bash
|
/bin/bash
|
||||||
|
|
@ -54,7 +54,7 @@ chsh(选项)(参数)
|
||||||
|
|
||||||
**查看当前正在使用的shell:**
|
**查看当前正在使用的shell:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[rocrocket@localhost ~]$ echo $SHELL
|
[rocrocket@localhost ~]$ echo $SHELL
|
||||||
/bin/bash
|
/bin/bash
|
||||||
```
|
```
|
||||||
|
|
@ -63,7 +63,7 @@ chsh(选项)(参数)
|
||||||
|
|
||||||
**把我的shell改成zsh:**
|
**把我的shell改成zsh:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[rocrocket@localhost ~]$ chsh -s /bin/zsh
|
[rocrocket@localhost ~]$ chsh -s /bin/zsh
|
||||||
Changing shell for rocrocket.
|
Changing shell for rocrocket.
|
||||||
Password:
|
Password:
|
||||||
|
|
@ -73,7 +73,7 @@ Shell changed.
|
||||||
|
|
||||||
使用chsh加选项`-s`就可以修改登录的shell了!你会发现你现在执行`echo $SHELL`后仍然输出为`/bin/bash`,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。`chsh -s`其实修改的就是`/etc/passwd`文件里和你的用户名相对应的那一行。现在来查看下:
|
使用chsh加选项`-s`就可以修改登录的shell了!你会发现你现在执行`echo $SHELL`后仍然输出为`/bin/bash`,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。`chsh -s`其实修改的就是`/etc/passwd`文件里和你的用户名相对应的那一行。现在来查看下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[rocrocket@localhost ~]$ cat /etc/passwd|grep ^rocrocket
|
[rocrocket@localhost ~]$ cat /etc/passwd|grep ^rocrocket
|
||||||
rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
|
rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
|
||||||
```
|
```
|
||||||
|
|
@ -82,7 +82,7 @@ rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
|
||||||
|
|
||||||
**把shell修改回/bin/bash:**
|
**把shell修改回/bin/bash:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[rocrocket@localhost ~]$ chsh -s /bin/bash
|
[rocrocket@localhost ~]$ chsh -s /bin/bash
|
||||||
Changing shell for rocrocket.
|
Changing shell for rocrocket.
|
||||||
Password:
|
Password:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cksum
|
cksum
|
||||||
===
|
===
|
||||||
|
|
||||||
检查文件的CRC是否正确
|
检查文件的CRC是否正确
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -13,13 +13,13 @@ cksum
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cksum(选项)(参数)
|
cksum(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--help:在线帮助;
|
--help:在线帮助;
|
||||||
--version:显示版本信息。
|
--version:显示版本信息。
|
||||||
```
|
```
|
||||||
|
|
@ -32,13 +32,13 @@ cksum(选项)(参数)
|
||||||
|
|
||||||
使用cksum命令计算文件"testfile1"的完整性,输入如下命令:
|
使用cksum命令计算文件"testfile1"的完整性,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cksum testfile1 #对指定文件进行CRC校验
|
cksum testfile1 #对指定文件进行CRC校验
|
||||||
```
|
```
|
||||||
|
|
||||||
以上命令执行后,将输出校验码等相关的信息,具体输出信息如下所示:
|
以上命令执行后,将输出校验码等相关的信息,具体输出信息如下所示:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
1263453430 78 testfile1 #输出信息
|
1263453430 78 testfile1 #输出信息
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
clear
|
clear
|
||||||
===
|
===
|
||||||
|
|
||||||
清除当前屏幕终端上的任何信息
|
清除当前屏幕终端上的任何信息
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ clear
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
clear
|
clear
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,14 @@ clock
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
clock [--adjust][--debug][--directisa][--getepoch][--hctosys][--set --date="<日期时间>"]
|
clock [--adjust][--debug][--directisa][--getepoch][--hctosys][--set --date="<日期时间>"]
|
||||||
[--setepoch --epoch=< >][--show][--systohc][--test][--utc][--version]
|
[--setepoch --epoch=< >][--show][--systohc][--test][--utc][--version]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--adjust 第一次使用"--set"或"--systohc"参数设置硬件时钟,会在/etc目录下产生一个名称为adjtime的文件。当再次使用这两个参数调整硬件时钟,此文件便会记录两次调整间之差异,日后执行clock指令加上"--adjust"参数时,程序会自动根 据记录文件的数值差异,计算出平均值,自动调整硬件时钟的时间。
|
--adjust 第一次使用"--set"或"--systohc"参数设置硬件时钟,会在/etc目录下产生一个名称为adjtime的文件。当再次使用这两个参数调整硬件时钟,此文件便会记录两次调整间之差异,日后执行clock指令加上"--adjust"参数时,程序会自动根 据记录文件的数值差异,计算出平均值,自动调整硬件时钟的时间。
|
||||||
--debug 详细显示指令执行过程,便于排错或了解程序执行的情形。
|
--debug 详细显示指令执行过程,便于排错或了解程序执行的情形。
|
||||||
--directisa 告诉clock指令不要通过/dev/rtc设备文件,直接对硬件时钟进行存取。这个参数适用于仅有ISA总线结构的老式电脑。
|
--directisa 告诉clock指令不要通过/dev/rtc设备文件,直接对硬件时钟进行存取。这个参数适用于仅有ISA总线结构的老式电脑。
|
||||||
|
|
@ -35,13 +35,13 @@ clock [--adjust][--debug][--directisa][--getepoch][--hctosys][--set --date="<日
|
||||||
|
|
||||||
获取当前的时间
|
获取当前的时间
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
clock # 获取当前的时间
|
clock # 获取当前的时间
|
||||||
```
|
```
|
||||||
|
|
||||||
显示UTC时间
|
显示UTC时间
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
clock -utc #显示UTC时间
|
clock -utc #显示UTC时间
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
clockdiff
|
clockdiff
|
||||||
===
|
===
|
||||||
|
|
||||||
检测两台linux主机的时间差
|
检测两台linux主机的时间差
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,14 +9,14 @@ clockdiff
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-o:使用IP时间戳选项来测量系统时间差。时间戳只用3个。
|
-o:使用IP时间戳选项来测量系统时间差。时间戳只用3个。
|
||||||
-o1:使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置,那么就是用ICMP时间戳来测试系统时间差。
|
-o1:使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置,那么就是用ICMP时间戳来测试系统时间差。
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
lixi@lixi-desktop:~$ ping -T tsandaddr www.ustc.edu.cn -c 1
|
lixi@lixi-desktop:~$ ping -T tsandaddr www.ustc.edu.cn -c 1
|
||||||
PING www.ustc.edu.cn (202.38.64.9) 56(124) bytes of data.
|
PING www.ustc.edu.cn (202.38.64.9) 56(124) bytes of data.
|
||||||
64 bytes from 202.38.64.9: icmp_seq=1 ttl=62 time=0.823 ms
|
64 bytes from 202.38.64.9: icmp_seq=1 ttl=62 time=0.823 ms
|
||||||
|
|
@ -33,13 +33,13 @@ rtt min/avg/max/mdev = 0.823/0.823/0.823/0.000 ms
|
||||||
|
|
||||||
首先由上面的得出在RRT不大的时候,几个ICMP时间戳的关系。本地主机和202.38.64.9之间的时间差约为:-857514+248-251=-857517。分别用-o(IP选项中时间戳)和不带选项(ICMP路由时间戳)上述路由的系统时间进行测试。得到的结果:
|
首先由上面的得出在RRT不大的时候,几个ICMP时间戳的关系。本地主机和202.38.64.9之间的时间差约为:-857514+248-251=-857517。分别用-o(IP选项中时间戳)和不带选项(ICMP路由时间戳)上述路由的系统时间进行测试。得到的结果:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
lixi@lixi-desktop:~# ./clockdiff -o 202.38.64.9
|
lixi@lixi-desktop:~# ./clockdiff -o 202.38.64.9
|
||||||
..................................................
|
..................................................
|
||||||
host=202.38.64.9 rtt=1(0)ms/1ms delta=-857517ms/-857517ms Wed Dec 17 11:28:30 2008
|
host=202.38.64.9 rtt=1(0)ms/1ms delta=-857517ms/-857517ms Wed Dec 17 11:28:30 2008
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
lixi@lixi-desktop:~# ./clockdiff 202.38.64.9
|
lixi@lixi-desktop:~# ./clockdiff 202.38.64.9
|
||||||
.
|
.
|
||||||
host=202.38.64.9 rtt=750(187)ms/0ms delta=-857517ms/-857517ms Wed Dec 17 11:28:35 2008
|
host=202.38.64.9 rtt=750(187)ms/0ms delta=-857517ms/-857517ms Wed Dec 17 11:28:35 2008
|
||||||
|
|
@ -47,7 +47,7 @@ host=202.38.64.9 rtt=750(187)ms/0ms delta=-857517ms/-857517ms Wed Dec 17 11:28:3
|
||||||
|
|
||||||
两种方法测试的都比较准确。
|
两种方法测试的都比较准确。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
lixi@lixi-desktop:~#./clockdiff gigagate1.Princeton.EDU
|
lixi@lixi-desktop:~#./clockdiff gigagate1.Princeton.EDU
|
||||||
..................................................
|
..................................................
|
||||||
host=gigagate1.Princeton.EDU rtt=307(21)ms/271ms delta=-5ms/-5ms Wed Dec 17 11:50:16 2008
|
host=gigagate1.Princeton.EDU rtt=307(21)ms/271ms delta=-5ms/-5ms Wed Dec 17 11:50:16 2008
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cmp
|
cmp
|
||||||
===
|
===
|
||||||
|
|
||||||
比较两个文件是否有差异
|
比较两个文件是否有差异
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cmp
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cmp(选项)(参数)
|
cmp(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c或--print-chars:除了标明差异处的十进制字码之外,一并显示该字符所对应字符;
|
-c或--print-chars:除了标明差异处的十进制字码之外,一并显示该字符所对应字符;
|
||||||
-i<字符数目>或--ignore-initial=<字符数目>:指定一个数目;
|
-i<字符数目>或--ignore-initial=<字符数目>:指定一个数目;
|
||||||
-l或——verbose:标示出所有不一样的地方;
|
-l或——verbose:标示出所有不一样的地方;
|
||||||
|
|
@ -32,13 +32,13 @@ cmp(选项)(参数)
|
||||||
|
|
||||||
使用cmp命令比较文件"testfile"和文件"testfile1"两个文件,则输入下面的命令:
|
使用cmp命令比较文件"testfile"和文件"testfile1"两个文件,则输入下面的命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cmp testfile testfile1 #比较两个指定的文件
|
cmp testfile testfile1 #比较两个指定的文件
|
||||||
```
|
```
|
||||||
|
|
||||||
在上述指令执行之前,使用cat命令查看两个指定的文件内容,如下所示:
|
在上述指令执行之前,使用cat命令查看两个指定的文件内容,如下所示:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat testfile #查看文件内容
|
cat testfile #查看文件内容
|
||||||
Absncn 50 #显示文件“testfile”
|
Absncn 50 #显示文件“testfile”
|
||||||
Asldssja 60
|
Asldssja 60
|
||||||
|
|
@ -52,7 +52,7 @@ Jslkadjls 85
|
||||||
|
|
||||||
然后,再执行cmp命令,并返回比较结果,具体如下所示:
|
然后,再执行cmp命令,并返回比较结果,具体如下所示:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cmp testfile testfile1 #比较两个文件
|
cmp testfile testfile1 #比较两个文件
|
||||||
testfile testfile1 #有差异:第8字节,第2行
|
testfile testfile1 #有差异:第8字节,第2行
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
col
|
col
|
||||||
===
|
===
|
||||||
|
|
||||||
过滤控制字符
|
过滤控制字符
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ col
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
col(选项)
|
col(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-b:过滤掉所有的控制字符,包括RLF和HRLF;
|
-b:过滤掉所有的控制字符,包括RLF和HRLF;
|
||||||
-f:滤掉RLF字符,但允许将HRLF字符呈现出来;
|
-f:滤掉RLF字符,但允许将HRLF字符呈现出来;
|
||||||
-x:以多个空格字符来表示跳格字符;
|
-x:以多个空格字符来表示跳格字符;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
colrm
|
colrm
|
||||||
===
|
===
|
||||||
|
|
||||||
删除文件中的指定列
|
删除文件中的指定列
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ colrm
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
colrm(参数)
|
colrm(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,13 @@ comm
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
comm [选项]... 文件1 文件2
|
comm [选项]... 文件1 文件2
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
如果不附带选项,程序会生成三列输出。
|
如果不附带选项,程序会生成三列输出。
|
||||||
第一列包含文件1 特有的行,
|
第一列包含文件1 特有的行,
|
||||||
第二列包含文件2 特有的行,
|
第二列包含文件2 特有的行,
|
||||||
|
|
@ -43,7 +43,7 @@ comm [选项]... 文件1 文件2
|
||||||
|
|
||||||
文本 `aaa.txt` 内容
|
文本 `aaa.txt` 内容
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cat aaa.txt
|
[root@localhost text]# cat aaa.txt
|
||||||
aaa
|
aaa
|
||||||
bbb
|
bbb
|
||||||
|
|
@ -56,7 +56,7 @@ eee
|
||||||
|
|
||||||
文本 `bbb.txt` 内容
|
文本 `bbb.txt` 内容
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cat bbb.txt
|
[root@localhost text]# cat bbb.txt
|
||||||
bbb
|
bbb
|
||||||
ccc
|
ccc
|
||||||
|
|
@ -68,14 +68,14 @@ jjj
|
||||||
|
|
||||||
两个文件之间的比较,如果没有排序需要带上`--nocheck-order`参数, 没有带上参数将会收到提示,此命令重要之功能在于比较。
|
两个文件之间的比较,如果没有排序需要带上`--nocheck-order`参数, 没有带上参数将会收到提示,此命令重要之功能在于比较。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
comm: 文件2 没有被正确排序
|
comm: 文件2 没有被正确排序
|
||||||
comm: 文件1 没有被正确排序
|
comm: 文件1 没有被正确排序
|
||||||
```
|
```
|
||||||
|
|
||||||
比较结果
|
比较结果
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# comm --nocheck-order aaa.txt bbb.txt
|
[root@localhost text]# comm --nocheck-order aaa.txt bbb.txt
|
||||||
aaa
|
aaa
|
||||||
bbb
|
bbb
|
||||||
|
|
@ -97,14 +97,14 @@ eee
|
||||||
|
|
||||||
有序比较,先通过 sort 将文件内容排序
|
有序比较,先通过 sort 将文件内容排序
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# sort aaa.txt > aaa1.txt
|
[root@localhost ~]# sort aaa.txt > aaa1.txt
|
||||||
[root@localhost ~]# sort bbb.txt > bbb1.txt
|
[root@localhost ~]# sort bbb.txt > bbb1.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
有序比较结果:
|
有序比较结果:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# comm aaa1.txt bbb1.txt
|
[root@localhost ~]# comm aaa1.txt bbb1.txt
|
||||||
111
|
111
|
||||||
222
|
222
|
||||||
|
|
@ -122,7 +122,7 @@ eee
|
||||||
|
|
||||||
打印两个文件的交集,需要删除第一列和第二列:
|
打印两个文件的交集,需要删除第一列和第二列:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# comm aaa.txt bbb.txt -1 -2
|
[root@localhost text]# comm aaa.txt bbb.txt -1 -2
|
||||||
bbb
|
bbb
|
||||||
ccc
|
ccc
|
||||||
|
|
@ -132,7 +132,7 @@ ccc
|
||||||
|
|
||||||
打印出两个文件中不相同的行,需要删除第三列:
|
打印出两个文件中不相同的行,需要删除第三列:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# comm aaa.txt bbb.txt -3 | sed 's/^\t//'
|
[root@localhost text]# comm aaa.txt bbb.txt -3 | sed 's/^\t//'
|
||||||
aaa
|
aaa
|
||||||
aaa
|
aaa
|
||||||
|
|
@ -153,7 +153,7 @@ jjj
|
||||||
|
|
||||||
aaa.txt的差集
|
aaa.txt的差集
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# comm aaa.txt bbb.txt -2 -3
|
[root@localhost text]# comm aaa.txt bbb.txt -2 -3
|
||||||
aaa
|
aaa
|
||||||
ddd
|
ddd
|
||||||
|
|
@ -164,7 +164,7 @@ eee
|
||||||
|
|
||||||
bbb.txt的差集
|
bbb.txt的差集
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# comm aaa.txt bbb.txt -1 -3
|
[root@localhost text]# comm aaa.txt bbb.txt -1 -3
|
||||||
aaa
|
aaa
|
||||||
hhh
|
hhh
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
command
|
command
|
||||||
===
|
===
|
||||||
|
|
||||||
调用并执行指定的命令
|
调用并执行指定的命令
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,7 +9,7 @@ command
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
command(参数)
|
command(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -21,13 +21,13 @@ command(参数)
|
||||||
|
|
||||||
使用command命令调用执行`echo Linux`,输入如下命令:
|
使用command命令调用执行`echo Linux`,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
command echo Linux #调用执行shell内部指令
|
command echo Linux #调用执行shell内部指令
|
||||||
```
|
```
|
||||||
|
|
||||||
上面的命令执行后,将调用执行命令`echo Linux`,其执行结果如下:
|
上面的命令执行后,将调用执行命令`echo Linux`,其执行结果如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
Linux
|
Linux
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
compress
|
compress
|
||||||
===
|
===
|
||||||
|
|
||||||
使用Lempress-Ziv编码压缩数据文件
|
使用Lempress-Ziv编码压缩数据文件
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ compress
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
compress(选项)(参数)
|
compress(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-f:不提示用户,强制覆盖掉目标文件;
|
-f:不提示用户,强制覆盖掉目标文件;
|
||||||
-c:将结果送到标准输出,无文件被改变;
|
-c:将结果送到标准输出,无文件被改变;
|
||||||
-r:递归的操作方式;
|
-r:递归的操作方式;
|
||||||
|
|
@ -33,31 +33,31 @@ compress(选项)(参数)
|
||||||
|
|
||||||
将`/etc/man.config`复到`/tmp` ,并加以压缩
|
将`/etc/man.config`复到`/tmp` ,并加以压缩
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# cd /tmp
|
[root@localhost ~]# cd /tmp
|
||||||
[root@localhost tmp]# cp /etc/man.config .
|
[root@localhost tmp]# cp /etc/man.config .
|
||||||
[root@localhost tmp]# compress man.config
|
[root@localhost tmp]# compress man.config
|
||||||
[root@localhost tmp]# ls -l
|
[root@localhost tmp]# ls -l
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
|
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
|
||||||
```
|
```
|
||||||
|
|
||||||
将刚刚的压缩档解开
|
将刚刚的压缩档解开
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost tmp]# compress -d man.config.Z
|
[root@localhost tmp]# compress -d man.config.Z
|
||||||
```
|
```
|
||||||
|
|
||||||
将 man.config 压缩成另外一个文件来备份
|
将 man.config 压缩成另外一个文件来备份
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost tmp]# compress -c man.config > man.config.back.Z
|
[root@localhost tmp]# compress -c man.config > man.config.back.Z
|
||||||
[root@localhost tmp]# ll man.config*
|
[root@localhost tmp]# ll man.config*
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
|
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
|
||||||
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
|
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
consoletype
|
consoletype
|
||||||
===
|
===
|
||||||
|
|
||||||
输出已连接的终端类型
|
输出已连接的终端类型
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ consoletype
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
consoletype
|
consoletype
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# consoletype
|
[root@localhost ~]# consoletype
|
||||||
pty
|
pty
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
convertquota
|
convertquota
|
||||||
===
|
===
|
||||||
|
|
||||||
把老的配额文件转换为新的格式
|
把老的配额文件转换为新的格式
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ convertquota
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
convertquota(选项)(参数)
|
convertquota(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-u:仅转换用户磁盘配额数据文件;
|
-u:仅转换用户磁盘配额数据文件;
|
||||||
-g:仅转换组磁盘配额数据文件;
|
-g:仅转换组磁盘配额数据文件;
|
||||||
-f:将老的磁盘配额文件转换为新的格式;
|
-f:将老的磁盘配额文件转换为新的格式;
|
||||||
|
|
@ -30,7 +30,7 @@ convertquota(选项)(参数)
|
||||||
|
|
||||||
使用convertquota指令转换指定文件系统`/data`的磁盘配额数据文件。在命令行中输入下面的命令:
|
使用convertquota指令转换指定文件系统`/data`的磁盘配额数据文件。在命令行中输入下面的命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
convertquota -u /data //转换文件系统"/data"上的用户磁盘配额文件
|
convertquota -u /data //转换文件系统"/data"上的用户磁盘配额文件
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ cp
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp(选项)(参数)
|
cp(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a:此参数的效果和同时指定"-dpR"参数相同;
|
-a:此参数的效果和同时指定"-dpR"参数相同;
|
||||||
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
|
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
|
||||||
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
|
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
|
||||||
|
|
@ -41,13 +41,13 @@ cp(选项)(参数)
|
||||||
|
|
||||||
通常来说,参数 `-r` 也可用更详细的风格 `--recursive`。但是以简短的方式,也可以这么连用 `-ruv`。
|
通常来说,参数 `-r` 也可用更详细的风格 `--recursive`。但是以简短的方式,也可以这么连用 `-ruv`。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp -r -u -v /usr/men/tmp ~/men/tmp
|
cp -r -u -v /usr/men/tmp ~/men/tmp
|
||||||
```
|
```
|
||||||
|
|
||||||
版本备份 `--backup=numbered` 参数意思为“我要做个备份,而且是带编号的连续备份”。所以一个备份就是 1 号,第二个就是 2 号,等等。
|
版本备份 `--backup=numbered` 参数意思为“我要做个备份,而且是带编号的连续备份”。所以一个备份就是 1 号,第二个就是 2 号,等等。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
$ cp --force --backup=numbered test1.py test1.py
|
$ cp --force --backup=numbered test1.py test1.py
|
||||||
$ ls
|
$ ls
|
||||||
test1.py test1.py.~1~ test1.py.~2~
|
test1.py test1.py.~1~ test1.py.~2~
|
||||||
|
|
@ -55,7 +55,7 @@ test1.py test1.py.~1~ test1.py.~2~
|
||||||
|
|
||||||
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点`.`或点点`..`的形式。例如,下面的命令将指定文件复制到当前目录下:
|
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点`.`或点点`..`的形式。例如,下面的命令将指定文件复制到当前目录下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp ../mary/homework/assign .
|
cp ../mary/homework/assign .
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -63,25 +63,25 @@ cp ../mary/homework/assign .
|
||||||
|
|
||||||
将文件file复制到目录`/usr/men/tmp`下,并改名为file1
|
将文件file复制到目录`/usr/men/tmp`下,并改名为file1
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp file /usr/men/tmp/file1
|
cp file /usr/men/tmp/file1
|
||||||
```
|
```
|
||||||
|
|
||||||
将目录`/usr/men`下的所有文件及其子目录复制到目录`/usr/zh`中
|
将目录`/usr/men`下的所有文件及其子目录复制到目录`/usr/zh`中
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp -r /usr/men /usr/zh
|
cp -r /usr/men /usr/zh
|
||||||
```
|
```
|
||||||
|
|
||||||
交互式地将目录`/usr/men`中的以m打头的所有.c文件复制到目录`/usr/zh`中
|
交互式地将目录`/usr/men`中的以m打头的所有.c文件复制到目录`/usr/zh`中
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cp -i /usr/men m*.c /usr/zh
|
cp -i /usr/men m*.c /usr/zh
|
||||||
```
|
```
|
||||||
|
|
||||||
我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结了一个方法:
|
我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结了一个方法:
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
cp aaa/* /bbb
|
cp aaa/* /bbb
|
||||||
# 复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
|
# 复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
|
||||||
|
|
||||||
|
|
@ -97,14 +97,14 @@ cp -r -a aaa/* /bbb
|
||||||
|
|
||||||
递归强制复制目录到指定目录中覆盖已存在文件
|
递归强制复制目录到指定目录中覆盖已存在文件
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
cp -rfb ./* ../backup
|
cp -rfb ./* ../backup
|
||||||
# 将当前目录下所有文件,复制到当前目录的兄弟目录 backup 文件夹中
|
# 将当前目录下所有文件,复制到当前目录的兄弟目录 backup 文件夹中
|
||||||
```
|
```
|
||||||
|
|
||||||
拷贝目录下的隐藏文件如 `.babelrc`
|
拷贝目录下的隐藏文件如 `.babelrc`
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
cp -r aaa/.* ./bbb
|
cp -r aaa/.* ./bbb
|
||||||
# 将 aaa 目录下的,所有`.`开头的文件,复制到 bbb 目录中。
|
# 将 aaa 目录下的,所有`.`开头的文件,复制到 bbb 目录中。
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cpio
|
cpio
|
||||||
===
|
===
|
||||||
|
|
||||||
用来建立、还原备份档的工具程序
|
用来建立、还原备份档的工具程序
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cpio
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cpio(选项)
|
cpio(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-0或--null:接受新增列控制字符,通常配合find指令的“-print0”参数使用;
|
-0或--null:接受新增列控制字符,通常配合find指令的“-print0”参数使用;
|
||||||
-a或--rest-access-time:重新设置文件的存取时间;
|
-a或--rest-access-time:重新设置文件的存取时间;
|
||||||
-A或--append:附加到已存在的备份文档中,且这个备份文档必须存放在磁盘上,而不能放置于磁带机里;
|
-A或--append:附加到已存在的备份文档中,且这个备份文档必须存放在磁盘上,而不能放置于磁带机里;
|
||||||
|
|
@ -60,31 +60,31 @@ cpio(选项)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
**将`/etc`下的所有普通文件都备份到`/opt/etc.cpio`,使用以下命令:**
|
**将`/etc`下的所有普通文件都备份到`/opt/etc.cpio`,使用以下命令:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
find /etc –type f | cpio –ocvB >/opt/etc.cpio
|
find /etc –type f | cpio –ocvB >/opt/etc.cpio
|
||||||
```
|
```
|
||||||
|
|
||||||
**将系统上所有资料备份到磁带机内,使用以下命令:**
|
**将系统上所有资料备份到磁带机内,使用以下命令:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
find / -print | cpio -covB > /dev/st0
|
find / -print | cpio -covB > /dev/st0
|
||||||
```
|
```
|
||||||
|
|
||||||
这里的`/dev/st0`是磁带的设备名,代表SCSI磁带机。
|
这里的`/dev/st0`是磁带的设备名,代表SCSI磁带机。
|
||||||
|
|
||||||
**查看上例磁带机上备份的文件,使用以下命令:**
|
**查看上例磁带机上备份的文件,使用以下命令:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cpio -icdvt < /dev/st0 > /tmp/st_content
|
cpio -icdvt < /dev/st0 > /tmp/st_content
|
||||||
```
|
```
|
||||||
|
|
||||||
有时可能因为备份的文件过多,一个屏幕无法显示完毕,此时我们利用下面命令,让磁带机的文件信息输出到文件。
|
有时可能因为备份的文件过多,一个屏幕无法显示完毕,此时我们利用下面命令,让磁带机的文件信息输出到文件。
|
||||||
|
|
||||||
**将示例1中的备份包还原到相应的位置,如果有相同文件进行覆盖,使用以下命令:**
|
**将示例1中的备份包还原到相应的位置,如果有相同文件进行覆盖,使用以下命令:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cpio –icduv < /opt/etc.cpio
|
cpio –icduv < /opt/etc.cpio
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
crontab
|
crontab
|
||||||
===
|
===
|
||||||
|
|
||||||
提交和管理用户的需要周期性执行的任务
|
提交和管理用户的需要周期性执行的任务
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ crontab
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
crontab(选项)(参数)
|
crontab(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-e:编辑该用户的计时器设置;
|
-e:编辑该用户的计时器设置;
|
||||||
-l:列出该用户的计时器设置;
|
-l:列出该用户的计时器设置;
|
||||||
-r:删除该用户的计时器设置;
|
-r:删除该用户的计时器设置;
|
||||||
|
|
@ -34,7 +34,7 @@ Linux下的任务调度分为两类: **系统任务调度** 和 **用户任务
|
||||||
|
|
||||||
`/etc/crontab`文件包括下面几行:
|
`/etc/crontab`文件包括下面几行:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
SHELL=/bin/bash
|
SHELL=/bin/bash
|
||||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
MAILTO=""HOME=/
|
MAILTO=""HOME=/
|
||||||
|
|
@ -50,7 +50,7 @@ MAILTO=""HOME=/
|
||||||
|
|
||||||
**用户任务调度:** 用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在`/var/spool/cron`目录中。其文件名与用户名一致,使用者权限文件如下:
|
**用户任务调度:** 用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在`/var/spool/cron`目录中。其文件名与用户名一致,使用者权限文件如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
/etc/cron.deny 该文件中所列用户不允许使用crontab命令
|
/etc/cron.deny 该文件中所列用户不允许使用crontab命令
|
||||||
/etc/cron.allow 该文件中所列用户允许使用crontab命令
|
/etc/cron.allow 该文件中所列用户允许使用crontab命令
|
||||||
/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名
|
/var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名
|
||||||
|
|
@ -58,7 +58,7 @@ MAILTO=""HOME=/
|
||||||
|
|
||||||
crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
|
crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
minute hour day month week command 顺序:分 时 日 月 周
|
minute hour day month week command 顺序:分 时 日 月 周
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -78,36 +78,36 @@ minute hour day month week command 顺序:分 时 日 月 周
|
||||||
* 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
|
* 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
|
||||||
* 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
|
* 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
|
||||||
|
|
||||||
**crond服务**
|
**crond服务**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
/sbin/service crond start //启动服务
|
/sbin/service crond start # 启动服务
|
||||||
/sbin/service crond stop //关闭服务
|
/sbin/service crond stop # 关闭服务
|
||||||
/sbin/service crond restart //重启服务
|
/sbin/service crond restart # 重启服务
|
||||||
/sbin/service crond reload //重新载入配置
|
/sbin/service crond reload # 重新载入配置
|
||||||
```
|
```
|
||||||
|
|
||||||
查看crontab服务状态:
|
查看crontab服务状态:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
service crond status
|
service crond status
|
||||||
```
|
```
|
||||||
|
|
||||||
手动启动crontab服务:
|
手动启动crontab服务:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
service crond start
|
service crond start
|
||||||
```
|
```
|
||||||
|
|
||||||
查看crontab服务是否已设置为开机启动,执行命令:
|
查看crontab服务是否已设置为开机启动,执行命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
ntsysv
|
ntsysv
|
||||||
```
|
```
|
||||||
|
|
||||||
加入开机自动启动:
|
加入开机自动启动:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
chkconfig –level 35 crond on
|
chkconfig –level 35 crond on
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -115,91 +115,91 @@ chkconfig –level 35 crond on
|
||||||
|
|
||||||
每1分钟执行一次command
|
每1分钟执行一次command
|
||||||
|
|
||||||
```
|
```shell
|
||||||
* * * * * command
|
* * * * * command
|
||||||
```
|
```
|
||||||
|
|
||||||
每小时的第3和第15分钟执行
|
每小时的第3和第15分钟执行
|
||||||
|
|
||||||
```
|
```shell
|
||||||
3,15 * * * * command
|
3,15 * * * * command
|
||||||
```
|
```
|
||||||
|
|
||||||
在上午8点到11点的第3和第15分钟执行
|
在上午8点到11点的第3和第15分钟执行
|
||||||
|
|
||||||
```
|
```shell
|
||||||
3,15 8-11 * * * command
|
3,15 8-11 * * * command
|
||||||
```
|
```
|
||||||
|
|
||||||
每隔两天的上午8点到11点的第3和第15分钟执行
|
每隔两天的上午8点到11点的第3和第15分钟执行
|
||||||
|
|
||||||
```
|
```shell
|
||||||
3,15 8-11 */2 * * command
|
3,15 8-11 */2 * * command
|
||||||
```
|
```
|
||||||
|
|
||||||
每个星期一的上午8点到11点的第3和第15分钟执行
|
每个星期一的上午8点到11点的第3和第15分钟执行
|
||||||
|
|
||||||
```
|
```shell
|
||||||
3,15 8-11 * * 1 command
|
3,15 8-11 * * 1 command
|
||||||
```
|
```
|
||||||
|
|
||||||
每晚的21:30重启smb
|
每晚的21:30重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
30 21 * * * /etc/init.d/smb restart
|
30 21 * * * /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每月1、10、22日的4 : 45重启smb
|
每月1、10、22日的4 : 45重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
45 4 1,10,22 * * /etc/init.d/smb restart
|
45 4 1,10,22 * * /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每周六、周日的1:10重启smb
|
每周六、周日的1:10重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
10 1 * * 6,0 /etc/init.d/smb restart
|
10 1 * * 6,0 /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每天18 : 00至23 : 00之间每隔30分钟重启smb
|
每天18 : 00至23 : 00之间每隔30分钟重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
0,30 18-23 * * * /etc/init.d/smb restart
|
0,30 18-23 * * * /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每星期六的晚上11:00 pm重启smb
|
每星期六的晚上11:00 pm重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
0 23 * * 6 /etc/init.d/smb restart
|
0 23 * * 6 /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每一小时重启smb
|
每一小时重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
* */1 * * * /etc/init.d/smb restart
|
* */1 * * * /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
晚上11点到早上7点之间,每隔一小时重启smb
|
晚上11点到早上7点之间,每隔一小时重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
* 23-7/1 * * * /etc/init.d/smb restart
|
* 23-7/1 * * * /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每月的4号与每周一到周三的11点重启smb
|
每月的4号与每周一到周三的11点重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
0 11 4 * mon-wed /etc/init.d/smb restart
|
0 11 4 * mon-wed /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
一月一号的4点重启smb
|
一月一号的4点重启smb
|
||||||
|
|
||||||
```
|
```shell
|
||||||
0 4 1 jan * /etc/init.d/smb restart
|
0 4 1 jan * /etc/init.d/smb restart
|
||||||
```
|
```
|
||||||
|
|
||||||
每小时执行`/etc/cron.hourly`目录内的脚本
|
每小时执行`/etc/cron.hourly`目录内的脚本
|
||||||
|
|
||||||
```
|
```shell
|
||||||
01 * * * * root run-parts /etc/cron.hourly
|
01 * * * * root run-parts /etc/cron.hourly
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
csplit
|
csplit
|
||||||
===
|
===
|
||||||
|
|
||||||
将一个大文件分割成小的碎片文件
|
将一个大文件分割成小的碎片文件
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ csplit
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
csplit(选项)(参数)
|
csplit(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为xx00,xx01等,用户可以通过改变<输出格式>来改变输出的文件名;
|
-b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为xx00,xx01等,用户可以通过改变<输出格式>来改变输出的文件名;
|
||||||
-f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为xx00,xx01等,如果制定输出字首字符串为“hello”,则输出的文件名称会变成hello00,hello、01......
|
-f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为xx00,xx01等,如果制定输出字首字符串为“hello”,则输出的文件名称会变成hello00,hello、01......
|
||||||
-k或--keep-files:保留文件,就算发生错误或中断执行,与不能删除已经输出保存的文件;
|
-k或--keep-files:保留文件,就算发生错误或中断执行,与不能删除已经输出保存的文件;
|
||||||
|
|
@ -33,7 +33,7 @@ csplit(选项)(参数)
|
||||||
|
|
||||||
示例测试文件 server.log
|
示例测试文件 server.log
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat server.log
|
cat server.log
|
||||||
SERVER-1
|
SERVER-1
|
||||||
[con] 10.10.10.1 suc
|
[con] 10.10.10.1 suc
|
||||||
|
|
@ -54,7 +54,7 @@ SERVER-3
|
||||||
|
|
||||||
需要将server.log分割成server1.log、server2.log、server3.log,这些文件的内容分别取自原文件中不同的SERVER部分:
|
需要将server.log分割成server1.log、server2.log、server3.log,这些文件的内容分别取自原文件中不同的SERVER部分:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost split]# csplit server.log /SERVER/ -n2 -s {*} -f server -b "%02d.log"; rm server00.log
|
[root@localhost split]# csplit server.log /SERVER/ -n2 -s {*} -f server -b "%02d.log"; rm server00.log
|
||||||
[root@localhost split]# ls
|
[root@localhost split]# ls
|
||||||
server01.log server02.log server03.log server.log
|
server01.log server02.log server03.log server.log
|
||||||
|
|
@ -62,7 +62,7 @@ server01.log server02.log server03.log server.log
|
||||||
|
|
||||||
**命令详细说明:**
|
**命令详细说明:**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
/[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行。
|
/[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行。
|
||||||
{*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割执行的次数。
|
{*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割执行的次数。
|
||||||
-s #静默模式,不打印其他信息。
|
-s #静默模式,不打印其他信息。
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,14 @@ cu
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cu [dehnotv][-a<通信端口>][-c<电话号码>][-E<脱离字符>][-I<设置文件>][-l<外围设备代号>]
|
cu [dehnotv][-a<通信端口>][-c<电话号码>][-E<脱离字符>][-I<设置文件>][-l<外围设备代号>]
|
||||||
[-s<连线速率>][-x<排错模式>][-z<系统主机>][--help][-nostop][--parity=none][<系统主机>/<电话号码>]
|
[-s<连线速率>][-x<排错模式>][-z<系统主机>][--help][-nostop][--parity=none][<系统主机>/<电话号码>]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a<通信端口>或-p<通信端口>或--port<通信端口> 使用指定的通信端口进行连线。
|
-a<通信端口>或-p<通信端口>或--port<通信端口> 使用指定的通信端口进行连线。
|
||||||
-c<电话号码>或--phone<电话号码> 拨打该电话号码。
|
-c<电话号码>或--phone<电话号码> 拨打该电话号码。
|
||||||
-d 进入排错模式。
|
-d 进入排错模式。
|
||||||
|
|
@ -41,7 +41,7 @@ cu [dehnotv][-a<通信端口>][-c<电话号码>][-E<脱离字符>][-I<设置文
|
||||||
|
|
||||||
与远程主机连接
|
与远程主机连接
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cu -c 0102377765
|
cu -c 0102377765
|
||||||
cu -s 38400 9=12015551234
|
cu -s 38400 9=12015551234
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cupsdisable
|
cupsdisable
|
||||||
===
|
===
|
||||||
|
|
||||||
停止指定的打印机
|
停止指定的打印机
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cupsdisable
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cupsdisable(选项)(参数)
|
cupsdisable(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-E:当连接到服务器时强制使用加密;
|
-E:当连接到服务器时强制使用加密;
|
||||||
-U:指定连接服务器时使用的用户名;
|
-U:指定连接服务器时使用的用户名;
|
||||||
-u:指定打印任务所属的用户;
|
-u:指定打印任务所属的用户;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
cupsenable
|
cupsenable
|
||||||
===
|
===
|
||||||
|
|
||||||
启动指定的打印机
|
启动指定的打印机
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ cupsenable
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cupsenable(选项)(参数)
|
cupsenable(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-E:当连接到服务器时强制使用加密;
|
-E:当连接到服务器时强制使用加密;
|
||||||
-U:指定连接服务器时使用的用户名;
|
-U:指定连接服务器时使用的用户名;
|
||||||
-u:指定打印任务所属的用户;
|
-u:指定打印任务所属的用户;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ curl
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl(选项)(参数)
|
curl(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -125,7 +125,7 @@ curl(选项)(参数)
|
||||||
|
|
||||||
curl命令可以用来执行下载、发送各种HTTP请求,指定HTTP头部等操作。如果系统没有curl可以使用`yum install curl`安装,也可以下载安装。curl是将下载文件输出到stdout,将进度信息输出到stderr,不显示进度信息使用`--silent`选项。
|
curl命令可以用来执行下载、发送各种HTTP请求,指定HTTP头部等操作。如果系统没有curl可以使用`yum install curl`安装,也可以下载安装。curl是将下载文件输出到stdout,将进度信息输出到stderr,不显示进度信息使用`--silent`选项。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl URL --silent
|
curl URL --silent
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -133,13 +133,13 @@ curl URL --silent
|
||||||
|
|
||||||
使用选项`-O`将下载的数据写入到文件,必须使用文件的绝对地址:
|
使用选项`-O`将下载的数据写入到文件,必须使用文件的绝对地址:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl http://wangchujiang.com/text.iso --silent -O
|
curl http://wangchujiang.com/text.iso --silent -O
|
||||||
```
|
```
|
||||||
|
|
||||||
选项`-o`将下载数据写入到指定名称的文件中,并使用`--progress`显示进度条:
|
选项`-o`将下载数据写入到指定名称的文件中,并使用`--progress`显示进度条:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl http://wangchujiang.com/test.iso -o filename.iso --progress
|
curl http://wangchujiang.com/test.iso -o filename.iso --progress
|
||||||
######################################### 100.0%
|
######################################### 100.0%
|
||||||
```
|
```
|
||||||
|
|
@ -148,7 +148,7 @@ curl http://wangchujiang.com/test.iso -o filename.iso --progress
|
||||||
|
|
||||||
curl能够从特定的文件偏移处继续下载,它可以通过指定一个便宜量来下载部分文件:
|
curl能够从特定的文件偏移处继续下载,它可以通过指定一个便宜量来下载部分文件:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl URL/File -C 偏移量
|
curl URL/File -C 偏移量
|
||||||
|
|
||||||
#偏移量是以字节为单位的整数,如果让curl自动推断出正确的续传位置使用-C -:
|
#偏移量是以字节为单位的整数,如果让curl自动推断出正确的续传位置使用-C -:
|
||||||
|
|
@ -161,7 +161,7 @@ curl -C -URL
|
||||||
|
|
||||||
使用`--referer`选项指定参照页字符串:
|
使用`--referer`选项指定参照页字符串:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl --referer http://www.google.com http://wangchujiang.com
|
curl --referer http://www.google.com http://wangchujiang.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -169,13 +169,13 @@ curl --referer http://www.google.com http://wangchujiang.com
|
||||||
|
|
||||||
使用`--cookie "COKKIES"`选项来指定cookie,多个cookie使用分号分隔:
|
使用`--cookie "COKKIES"`选项来指定cookie,多个cookie使用分号分隔:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl http://wangchujiang.com --cookie "user=root;pass=123456"
|
curl http://wangchujiang.com --cookie "user=root;pass=123456"
|
||||||
```
|
```
|
||||||
|
|
||||||
将cookie另存为一个文件,使用`--cookie-jar`选项:
|
将cookie另存为一个文件,使用`--cookie-jar`选项:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl URL --cookie-jar cookie_file
|
curl URL --cookie-jar cookie_file
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -183,14 +183,14 @@ curl URL --cookie-jar cookie_file
|
||||||
|
|
||||||
有些网站访问会提示只能使用IE浏览器来访问,这是因为这些网站设置了检查用户代理,可以使用curl把用户代理设置为IE,这样就可以访问了。使用`--user-agent`或者`-A`选项:
|
有些网站访问会提示只能使用IE浏览器来访问,这是因为这些网站设置了检查用户代理,可以使用curl把用户代理设置为IE,这样就可以访问了。使用`--user-agent`或者`-A`选项:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl URL --user-agent "Mozilla/5.0"
|
curl URL --user-agent "Mozilla/5.0"
|
||||||
curl URL -A "Mozilla/5.0"
|
curl URL -A "Mozilla/5.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
其他HTTP头部信息也可以使用curl来发送,使用`-H`"头部信息" 传递多个头部信息,例如:
|
其他HTTP头部信息也可以使用curl来发送,使用`-H`"头部信息" 传递多个头部信息,例如:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl -H "Host:wangchujiang.com" -H "accept-language:zh-cn" URL
|
curl -H "Host:wangchujiang.com" -H "accept-language:zh-cn" URL
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -198,7 +198,7 @@ curl -H "Host:wangchujiang.com" -H "accept-language:zh-cn" URL
|
||||||
|
|
||||||
使用`--limit-rate`限制curl的下载速度:
|
使用`--limit-rate`限制curl的下载速度:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl URL --limit-rate 50k
|
curl URL --limit-rate 50k
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -206,7 +206,7 @@ curl URL --limit-rate 50k
|
||||||
|
|
||||||
使用`--max-filesize`指定可下载的最大文件大小:
|
使用`--max-filesize`指定可下载的最大文件大小:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl URL --max-filesize bytes
|
curl URL --max-filesize bytes
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -216,7 +216,7 @@ curl URL --max-filesize bytes
|
||||||
|
|
||||||
使用curl选项 -u 可以完成HTTP或者FTP的认证,可以指定密码,也可以不指定密码在后续操作中输入密码:
|
使用curl选项 -u 可以完成HTTP或者FTP的认证,可以指定密码,也可以不指定密码在后续操作中输入密码:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
curl -u user:pwd http://wangchujiang.com
|
curl -u user:pwd http://wangchujiang.com
|
||||||
curl -u user http://wangchujiang.com
|
curl -u user http://wangchujiang.com
|
||||||
```
|
```
|
||||||
|
|
@ -225,7 +225,7 @@ curl -u user http://wangchujiang.com
|
||||||
|
|
||||||
通过`-I`或者`-head`可以只打印出HTTP头部信息:
|
通过`-I`或者`-head`可以只打印出HTTP头部信息:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# curl -I http://wangchujiang.com
|
[root@localhost text]# curl -I http://wangchujiang.com
|
||||||
HTTP/1.1 200 OK
|
HTTP/1.1 200 OK
|
||||||
Server: nginx/1.2.5
|
Server: nginx/1.2.5
|
||||||
|
|
@ -238,7 +238,7 @@ X-Pingback: http://wangchujiang.com/xmlrpc.php
|
||||||
|
|
||||||
**get请求**
|
**get请求**
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
curl "http://www.wangchujiang.com" # 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地
|
curl "http://www.wangchujiang.com" # 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地
|
||||||
curl -i "http://www.wangchujiang.com" # 显示全部信息
|
curl -i "http://www.wangchujiang.com" # 显示全部信息
|
||||||
curl -l "http://www.wangchujiang.com" # 只显示头部信息
|
curl -l "http://www.wangchujiang.com" # 只显示头部信息
|
||||||
|
|
@ -247,19 +247,19 @@ curl -v "http://www.wangchujiang.com" # 显示get请求全过程解析
|
||||||
|
|
||||||
**post请求**
|
**post请求**
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
curl -d "param1=value1¶m2=value2" "http://www.wangchujiang.com"
|
curl -d "param1=value1¶m2=value2" "http://www.wangchujiang.com"
|
||||||
```
|
```
|
||||||
|
|
||||||
**json格式的post请求**
|
**json格式的post请求**
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://wangchujiang.com/apis/users.json
|
curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://wangchujiang.com/apis/users.json
|
||||||
```
|
```
|
||||||
|
|
||||||
**获取本机外网ip**
|
**获取本机外网ip**
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
curl ipecho.net/plain
|
curl ipecho.net/plain
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,13 @@ cut
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cut(选项)(参数)
|
cut(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-b:仅显示行中指定直接范围的内容;
|
-b:仅显示行中指定直接范围的内容;
|
||||||
-c:仅显示行中指定范围的字符;
|
-c:仅显示行中指定范围的字符;
|
||||||
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
|
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
|
||||||
|
|
@ -39,7 +39,7 @@ cut(选项)(参数)
|
||||||
|
|
||||||
例如有一个学生报表信息,包含 No、Name、Mark、Percent:
|
例如有一个学生报表信息,包含 No、Name、Mark、Percent:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cat test.txt
|
[root@localhost text]# cat test.txt
|
||||||
No Name Mark Percent
|
No Name Mark Percent
|
||||||
01 tom 69 91
|
01 tom 69 91
|
||||||
|
|
@ -50,7 +50,7 @@ No Name Mark Percent
|
||||||
|
|
||||||
使用 **-f** 选项提取指定字段(这里的 f 参数可以简单记忆为 `--fields`的缩写):
|
使用 **-f** 选项提取指定字段(这里的 f 参数可以简单记忆为 `--fields`的缩写):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -f 1 test.txt
|
[root@localhost text]# cut -f 1 test.txt
|
||||||
No
|
No
|
||||||
01
|
01
|
||||||
|
|
@ -58,7 +58,7 @@ No
|
||||||
03
|
03
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -f2,3 test.txt
|
[root@localhost text]# cut -f2,3 test.txt
|
||||||
Name Mark
|
Name Mark
|
||||||
tom 69
|
tom 69
|
||||||
|
|
@ -69,18 +69,17 @@ alex 68
|
||||||
|
|
||||||
**--complement** 选项提取指定字段之外的列(打印除了第二列之外的列):
|
**--complement** 选项提取指定字段之外的列(打印除了第二列之外的列):
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -f2 --complement test.txt
|
[root@localhost text]# cut -f2 --complement test.txt
|
||||||
No Mark Percent
|
No Mark Percent
|
||||||
01 69 91
|
01 69 91
|
||||||
02 71 87
|
02 71 87
|
||||||
03 68 98
|
03 68 98
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
使用 **-d** 选项指定字段分隔符:
|
使用 **-d** 选项指定字段分隔符:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cat test2.txt
|
[root@localhost text]# cat test2.txt
|
||||||
No;Name;Mark;Percent
|
No;Name;Mark;Percent
|
||||||
01;tom;69;91
|
01;tom;69;91
|
||||||
|
|
@ -88,7 +87,7 @@ No;Name;Mark;Percent
|
||||||
03;alex;68;98
|
03;alex;68;98
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -f2 -d";" test2.txt
|
[root@localhost text]# cut -f2 -d";" test2.txt
|
||||||
Name
|
Name
|
||||||
tom
|
tom
|
||||||
|
|
@ -113,7 +112,7 @@ cut 命令可以将一串字符作为列来显示,字符字段的记法:
|
||||||
|
|
||||||
**示例**
|
**示例**
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cat test.txt
|
[root@localhost text]# cat test.txt
|
||||||
abcdefghijklmnopqrstuvwxyz
|
abcdefghijklmnopqrstuvwxyz
|
||||||
abcdefghijklmnopqrstuvwxyz
|
abcdefghijklmnopqrstuvwxyz
|
||||||
|
|
@ -125,7 +124,7 @@ abcdefghijklmnopqrstuvwxyz
|
||||||
|
|
||||||
打印第 1 个到第 3 个字符:
|
打印第 1 个到第 3 个字符:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -c1-3 test.txt
|
[root@localhost text]# cut -c1-3 test.txt
|
||||||
abc
|
abc
|
||||||
abc
|
abc
|
||||||
|
|
@ -137,7 +136,7 @@ abc
|
||||||
|
|
||||||
打印前 2 个字符:
|
打印前 2 个字符:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -c-2 test.txt
|
[root@localhost text]# cut -c-2 test.txt
|
||||||
ab
|
ab
|
||||||
ab
|
ab
|
||||||
|
|
@ -149,7 +148,7 @@ ab
|
||||||
|
|
||||||
打印从第 5 个字符开始到结尾:
|
打印从第 5 个字符开始到结尾:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# cut -c5- test.txt
|
[root@localhost text]# cut -c5- test.txt
|
||||||
efghijklmnopqrstuvwxyz
|
efghijklmnopqrstuvwxyz
|
||||||
efghijklmnopqrstuvwxyz
|
efghijklmnopqrstuvwxyz
|
||||||
|
|
|
||||||
114
command/date.md
114
command/date.md
|
|
@ -11,13 +11,13 @@ date
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date(选项)(参数)
|
date(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
|
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
|
||||||
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
|
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
|
||||||
-u:显示GMT;
|
-u:显示GMT;
|
||||||
|
|
@ -31,117 +31,117 @@ date(选项)(参数)
|
||||||
|
|
||||||
### 日期格式字符串列表
|
### 日期格式字符串列表
|
||||||
|
|
||||||
```
|
```shell
|
||||||
%H 小时,24小时制(00~23)
|
%H # 小时,24小时制(00~23)
|
||||||
%I 小时,12小时制(01~12)
|
%I # 小时,12小时制(01~12)
|
||||||
%k 小时,24小时制(0~23)
|
%k # 小时,24小时制(0~23)
|
||||||
%l 小时,12小时制(1~12)
|
%l # 小时,12小时制(1~12)
|
||||||
%M 分(00~59)
|
%M # 分(00~59)
|
||||||
%p 显示出上午或下午
|
%p # 显示出上午或下午
|
||||||
%r 时间,12小时制
|
%r # 时间,12小时制
|
||||||
%s 从1970年1月1日0点到目前经历的秒数
|
%s # 从1970年1月1日0点到目前经历的秒数
|
||||||
%S 秒(00~59)
|
%S # 秒(00~59)
|
||||||
%T 时间(24小时制)(hh:mm:ss)
|
%T # 时间(24小时制)(hh:mm:ss)
|
||||||
%X 显示时间的格式(%H时%M分%S秒)
|
%X # 显示时间的格式(%H时%M分%S秒)
|
||||||
%Z 按字母表排序的时区缩写
|
%Z # 按字母表排序的时区缩写
|
||||||
%a 星期名缩写
|
%a # 星期名缩写
|
||||||
%A 星期名全称
|
%A # 星期名全称
|
||||||
%b 月名缩写
|
%b # 月名缩写
|
||||||
%B 月名全称
|
%B # 月名全称
|
||||||
%c 日期和时间
|
%c # 日期和时间
|
||||||
%d 按月计的日期(01~31)
|
%d # 按月计的日期(01~31)
|
||||||
%D 日期(mm/dd/yy)
|
%D # 日期(mm/dd/yy)
|
||||||
%h 和%b选项相同
|
%h # 和%b选项相同
|
||||||
%j 一年的第几天(001~366)
|
%j # 一年的第几天(001~366)
|
||||||
%m 月份(01~12)
|
%m # 月份(01~12)
|
||||||
%w 一个星期的第几天(0代表星期天)
|
%w # 一个星期的第几天(0代表星期天)
|
||||||
%W 一年的第几个星期(00~53,星期一为第一天)
|
%W # 一年的第几个星期(00~53,星期一为第一天)
|
||||||
%x 显示日期的格式(mm/dd/yy)
|
%x # 显示日期的格式(mm/dd/yy)
|
||||||
%y 年份的最后两个数字(1999则是99)
|
%y # 年份的最后两个数字(1999则是99)
|
||||||
%Y 年份(比如1970、1996等)
|
%Y # 年份(比如1970、1996等)
|
||||||
%C 世纪,通常为省略当前年份的后两位数字
|
%C # 世纪,通常为省略当前年份的后两位数字
|
||||||
%U 一年中的第几周,以周日为每星期第一天
|
%U # 一年中的第几周,以周日为每星期第一天
|
||||||
%e 按月计的日期,添加空格,等于%_d
|
%e # 按月计的日期,添加空格,等于%_d
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
格式化输出:
|
格式化输出:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date +"%Y-%m-%d"
|
date +"%Y-%m-%d"
|
||||||
2009-12-07
|
2009-12-07
|
||||||
```
|
```
|
||||||
|
|
||||||
输出昨天日期:
|
输出昨天日期:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -d "1 day ago" +"%Y-%m-%d"
|
date -d "1 day ago" +"%Y-%m-%d"
|
||||||
2012-11-19
|
2012-11-19
|
||||||
```
|
```
|
||||||
|
|
||||||
2秒后输出:
|
2秒后输出:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -d "2 second" +"%Y-%m-%d %H:%M.%S"
|
date -d "2 second" +"%Y-%m-%d %H:%M.%S"
|
||||||
2012-11-20 14:21.31
|
2012-11-20 14:21.31
|
||||||
```
|
```
|
||||||
|
|
||||||
传说中的 1234567890 秒:
|
传说中的 1234567890 秒:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
|
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
|
||||||
2009-02-13 23:02:30
|
2009-02-13 23:02:30
|
||||||
```
|
```
|
||||||
|
|
||||||
普通转格式:
|
普通转格式:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
|
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
|
||||||
2009/12/12 00:00.00
|
2009/12/12 00:00.00
|
||||||
```
|
```
|
||||||
|
|
||||||
apache格式转换:
|
apache格式转换:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
|
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
|
||||||
2009-12-05 00:00.37
|
2009-12-05 00:00.37
|
||||||
```
|
```
|
||||||
|
|
||||||
格式转换后时间游走:
|
格式转换后时间游走:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
|
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
|
||||||
2007-12-05 00:00.37
|
2007-12-05 00:00.37
|
||||||
```
|
```
|
||||||
|
|
||||||
加减操作:
|
加减操作:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date +%Y%m%d //显示前天年月日
|
date +%Y%m%d # 显示前天年月日
|
||||||
date -d "+1 day" +%Y%m%d //显示前一天的日期
|
date -d "+1 day" +%Y%m%d # 显示前一天的日期
|
||||||
date -d "-1 day" +%Y%m%d //显示后一天的日期
|
date -d "-1 day" +%Y%m%d # 显示后一天的日期
|
||||||
date -d "-1 month" +%Y%m%d //显示上一月的日期
|
date -d "-1 month" +%Y%m%d # 显示上一月的日期
|
||||||
date -d "+1 month" +%Y%m%d //显示下一月的日期
|
date -d "+1 month" +%Y%m%d # 显示下一月的日期
|
||||||
date -d "-1 year" +%Y%m%d //显示前一年的日期
|
date -d "-1 year" +%Y%m%d # 显示前一年的日期
|
||||||
date -d "+1 year" +%Y%m%d //显示下一年的日期
|
date -d "+1 year" +%Y%m%d # 显示下一年的日期
|
||||||
```
|
```
|
||||||
|
|
||||||
设定时间:
|
设定时间:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
date -s //设置当前时间,只有root权限才能设置,其他只能查看
|
date -s # 设置当前时间,只有root权限才能设置,其他只能查看
|
||||||
date -s 20120523 //设置成20120523,这样会把具体时间设置成空00:00:00
|
date -s 20120523 # 设置成20120523,这样会把具体时间设置成空00:00:00
|
||||||
date -s 01:01:01 //设置具体时间,不会对日期做更改
|
date -s 01:01:01 # 设置具体时间,不会对日期做更改
|
||||||
date -s "01:01:01 2012-05-23" //这样可以设置全部时间
|
date -s "01:01:01 2012-05-23" # 这样可以设置全部时间
|
||||||
date -s "01:01:01 20120523" //这样可以设置全部时间
|
date -s "01:01:01 20120523" # 这样可以设置全部时间
|
||||||
date -s "2012-05-23 01:01:01" //这样可以设置全部时间
|
date -s "2012-05-23 01:01:01" # 这样可以设置全部时间
|
||||||
date -s "20120523 01:01:01" //这样可以设置全部时间
|
date -s "20120523 01:01:01" # 这样可以设置全部时间
|
||||||
```
|
```
|
||||||
|
|
||||||
有时需要检查一组命令花费的时间,举例:
|
有时需要检查一组命令花费的时间,举例:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
start=$(date +%s)
|
start=$(date +%s)
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,13 @@ dd
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dd(选项)
|
dd(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
bs=<字节数>:将ibs(输入)与obs(输出)设成指定的字节数;
|
bs=<字节数>:将ibs(输入)与obs(输出)设成指定的字节数;
|
||||||
cbs=<字节数>:转换时,每次只转换指定的字节数;
|
cbs=<字节数>:转换时,每次只转换指定的字节数;
|
||||||
conv=<关键字>:指定文件转换的方式;
|
conv=<关键字>:指定文件转换的方式;
|
||||||
|
|
@ -33,7 +33,7 @@ skip=<区块数>:一开始读取时,跳过指定的区块数;
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1
|
[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1
|
||||||
1+0 records in
|
1+0 records in
|
||||||
1+0 records out
|
1+0 records out
|
||||||
|
|
@ -45,11 +45,11 @@ skip=<区块数>:一开始读取时,跳过指定的区块数;
|
||||||
|
|
||||||
该命令创建了一个1M大小的文件sun.txt,其中参数解释:
|
该命令创建了一个1M大小的文件sun.txt,其中参数解释:
|
||||||
|
|
||||||
* **if** 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
|
* **if** 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
|
||||||
* **of** 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
|
* **of** 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
|
||||||
* **bs** 代表字节为单位的块大小。
|
* **bs** 代表字节为单位的块大小。
|
||||||
* **count** 代表被复制的块数。
|
* **count** 代表被复制的块数。
|
||||||
* **/dev/zero** 是一个字符设备,会不断返回0值字节(\0)。
|
* **/dev/zero** 是一个字符设备,会不断返回0值字节(\0)。
|
||||||
|
|
||||||
块大小可以使用的计量单位表
|
块大小可以使用的计量单位表
|
||||||
|
|
||||||
|
|
@ -64,7 +64,7 @@ skip=<区块数>:一开始读取时,跳过指定的区块数;
|
||||||
|
|
||||||
以上命令可以看出dd命令来测试内存操作速度:
|
以上命令可以看出dd命令来测试内存操作速度:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
|
1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -72,7 +72,7 @@ skip=<区块数>:一开始读取时,跳过指定的区块数;
|
||||||
|
|
||||||
我们甚至可以使用 /dev/urandom 设备配合 dd 命令 来获取随机字符串。
|
我们甚至可以使用 /dev/urandom 设备配合 dd 命令 来获取随机字符串。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# dd if=/dev/urandom bs=1 count=15|base64 -w 0
|
[root@localhost ~]# dd if=/dev/urandom bs=1 count=15|base64 -w 0
|
||||||
15+0 records in
|
15+0 records in
|
||||||
15+0 records out
|
15+0 records out
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ declare
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
declare(选项)(参数)
|
declare(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
+/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性;
|
+/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性;
|
||||||
-f:仅显示函数;
|
-f:仅显示函数;
|
||||||
r:将变量设置为只读;
|
r:将变量设置为只读;
|
||||||
|
|
@ -31,19 +31,19 @@ shell变量:声明shell变量,格式为“变量名=值”。
|
||||||
|
|
||||||
首先使用declare命令定义shell变量"test",并且将其值设置为"wangchujiang.com",输入如下命令:
|
首先使用declare命令定义shell变量"test",并且将其值设置为"wangchujiang.com",输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
declare test='wangchujiang.com' #定义并初始化shell变量
|
declare test='wangchujiang.com' #定义并初始化shell变量
|
||||||
```
|
```
|
||||||
|
|
||||||
上面的命令执行后,再使用echo命令将该shell变量值输出,输入如下命令:
|
上面的命令执行后,再使用echo命令将该shell变量值输出,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
echo $test #输出shell变量的值
|
echo $test #输出shell变量的值
|
||||||
```
|
```
|
||||||
|
|
||||||
上面的指令执行后,其输出的结果如下:
|
上面的指令执行后,其输出的结果如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
wangchujiang.com
|
wangchujiang.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
depmod
|
depmod
|
||||||
===
|
===
|
||||||
|
|
||||||
分析可载入模块的相依性
|
分析可载入模块的相依性
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ depmod
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
depmod(选项)
|
depmod(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a或--all:分析所有可用的模块;
|
-a或--all:分析所有可用的模块;
|
||||||
-d或debug:执行排错模式;
|
-d或debug:执行排错模式;
|
||||||
-e:输出无法参照的符号;
|
-e:输出无法参照的符号;
|
||||||
|
|
@ -29,7 +29,7 @@ depmod(选项)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a
|
depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -39,7 +39,7 @@ depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/
|
||||||
|
|
||||||
编译linux过程及执行depmod的例子:
|
编译linux过程及执行depmod的例子:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
genkernel.sh (at linux-2.6.18_pro500)
|
genkernel.sh (at linux-2.6.18_pro500)
|
||||||
#######
|
#######
|
||||||
export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
|
export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ df
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
df(选项)(参数)
|
df(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a或--all:包含全部的文件系统;
|
-a或--all:包含全部的文件系统;
|
||||||
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
|
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
|
||||||
-h或--human-readable:以可读性较高的方式来显示信息;
|
-h或--human-readable:以可读性较高的方式来显示信息;
|
||||||
|
|
@ -48,7 +48,7 @@ SIZE是一个整数和可选单位(例如:10M是10 * 1024 * 1024)。 单
|
||||||
|
|
||||||
查看系统磁盘设备,默认是KB为单位:
|
查看系统磁盘设备,默认是KB为单位:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@LinServ-1 ~]# df
|
[root@LinServ-1 ~]# df
|
||||||
文件系统 1K-块 已用 可用 已用% 挂载点
|
文件系统 1K-块 已用 可用 已用% 挂载点
|
||||||
/dev/sda2 146294492 28244432 110498708 21% /
|
/dev/sda2 146294492 28244432 110498708 21% /
|
||||||
|
|
@ -59,7 +59,7 @@ tmpfs 1032204 0 1032204 0% /dev/shm
|
||||||
|
|
||||||
使用`-h`选项以KB以上的单位来显示,可读性高:
|
使用`-h`选项以KB以上的单位来显示,可读性高:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@LinServ-1 ~]# df -h
|
[root@LinServ-1 ~]# df -h
|
||||||
文件系统 容量 已用 可用 已用% 挂载点
|
文件系统 容量 已用 可用 已用% 挂载点
|
||||||
/dev/sda2 140G 27G 106G 21% /
|
/dev/sda2 140G 27G 106G 21% /
|
||||||
|
|
@ -70,7 +70,7 @@ tmpfs 1009M 0 1009M 0% /dev/shm
|
||||||
|
|
||||||
查看全部文件系统:
|
查看全部文件系统:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@LinServ-1 ~]# df -a
|
[root@LinServ-1 ~]# df -a
|
||||||
文件系统 1K-块 已用 可用 已用% 挂载点
|
文件系统 1K-块 已用 可用 已用% 挂载点
|
||||||
/dev/sda2 146294492 28244432 110498708 21% /
|
/dev/sda2 146294492 28244432 110498708 21% /
|
||||||
|
|
@ -85,7 +85,7 @@ none 0 0 0 - /proc/sys/fs/binfmt_misc
|
||||||
|
|
||||||
显示 `public` 目录中的可用空间量,如以下输出中所示:
|
显示 `public` 目录中的可用空间量,如以下输出中所示:
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
df public
|
df public
|
||||||
# Filesystem 1K-blocks Used Available Use% Mounted on
|
# Filesystem 1K-blocks Used Available Use% Mounted on
|
||||||
# /dev/loop0 18761008 15246924 2554392 86% /d Avail
|
# /dev/loop0 18761008 15246924 2554392 86% /d Avail
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
dhclient
|
dhclient
|
||||||
===
|
===
|
||||||
|
|
||||||
动态获取或释放IP地址
|
动态获取或释放IP地址
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ dhclient
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dhclient(选项)(参数)
|
dhclient(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
0:指定dhcp客户端监听的端口号;
|
0:指定dhcp客户端监听的端口号;
|
||||||
-d:总是以前台方式运行程序;
|
-d:总是以前台方式运行程序;
|
||||||
-q:安静模式,不打印任何错误的提示信息;
|
-q:安静模式,不打印任何错误的提示信息;
|
||||||
|
|
@ -28,7 +28,7 @@ dhclient(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dhclient -r #释放IP
|
dhclient -r #释放IP
|
||||||
dhclient #获取IP
|
dhclient #获取IP
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ dhcpd
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dhcpd [选项] [网络接口]
|
dhcpd [选项] [网络接口]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-p <端口> 指定dhcpd监听的端口
|
-p <端口> 指定dhcpd监听的端口
|
||||||
-f 作为前台进程运行dhcpd
|
-f 作为前台进程运行dhcpd
|
||||||
-d 启用调试模式
|
-d 启用调试模式
|
||||||
|
|
@ -31,7 +31,7 @@ dhcpd [选项] [网络接口]
|
||||||
|
|
||||||
对DHCP服务器进行排错。
|
对DHCP服务器进行排错。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[root@localhost ~]# dhcpd
|
[root@localhost ~]# dhcpd
|
||||||
InternetSystems Consortium DHCP Server 4.1.1-P1
|
InternetSystems Consortium DHCP Server 4.1.1-P1
|
||||||
Copyright2004-2010 Internet Systems Consortium.
|
Copyright2004-2010 Internet Systems Consortium.
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ dhcrelay
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dhcrelay [选项] [DHCP服务器]
|
dhcrelay [选项] [DHCP服务器]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c <跳数> 当转发数据包时,dhcrelay丢弃已经达到一个最大跳数的数据包。默认值是10,最大值是255
|
-c <跳数> 当转发数据包时,dhcrelay丢弃已经达到一个最大跳数的数据包。默认值是10,最大值是255
|
||||||
-4 运行dhcrelay命令作为DHCPv4/BOOTP中继代理。这是默认操作模式
|
-4 运行dhcrelay命令作为DHCPv4/BOOTP中继代理。这是默认操作模式
|
||||||
-6 运行dhcrelay命令作为DHCPv6中继代理
|
-6 运行dhcrelay命令作为DHCPv6中继代理
|
||||||
|
|
@ -29,7 +29,7 @@ dhcrelay [选项] [DHCP服务器]
|
||||||
|
|
||||||
指定DHCP服务器的位置。
|
指定DHCP服务器的位置。
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[root@localhost ~]# dhcrelay 192.168.0.2
|
[root@localhost ~]# dhcrelay 192.168.0.2
|
||||||
Internet Systems Consortium DHCP Relay Agent4.1.1-P1
|
Internet Systems Consortium DHCP Relay Agent4.1.1-P1
|
||||||
Copyright 2004-2010 Internet SystemsConsortium.
|
Copyright 2004-2010 Internet SystemsConsortium.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
diff
|
diff
|
||||||
===
|
===
|
||||||
|
|
||||||
比较给定的两个文件的不同
|
比较给定的两个文件的不同
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ diff
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
diff(选项)(参数)
|
diff(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用;
|
-<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用;
|
||||||
-a或——text:diff预设只会逐行比较文本文件;
|
-a或——text:diff预设只会逐行比较文本文件;
|
||||||
-b或--ignore-space-change:不检查空格字符的不同;
|
-b或--ignore-space-change:不检查空格字符的不同;
|
||||||
|
|
@ -61,13 +61,13 @@ diff(选项)(参数)
|
||||||
|
|
||||||
将目录`/usr/li`下的文件"test.txt"与当前目录下的文件"test.txt"进行比较,输入如下命令:
|
将目录`/usr/li`下的文件"test.txt"与当前目录下的文件"test.txt"进行比较,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
diff /usr/li test.txt #使用diff指令对文件进行比较
|
diff /usr/li test.txt #使用diff指令对文件进行比较
|
||||||
```
|
```
|
||||||
|
|
||||||
上面的命令执行后,会将比较后的不同之处以指定的形式列出,如下所示:
|
上面的命令执行后,会将比较后的不同之处以指定的形式列出,如下所示:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
n1 a n3,n4
|
n1 a n3,n4
|
||||||
n1,n2 d n3
|
n1,n2 d n3
|
||||||
n1,n2 c n3,n4
|
n1,n2 c n3,n4
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
diff3
|
diff3
|
||||||
===
|
===
|
||||||
|
|
||||||
比较3个文件不同的地方
|
比较3个文件不同的地方
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ diff3
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
diff3(选项)(参数)
|
diff3(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-a:把所有的文件都当做文本文件按照行为单位进行比较,即给定的文件不是文本文件;
|
-a:把所有的文件都当做文本文件按照行为单位进行比较,即给定的文件不是文本文件;
|
||||||
-A:合并第2个文件和第3个文件之间的不同到第1个文件中,有冲突内容用括号括起来;
|
-A:合并第2个文件和第3个文件之间的不同到第1个文件中,有冲突内容用括号括起来;
|
||||||
-B:与选项“-A”功能相同,但是不显示冲突的内容;
|
-B:与选项“-A”功能相同,但是不显示冲突的内容;
|
||||||
|
|
@ -27,9 +27,9 @@ diff3(选项)(参数)
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
* 文件1:指定要比较的第1个文件;
|
* 文件1:指定要比较的第1个文件;
|
||||||
* 文件2:指定要比较的第2个文件;
|
* 文件2:指定要比较的第2个文件;
|
||||||
* 文件3:指定要比较的第3个文件。
|
* 文件3:指定要比较的第3个文件。
|
||||||
|
|
||||||
|
|
||||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
diffstat
|
diffstat
|
||||||
===
|
===
|
||||||
|
|
||||||
显示diff命令输出信息的柱状图
|
显示diff命令输出信息的柱状图
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ diffstat
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
diffstat(选项)(参数)
|
diffstat(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
|
-n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
|
||||||
-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径;
|
-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径;
|
||||||
-w:指定要输出时栏位的宽度;
|
-w:指定要输出时栏位的宽度;
|
||||||
|
|
@ -30,7 +30,7 @@ diffstat(选项)(参数)
|
||||||
|
|
||||||
将目录"test1"和"test2"下的同名文件"testf.txt"使用diff命令进行比较。然后使用diffstat命令对结果进行统计显示,输入如下命令:
|
将目录"test1"和"test2"下的同名文件"testf.txt"使用diff命令进行比较。然后使用diffstat命令对结果进行统计显示,输入如下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
diff test1 test2 | diffstat #进行比较结果的统计显示
|
diff test1 test2 | diffstat #进行比较结果的统计显示
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -38,7 +38,7 @@ diff test1 test2 | diffstat #进行比较结果的统计显示
|
||||||
|
|
||||||
对于查看文件中的内容,用户可以通过cat命令进行查看即可,具体操作如下:
|
对于查看文件中的内容,用户可以通过cat命令进行查看即可,具体操作如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cat test1/testf.txt #查看test1/testf的内容
|
cat test1/testf.txt #查看test1/testf的内容
|
||||||
abc
|
abc
|
||||||
def
|
def
|
||||||
|
|
@ -59,7 +59,7 @@ mno
|
||||||
|
|
||||||
从上面的文件内容显示,可以看到两个文件内容的差别。现在来运行刚才的命令,对文件比较的结果进行统计显示,结果如下:
|
从上面的文件内容显示,可以看到两个文件内容的差别。现在来运行刚才的命令,对文件比较的结果进行统计显示,结果如下:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
testfile | 2 +- #统计信息输出显示
|
testfile | 2 +- #统计信息输出显示
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
dig
|
dig
|
||||||
===
|
===
|
||||||
|
|
||||||
域名查询工具
|
域名查询工具
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ dig
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dig(选项)(参数)
|
dig(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
@<服务器地址>:指定进行域名解析的域名服务器;
|
@<服务器地址>:指定进行域名解析的域名服务器;
|
||||||
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
|
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
|
||||||
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
|
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
|
||||||
|
|
@ -36,7 +36,7 @@ dig(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# dig www.jsdig.com
|
[root@localhost ~]# dig www.jsdig.com
|
||||||
|
|
||||||
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.1 <<>> www.jsdig.com
|
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.1 <<>> www.jsdig.com
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
dircolors
|
dircolors
|
||||||
===
|
===
|
||||||
|
|
||||||
置ls命令在显示目录或文件时所用的色彩
|
置ls命令在显示目录或文件时所用的色彩
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,13 +9,13 @@ dircolors
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dircolors(选项)(参数)
|
dircolors(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-b或--sh或--bourne-shell:显示在Boume shell中,将LS_COLORS设为目前预设置的shell指令;
|
-b或--sh或--bourne-shell:显示在Boume shell中,将LS_COLORS设为目前预设置的shell指令;
|
||||||
-c或--csh或--c-shell:显示在C shell中,将LS_COLORS设为目前预设置的shell指令;
|
-c或--csh或--c-shell:显示在C shell中,将LS_COLORS设为目前预设置的shell指令;
|
||||||
-p或--print-database:显示预设置;
|
-p或--print-database:显示预设置;
|
||||||
|
|
@ -29,7 +29,7 @@ dircolors(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# dircolors -p
|
[root@localhost ~]# dircolors -p
|
||||||
# Configuration file for dircolors, a utility to help you set the
|
# Configuration file for dircolors, a utility to help you set the
|
||||||
# LS_COLORS environment variable used by GNU ls with the --color option.
|
# LS_COLORS environment variable used by GNU ls with the --color option.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
dirname
|
dirname
|
||||||
===
|
===
|
||||||
|
|
||||||
去除文件名中的非目录部分
|
去除文件名中的非目录部分
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,20 +9,20 @@ dirname
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dirname(选项)(参数)
|
dirname(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
--help:显示帮助;
|
--help:显示帮助;
|
||||||
--version:显示版本号。
|
--version:显示版本号。
|
||||||
```
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dirname //
|
dirname //
|
||||||
结果为 /
|
结果为 /
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
dirs
|
dirs
|
||||||
===
|
===
|
||||||
|
|
||||||
显示目录记录
|
显示目录记录
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,20 +9,19 @@ dirs
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dirs(选项)(参数)
|
dirs(选项)(参数)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c:删除目录栈中的所有记录
|
-c:删除目录栈中的所有记录
|
||||||
-l:以完整格式显示
|
-l:以完整格式显示
|
||||||
-p:一个目录一行的方式显示
|
-p:一个目录一行的方式显示
|
||||||
-v:每行一个目录来显示目录栈的内容,每个目录前加上的编号
|
-v:每行一个目录来显示目录栈的内容,每个目录前加上的编号
|
||||||
+N:显示从左到右的第n个目录,数字从0开始
|
+N:显示从左到右的第n个目录,数字从0开始
|
||||||
-N:显示从右到左的第n个日录,数字从0开始
|
-N:显示从右到左的第n个日录,数字从0开始
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 参数
|
### 参数
|
||||||
|
|
@ -31,7 +30,7 @@ dirs(选项)(参数)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost etc]# dirs
|
[root@localhost etc]# dirs
|
||||||
/etc
|
/etc
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ dmesg
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dmesg(选项)
|
dmesg(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-c:显示信息后,清除ring buffer中的内容;
|
-c:显示信息后,清除ring buffer中的内容;
|
||||||
-s<缓冲区大小>:预设置为8196,刚好等于ring buffer的大小;
|
-s<缓冲区大小>:预设置为8196,刚好等于ring buffer的大小;
|
||||||
-n:设置记录信息的层级。
|
-n:设置记录信息的层级。
|
||||||
|
|
@ -23,7 +23,7 @@ dmesg(选项)
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# dmesg | head
|
[root@localhost ~]# dmesg | head
|
||||||
Linux version 2.6.18-348.6.1.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Tue May 21 15:34:22 EDT 2013
|
Linux version 2.6.18-348.6.1.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Tue May 21 15:34:22 EDT 2013
|
||||||
BIOS-provided physical RAM map:
|
BIOS-provided physical RAM map:
|
||||||
|
|
@ -39,7 +39,7 @@ BIOS-provided physical RAM map:
|
||||||
|
|
||||||
查看硬盘基础信息
|
查看硬盘基础信息
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
dmesg | grep sda
|
dmesg | grep sda
|
||||||
|
|
||||||
[ 2.442555] sd 0:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)
|
[ 2.442555] sd 0:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,13 @@ DMI充当了管理工具和系统层之间接口的角色。它建立了标准
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dmidecode [选项]
|
dmidecode [选项]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
```
|
```shell
|
||||||
-d:(default:/dev/mem)从设备文件读取信息,输出内容与不加参数标准输出相同。
|
-d:(default:/dev/mem)从设备文件读取信息,输出内容与不加参数标准输出相同。
|
||||||
-h:显示帮助信息。
|
-h:显示帮助信息。
|
||||||
-s:只显示指定DMI字符串的信息。(string)
|
-s:只显示指定DMI字符串的信息。(string)
|
||||||
|
|
@ -116,7 +116,7 @@ dmidecode [选项]
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
dmidecode -t 1 # 查看服务器信息
|
dmidecode -t 1 # 查看服务器信息
|
||||||
dmidecode | grep 'Product Name' # 查看服务器型号
|
dmidecode | grep 'Product Name' # 查看服务器型号
|
||||||
dmidecode |grep 'Serial Number' # 查看主板的序列号
|
dmidecode |grep 'Serial Number' # 查看主板的序列号
|
||||||
|
|
@ -133,7 +133,7 @@ cat /proc/scsi/scsi # 查看服务器硬盘信息
|
||||||
|
|
||||||
不带选项执行dmidecode命令通常会输出所有的硬件信息。dmidecode命令有个很有用的选项-t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行:
|
不带选项执行dmidecode命令通常会输出所有的硬件信息。dmidecode命令有个很有用的选项-t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@localhost ~]# dmidecode -t processor
|
[root@localhost ~]# dmidecode -t processor
|
||||||
# dmidecode 2.11
|
# dmidecode 2.11
|
||||||
SMBIOS 2.5 present.
|
SMBIOS 2.5 present.
|
||||||
|
|
@ -221,7 +221,7 @@ Processor Information
|
||||||
|
|
||||||
查看内存的插槽数,已经使用多少插槽。每条内存多大,已使用内存多大
|
查看内存的插槽数,已经使用多少插槽。每条内存多大,已使用内存多大
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
|
dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
|
||||||
|
|
||||||
# Size: 2048 MB
|
# Size: 2048 MB
|
||||||
|
|
@ -232,16 +232,15 @@ dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range
|
||||||
|
|
||||||
查看内存支持的最大内存容量
|
查看内存支持的最大内存容量
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
dmidecode|grep -P 'Maximum\s+Capacity'
|
dmidecode|grep -P 'Maximum\s+Capacity'
|
||||||
|
|
||||||
# Maximum Capacity: 16 GB
|
# Maximum Capacity: 16 GB
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
查看内存的频率
|
查看内存的频率
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
dmidecode|grep -A16 "Memory Device"
|
dmidecode|grep -A16 "Memory Device"
|
||||||
|
|
||||||
# Memory Device
|
# Memory Device
|
||||||
|
|
@ -288,7 +287,7 @@ dmidecode|grep -A16 "Memory Device"|grep 'Speed'
|
||||||
# Speed: 1333 MHz
|
# Speed: 1333 MHz
|
||||||
# Speed: Unknown
|
# Speed: Unknown
|
||||||
|
|
||||||
```
|
```shell
|
||||||
|
|
||||||
|
|
||||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||||
|
|
|
||||||
224
command/dnf.md
224
command/dnf.md
|
|
@ -1,6 +1,6 @@
|
||||||
dnf
|
dnf
|
||||||
===
|
===
|
||||||
|
|
||||||
新一代的RPM软件包管理器
|
新一代的RPM软件包管理器
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -19,293 +19,247 @@ DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经
|
||||||
|
|
||||||
在系统中执行以下命令:
|
在系统中执行以下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# yum install epel-release
|
yum install epel-release
|
||||||
```
|
```
|
||||||
|
|
||||||
或者
|
或者
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# yum install epel-release -y
|
yum install epel-release -y
|
||||||
```
|
```
|
||||||
|
|
||||||
其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。
|
其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。
|
||||||
|
|
||||||
2、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行以下命令:
|
2、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行以下命令:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# yum install dnf
|
yum install dnf
|
||||||
```
|
```
|
||||||
|
|
||||||
然后, DNF 包管理器就被成功的安装到你的系统中了。接下来,是时候开始我们的教程了!在这个教程中,您将会学到27个用于 DNF 包管理器的命令。使用这些命令,你可以方便有效的管理您系统中的 RPM 软件包。现在,让我们开始学习 DNF 包管理器的27条常用命令吧!
|
然后, DNF 包管理器就被成功的安装到你的系统中了。接下来,是时候开始我们的教程了!在这个教程中,您将会学到27个用于 DNF 包管理器的命令。使用这些命令,你可以方便有效的管理您系统中的 RPM 软件包。现在,让我们开始学习 DNF 包管理器的27条常用命令吧!
|
||||||
|
|
||||||
**查看 DNF 包管理器版本**
|
**查看 DNF 包管理器版本**
|
||||||
|
|
||||||
用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本
|
用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf –version
|
dnf –version
|
||||||
```
|
```
|
||||||
|
|
||||||
!Check-DNF-Version
|
!Check-DNF-Version
|
||||||
|
|
||||||
**查看系统中可用的 DNF 软件库**
|
**查看系统中可用的 DNF 软件库**
|
||||||
|
|
||||||
用处:该命令用于显示系统中可用的 DNF 软件库
|
用处:该命令用于显示系统中可用的 DNF 软件库
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf repolist
|
dnf repolist
|
||||||
```
|
```
|
||||||
|
|
||||||
!Check-All-Enabled-Repositories
|
**查看系统中可用和不可用的所有的 DNF 软件库**
|
||||||
|
|
||||||
**查看系统中可用和不可用的所有的 DNF 软件库**
|
|
||||||
|
|
||||||
用处:该命令用于显示系统中可用和不可用的所有的 DNF 软件库
|
用处:该命令用于显示系统中可用和不可用的所有的 DNF 软件库
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf repolist all
|
dnf repolist all
|
||||||
```
|
```
|
||||||
|
|
||||||
!3
|
**列出所有 RPM 包**
|
||||||
|
|
||||||
**列出所有 RPM 包**
|
|
||||||
|
|
||||||
用处:该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包
|
用处:该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf list
|
dnf list
|
||||||
```
|
```
|
||||||
|
|
||||||
!4
|
**列出所有安装了的 RPM 包**
|
||||||
|
|
||||||
**列出所有安装了的 RPM 包**
|
|
||||||
|
|
||||||
用处:该命令用于列出所有安装了的 RPM 包
|
用处:该命令用于列出所有安装了的 RPM 包
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf list installed
|
dnf list installed
|
||||||
```
|
```
|
||||||
|
|
||||||
!5
|
**列出所有可供安装的 RPM 包**
|
||||||
|
|
||||||
**列出所有可供安装的 RPM 包**
|
|
||||||
|
|
||||||
用处:该命令用于列出来自所有可用软件库的可供安装的软件包
|
用处:该命令用于列出来自所有可用软件库的可供安装的软件包
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf list available
|
dnf list available
|
||||||
```
|
```
|
||||||
|
|
||||||
!6
|
**搜索软件库中的 RPM 包**
|
||||||
|
|
||||||
**搜索软件库中的 RPM 包**
|
|
||||||
|
|
||||||
用处:当你不知道你想要安装的软件的准确名称时,你可以用该命令来搜索软件包。你需要在”search”参数后面键入软件的部分名称来搜索。(在本例中我们使用”nano”)
|
用处:当你不知道你想要安装的软件的准确名称时,你可以用该命令来搜索软件包。你需要在”search”参数后面键入软件的部分名称来搜索。(在本例中我们使用”nano”)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf search nano
|
dnf search nano
|
||||||
```
|
```
|
||||||
|
|
||||||
!7
|
**查找某一文件的提供者**
|
||||||
|
|
||||||
**查找某一文件的提供者**
|
|
||||||
|
|
||||||
用处:当你想要查看是哪个软件包提供了系统中的某一文件时,你可以使用这条命令。(在本例中,我们将查找”/bin/bash”这个文件的提供者)
|
用处:当你想要查看是哪个软件包提供了系统中的某一文件时,你可以使用这条命令。(在本例中,我们将查找”/bin/bash”这个文件的提供者)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf provides /bin/bash
|
dnf provides /bin/bash
|
||||||
```
|
```
|
||||||
|
|
||||||
!8
|
**查看软件包详情**
|
||||||
|
|
||||||
**查看软件包详情**
|
|
||||||
|
|
||||||
用处:当你想在安装某一个软件包之前查看它的详细信息时,这条命令可以帮到你。(在本例中,我们将查看”nano”这一软件包的详细信息)
|
用处:当你想在安装某一个软件包之前查看它的详细信息时,这条命令可以帮到你。(在本例中,我们将查看”nano”这一软件包的详细信息)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf info nano
|
dnf info nano
|
||||||
```
|
```
|
||||||
|
|
||||||
!9
|
**安装软件包**
|
||||||
|
|
||||||
**安装软件包**
|
|
||||||
|
|
||||||
用处:使用该命令,系统将会自动安装对应的软件及其所需的所有依赖(在本例中,我们将用该命令安装nano软件)
|
用处:使用该命令,系统将会自动安装对应的软件及其所需的所有依赖(在本例中,我们将用该命令安装nano软件)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf install nano
|
dnf install nano
|
||||||
```
|
```
|
||||||
|
|
||||||
!10
|
**升级软件包**
|
||||||
|
|
||||||
**升级软件包**
|
|
||||||
|
|
||||||
用处:该命令用于升级制定软件包(在本例中,我们将用命令升级”systemd”这一软件包)
|
用处:该命令用于升级制定软件包(在本例中,我们将用命令升级”systemd”这一软件包)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf update systemd
|
dnf update systemd
|
||||||
```
|
```
|
||||||
|
|
||||||
!11
|
**检查系统软件包的更新**
|
||||||
|
|
||||||
**检查系统软件包的更新**
|
|
||||||
|
|
||||||
用处:该命令用于检查系统中所有软件包的更新
|
用处:该命令用于检查系统中所有软件包的更新
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf check-update
|
dnf check-update
|
||||||
```
|
```
|
||||||
|
|
||||||
!12
|
**升级所有系统软件包**
|
||||||
|
|
||||||
**升级所有系统软件包**
|
|
||||||
|
|
||||||
用处:该命令用于升级系统中所有有可用升级的软件包
|
用处:该命令用于升级系统中所有有可用升级的软件包
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf update 或 # dnf upgrade
|
dnf update 或 dnf upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
!13
|
**删除软件包**
|
||||||
|
|
||||||
**删除软件包**
|
|
||||||
|
|
||||||
用处:删除系统中指定的软件包(在本例中我们将使用命令删除”nano”这一软件包)
|
用处:删除系统中指定的软件包(在本例中我们将使用命令删除”nano”这一软件包)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf remove nano 或 # dnf erase nano
|
dnf remove nano 或 dnf erase nano
|
||||||
```
|
```
|
||||||
|
|
||||||
!14
|
**删除无用孤立的软件包**
|
||||||
|
|
||||||
**删除无用孤立的软件包**
|
|
||||||
|
|
||||||
用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。
|
用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf autoremove
|
dnf autoremove
|
||||||
```
|
```
|
||||||
|
|
||||||
!15
|
**删除缓存的无用软件包**
|
||||||
|
|
||||||
**删除缓存的无用软件包**
|
|
||||||
|
|
||||||
用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。
|
用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf clean all
|
dnf clean all
|
||||||
```
|
```
|
||||||
|
|
||||||
!16
|
**获取有关某条命令的使用帮助**
|
||||||
|
|
||||||
**获取有关某条命令的使用帮助**
|
|
||||||
|
|
||||||
用处:该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明)(本例中我们将使用命令获取有关命令”clean”的使用帮助)
|
用处:该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明)(本例中我们将使用命令获取有关命令”clean”的使用帮助)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf help clean
|
dnf help clean
|
||||||
```
|
```
|
||||||
|
|
||||||
!17
|
**查看所有的 DNF 命令及其用途**
|
||||||
|
|
||||||
**查看所有的 DNF 命令及其用途**
|
|
||||||
|
|
||||||
用处:该命令用于列出所有的 DNF 命令及其用途
|
用处:该命令用于列出所有的 DNF 命令及其用途
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf help
|
dnf help
|
||||||
```
|
```
|
||||||
|
|
||||||
!18
|
**查看 DNF 命令的执行历史**
|
||||||
|
|
||||||
**查看 DNF 命令的执行历史**
|
|
||||||
|
|
||||||
用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。
|
用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf history
|
dnf history
|
||||||
```
|
```
|
||||||
|
|
||||||
!19
|
**查看所有的软件包组**
|
||||||
|
|
||||||
**查看所有的软件包组**
|
|
||||||
|
|
||||||
用处:该命令用于列出所有的软件包组
|
用处:该命令用于列出所有的软件包组
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf grouplist
|
dnf grouplist
|
||||||
```
|
```
|
||||||
|
|
||||||
!20
|
**安装一个软件包组**
|
||||||
|
|
||||||
**安装一个软件包组**
|
|
||||||
|
|
||||||
用处:该命令用于安装一个软件包组(本例中,我们将用命令安装”Educational Software”这个软件包组)
|
用处:该命令用于安装一个软件包组(本例中,我们将用命令安装”Educational Software”这个软件包组)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf groupinstall ‘Educational Software’
|
dnf groupinstall ‘Educational Software’
|
||||||
```
|
```
|
||||||
|
|
||||||
!21
|
**升级一个软件包组中的软件包**
|
||||||
|
|
||||||
**升级一个软件包组中的软件包**
|
|
||||||
|
|
||||||
用处:该命令用于升级一个软件包组中的软件包(本例中,我们将用命令升级”Educational Software”这个软件包组中的软件)
|
用处:该命令用于升级一个软件包组中的软件包(本例中,我们将用命令升级”Educational Software”这个软件包组中的软件)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf groupupdate ‘Educational Software’
|
dnf groupupdate ‘Educational Software’
|
||||||
```
|
```
|
||||||
|
|
||||||
!22
|
**删除一个软件包组**
|
||||||
|
|
||||||
**删除一个软件包组**
|
|
||||||
|
|
||||||
用处:该命令用于删除一个软件包组(本例中,我们将用命令删除”Educational Software”这个软件包组)
|
用处:该命令用于删除一个软件包组(本例中,我们将用命令删除”Educational Software”这个软件包组)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf groupremove ‘Educational Software’
|
dnf groupremove ‘Educational Software’
|
||||||
```
|
```
|
||||||
|
|
||||||
!23
|
**从特定的软件包库安装特定的软件**
|
||||||
|
|
||||||
**从特定的软件包库安装特定的软件**
|
|
||||||
|
|
||||||
用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)
|
用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf –enablerepo=epel install phpmyadmin
|
dnf –enablerepo=epel install phpmyadmin
|
||||||
```
|
```
|
||||||
|
|
||||||
**更新软件包到最新的稳定发行版**
|
**更新软件包到最新的稳定发行版**
|
||||||
|
|
||||||
用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版
|
用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf distro-sync
|
dnf distro-sync
|
||||||
```
|
```
|
||||||
|
|
||||||
**重新安装特定软件包**
|
**重新安装特定软件包**
|
||||||
|
|
||||||
用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)
|
用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf reinstall nano
|
dnf reinstall nano
|
||||||
```
|
```
|
||||||
|
|
||||||
!26
|
**回滚某个特定软件的版本**
|
||||||
|
|
||||||
**回滚某个特定软件的版本**
|
|
||||||
|
|
||||||
用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”acpid”这个软件包的版本)
|
用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”acpid”这个软件包的版本)
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# dnf downgrade acpid
|
dnf downgrade acpid
|
||||||
```
|
```
|
||||||
|
|
||||||
样例输出:
|
样例输出:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
Using metadata from Wed May 20 12:44:59 2015
|
Using metadata from Wed May 20 12:44:59 2015
|
||||||
No match for available package: acpid-2.0.19-5.el7.x86_64
|
No match for available package: acpid-2.0.19-5.el7.x86_64
|
||||||
Error: Nothing to do.
|
Error: Nothing to do.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
dnsdomainname
|
dnsdomainname
|
||||||
===
|
===
|
||||||
|
|
||||||
定义DNS系统中FQDN名称的域名
|
定义DNS系统中FQDN名称的域名
|
||||||
|
|
||||||
## 补充说明
|
## 补充说明
|
||||||
|
|
@ -9,17 +9,19 @@ dnsdomainname
|
||||||
|
|
||||||
### 语法
|
### 语法
|
||||||
|
|
||||||
```
|
```shell
|
||||||
dnsdomainname(选项)
|
dnsdomainname(选项)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 选项
|
### 选项
|
||||||
|
|
||||||
|
```shell
|
||||||
-v:详细信息模式,输出指令执行的详细信息。
|
-v:详细信息模式,输出指令执行的详细信息。
|
||||||
|
```
|
||||||
|
|
||||||
### 实例
|
### 实例
|
||||||
|
|
||||||
```
|
```shell
|
||||||
[root@AY1307311912260196fcZ ~]# dnsdomainname -v
|
[root@AY1307311912260196fcZ ~]# dnsdomainname -v
|
||||||
gethostname()=`AY1307311912260196fcZ'
|
gethostname()=`AY1307311912260196fcZ'
|
||||||
Resolving `AY1307311912260196fcZ' ...
|
Resolving `AY1307311912260196fcZ' ...
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue