root 6 years ago
parent a8efd7acaa
commit 6cbe184493

@ -1,20 +1,9 @@
apt-get
===
# **apt-get**
Debian Linux发行版中的APT软件包管理工具
## 补充说明
## 说明
**apt-get命令** 是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起大体就如同Windows上的安装文件。
### 语法
```
apt-get(选项)(参数)
```
```
-c指定配置文件。
```

@ -1,22 +1,10 @@
aptitude
===
# **aptitude**
Debian Linux系统中软件包管理工具
## 补充说明
## 说明
**aptitude命令** 与apt-get命令一样都是Debian Linux及其衍生系统中功能极其强大的包管理工具。与apt-get不同的是aptitude在处理依赖问题上更佳一些。举例来说aptitude在删除一个包时会同时删除本身所依赖的包。这样系统中不会残留无用的包整个系统更为干净。它通过文本操作菜单和命令两种方式管理软件包。
### 语法
```
aptitude(选项)(参数)
```
```
-h显示帮助信息
-d仅下载软件包不执行安装操作
-P每一步操作都要求确认
-y所有问题都回答“yes”
@ -24,13 +12,7 @@ aptitude(选项)(参数)
-u启动时下载新的软件包列表。
```
### 参数
操作命令:用户管理软件包的操作命令。
### 实例
以下是我总结的一些常用aptitude命令仅供参考
## 实例
```
aptitude update #更新可用的包列表

@ -1,21 +1,8 @@
dpkg
===
# **dpkg**
Debian Linux系统上安装、创建和管理软件包
## 说明
## 补充说明
**dpkg命令** 是Debian Linux系统用来安装、创建和管理软件包的实用工具。
### 语法
```
dpkg(选项)(参数)
```
```
```info
-i安装软件包
-r删除软件包
-P删除软件包的同时删除其配置文件

@ -1,11 +0,0 @@
# **madadm**
常见Raid类型及基本特性,n代表磁盘数量
| Raid级别 | Raid0 | Raid1 | Raid5 | Raid6 | Raid10 |
| :--: | :--: | :--: | :--: | :--: | :--: |
| 别名 | 条带 | 镜像 | 分布式奇偶校检条带 | 双重奇偶校检条带 | 镜像加条带 |
| 磁盘数 | n≥1 | 2n(n≥1) | n≥3 | n≥4 | 2n(n≥2)≥4 |
| 可用容量 | 全部 | 50% | (n-1)/n | (n-2)/n | 50% |
| 最大容错 | 0 | n-1 | 1 | | n/2 |
| 读性能 | n | n | n-1 | | n |
| 写性能 | n | 1 | n-1 | | n/2 |

@ -1,43 +1,26 @@
passwd
===
# **passwd**
用于让用户可以更改自己的密码
## 补充说明
## 说明
**passwd命令** 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
### 语法
```
passwd(选项)(参数)
```
```
选项:
-a, --all 报告所有帐户的密码状态
-d, --delete 删除指定帐户的密码
-e, --expire 强制使指定帐户的密码过期
-h, --help 显示此帮助信息并推出
-k, --keep-tokens 仅在过期后修改密码
-i, --inactive INACTIVE 密码过期后设置密码不活动为 INACTIVE
-l, --lock 锁定指定的帐户
-n, --mindays MIN_DAYS 设置到下次修改密码所须等待的最短天数
为 MIN_DAYS
-q, --quiet 安静模式
-r, --repository REPOSITORY 在 REPOSITORY 库中改变密码
-R, --root CHROOT_DIR chroot 到的目录
-S, --status 报告指定帐户密码的状态
-u, --unlock 解锁被指定帐户
-w, --warndays WARN_DAYS 设置过期警告天数为 WARN_DAYS
-x, --maxdays MAX_DAYS 设置到下次修改密码所须等待的最多的天数为 MAX_DAYS
### 参数
用户名:需要设置密码的用户名。
### 知识扩展
```info
用法: passwd [选项...] <帐号名称>
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
--stdin 从标准输入读取令牌(只有根用户才能进行此操作)
```
## 知识扩展
与用户、组账户信息相关的文件

@ -8,8 +8,6 @@
Usage: ps [options]
```sh
基本选项
-A, -e all processes
@ -90,15 +88,11 @@ Miscellaneous options:
## 实例
```sh
# 按内存资源的使用量对进程进行排序
ps aux | sort -rnk 4
# 按 CPU 资源的使用量对进程进行排序
ps aux | sort -nk 3
# 最常用的查询指令;
ps -le or ps -aux 查看所有用户执行的进程的详细信息;
ps -aux --sort pid 可按照进程执行的时间PIDUID等对进程进行排序
ps -uU tangsir / ps -aux | grep tangsir查看系统中指定用户执行的进程
pstree | more 进程树,非常直观的观察父子进程;
ps aux | sort -rnk 4 # 按内存资源的使用量对进程进行排序
ps aux | sort -nk 3 # 按CPU 资源的使用量对进程进行排序
ps -le or ps -aux # 查看所有用户执行的进程的详细信息
ps -aux --sort pid # 可按照进程执行的时间PIDUID等对进程进行排序
ps -uU tangsir / ps -aux | grep tangsir # 查看系统中指定用户执行的进程
pstree | more # 进程树,非常直观的观察父子进程
ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }' # PHP-FPM进程的平均内存占用
```

@ -0,0 +1,74 @@
# **RAID**
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)
A, B, C, D, E and F 代表blocks(块)
p1, p2, and p3 代表parity(奇偶校验)
RAID 0 又称为Stripe或Striping分条
即Data Stripping数据分条技术。其主要目标是效能RAID 0将进来的数据分割成stripes然后平均分配到组内的每个硬盘可以提高磁 盘的性能和吞吐量。RAID 0没有冗余或错误修复能力成本低要求至少两个磁盘一般只是在那些对数 据安全性要求不高的情况下才被使用,并行操作使同一时间内磁盘读写速度提升
* 最少需要两块磁盘
* 数据条带式分布
* 没有冗余,性能最佳(不存储镜像、校验信息)
* 不能应用于对数据安全性要求高的场合
![raid 0](http://static.thegeekstuff.com/wp-content/uploads/2010/07/raid-0.png)
| | |
| :------: | :------: |
| 容错性 | 没有 |
| 热备盘选项 | 没有 |
| 随机写性能 | 高 |
| 需要的磁盘数 | 只需2个或2*N个这里应该是多于两个硬盘都可以 |
| 典型应用 | 无故障的迅速读写,要求安全性不高,如图形工作站等 |
RAID 1 又称为Mirror或Mirroring镜像
RAID 1称为磁盘镜像把一个磁盘的数据镜像到另一个磁盘上在不影响性能情况下最大限度的保证系统的可靠性和可修复性上具有很高的数据冗余能力但磁盘利用 率为50%故成本最高多用在保存关键性的重要数据的场合。RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上
* 最少需要2块磁盘
* 提供数据块冗余
* 性能好
![raid 1](http://static.thegeekstuff.com/wp-content/uploads/2010/07/raid-1.png)
RAID 5 可以理解为是RAID 0和RAID 1的折衷方案但没有完全使用RAID 1镜像理念而是使用了“奇偶校验信息”来作为数据恢复的方式与下面的RAID10不同,RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。raid5将数据分割成stripes但只平均分配到一个磁盘。奇偶校检会周期性修改固奇偶校检信息平均分配到所有的磁盘上其中一个损坏丢失的部分可以从其他数据以及奇偶校检计算出来。
raid 6与raid 5近似但使用两个校验设备而不是一个raid6可以容许两个硬盘损坏最少需要4个设备raid6别名双重奇偶校检条带
* 最少3块磁盘
* 数据条带形式分布
* 以奇偶校验作冗余
* 适合多读少写的情景,是性能与数据冗余最佳的折中方案
![raid 5](http://static.thegeekstuff.com/wp-content/uploads/2010/07/raid-5.png)
| | |
| :------: | :------: |
| 容错性 | 有 |
| 热备盘选项 | 有 |
| 随机写性能 | 低 |
| 需要的磁盘数 | 三个或更多 |
| 可用容量 | n-1/n的总磁盘容量n为磁盘数 |
| 典型应用 | 随机数据传输要求安全性高,如金融、数据库、存储等 |
RAID10也被称为镜象阵列条带。象RAID0一样数据跨磁盘抽取象RAID1一样每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 0+1。RAID10提供100%的数据冗余,支持更大的卷尺寸
* 最少需要4块磁盘
* 先按RAID 0分成两组再分别对两组按RAID 1方式镜像
* 兼顾冗余(提供镜像存储)和性能(数据条带形分布)
* 在实际应用中较为常用(尤其是数据库中)
![raid 10](http://static.thegeekstuff.com/wp-content/uploads/2010/08/raid10.png)
RAID总结
| 类型 | 磁盘数 | 别名 | 最大容错 | 安全性 | 磁盘利用率 | 成本 | 应用方面 |
| :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: |
| RAID0 | 至少2个 | 条带 | 0 | 最差(完全无安全保障) | 最高100 | 最低 | 个人用户 |
| RAID1 | 2 | 镜像 | n-1 | 最高(提供数据的百分之百备份) | 差50 | 最高 | 适用于存放重要数据,如服务器和数据库存储等领域。 |
| RAID5 | 至少3个 | 1 | 分布式奇偶校检条带 | RAID 5<RAID 1 | (n-1)/n | RAID 5<RAID 1 | |
| RAID10 | 4 | 镜像+条带 | n/2 | RAID10RAID1 | RAID10RAID150 | RAID10RAID1 | 集合了RAID0RAID1的优点但是空间上由于使用镜像而不是类似RAID5的“奇偶校验信息”磁盘利用率一样是50 |
常见Raid类型及基本特性,n代表磁盘数量
## Software-RAID

@ -1,4 +1,4 @@
# *strace*
# **strace**
## 补充说明
@ -6,48 +6,48 @@
strace的最简单的用法就是执行一个指定的命令在指定的命令结束之后它也就退出了。在命令执行的过程中strace会记录和解析命令进程的所有系统调用以及这个进程所接收到的所有的信号值。
```info
-c 统计每一系统调用的所执行的时间,次数和出错的次数等.
-d 输出strace关于标准错误的调试信息.
-f 跟踪由fork调用所产生的子进程.
-ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号.
-F 尝试跟踪vfork调用.在-f时,vfork不被跟踪.
-h 输出简要的帮助信息.
-i 输出系统调用的入口指针.
-q 禁止输出关于脱离的消息.
-r 打印出相对时间关于,,每一个系统调用.
-t 在输出中的每一行前加上时间信息.
-tt 在输出中的每一行前加上时间信息,微秒级.
-ttt 微秒级输出,以秒了表示时间.
-T 显示每一调用所耗的时间.
-v 输出所有的系统调用.一些调用关于环境变量,状态,输入输出等调用由于使用频繁,默认不输出.
-V 输出strace的版本信息.
-c 统计每一系统调用的所执行的时间,次数和出错的次数等
-d 输出strace关于标准错误的调试信息
-f 跟踪由fork调用所产生的子进程
-ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号
-F 尝试跟踪vfork调用.在-f时,vfork不被跟踪
-h 输出简要的帮助信息
-i 输出系统调用的入口指针
-q 禁止输出关于脱离的消息
-r 打印出相对时间关于,,每一个系统调用
-t 在输出中的每一行前加上时间信息
-tt 在输出中的每一行前加上时间信息,微秒级
-ttt 微秒级输出,并在开头打印自纪元以来的时间精确到秒
-T 显示每一调用所耗的时间
-v 输出所有的系统调用.一些调用关于环境变量,状态,输入输出等调用由于使用频繁,默认不输出
-V 输出strace的版本信息
-x 以十六进制形式输出非标准字符串
-xx 所有字符串以十六进制形式输出.
-a column 设置返回值的输出位置.默认 为40.
-e expr 指定一个表达式,用来控制如何跟踪.格式:[qualifier=][!]value1[,value2]...
qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用来限定的符号或数字.默认的 qualifier是 trace.感叹号是否定符号.例如:-eopen等价于 -e trace=open,表示只跟踪open调用.而-etrace!=open 表示跟踪除了open以外的其他调用.有两个特殊的符号 all 和 none. 注意有些shell使用!来执行历史记录里的命令,所以要使用\\.
-e trace=set 只跟踪指定的系统 调用.例如:-e trace=open,close,rean,write表示只跟踪这四个系统调用.默认的为set=all.
-e trace=file 只跟踪有关文件操作的系统调用.
-e trace=process 只跟踪有关进程控制的系统调用.
-e trace=network 跟踪与网络有关的所有系统调用.
-xx 所有字符串以十六进制形式输出
-a column 设置返回值的输出位置.默认为40
-e expr 指定一个表达式,用来控制如何跟踪.格式:[qualifier=][!]value1[,value2]..
qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用来限定的符号或数字.默认的 qualifier是 trace.感叹号是否定符号.例如:-eopen等价于 -e trace=open,表示只跟踪open调用.而-etrace!=open 表示跟踪除了open以外的其他调用.有两个特殊的符号 all 和 none. 注意有些shell使用!来执行历史记录里的命令,所以要使用\\
-e trace=set 只跟踪指定的系统 调用.例如:-e trace=open,close,rean,write表示只跟踪这四个系统调用.默认的为set=all
-e trace=file 只跟踪有关文件操作的系统调用
-e trace=process 只跟踪有关进程控制的系统调用
-e trace=network 跟踪与网络有关的所有系统调用
-e strace=signal 跟踪所有与系统信号有关的 系统调用
-e trace=ipc 跟踪所有与进程通讯有关的系统调用
-e abbrev=set 设定strace输出的系统调用的结果集.-v 等与 abbrev=none.默认为abbrev=all.
-e raw=set 将指定的系统调用的参数以十六进制显示.
-e signal=set 指定跟踪的系统信号.默认为all.如 signal=!SIGIO(或者signal=!io),表示不跟踪SIGIO信号.
-e abbrev=set 设定strace输出的系统调用的结果集.-v 等与 abbrev=none.默认为abbrev=all
-e raw=set 将指定的系统调用的参数以十六进制显示
-e signal=set 指定跟踪的系统信号.默认为all.如 signal=!SIGIO(或者signal=!io),表示不跟踪SIGIO信号
-e read=set 输出从指定文件中读出 的数据.例如: -e read=3,5
-e write=set 输出写入到指定文件中的数据.
-e write=set 输出写入到指定文件中的数据
-o filename 将strace的输出写入文件filename
-p pid 跟踪指定的进程pid.
-s strsize 指定输出的字符串的最大长度.默认为32.文件名一直全部输出.
-p pid 跟踪指定的进程pid
-s strsize 指定输出的字符串的最大长度.默认为32.文件名一直全部输出
-u username 以username的UID和GID执行被跟踪的命令
```
## 实例
strace -o php7083.log -T -tt -F -e trace=all -p 7083
**追踪系统调用**
strace -ff -t -s 1000 -p {process id}

@ -1,9 +1,6 @@
syslog
===
# **syslog**
系统默认的日志守护进程
## 补充说明
## 说明
**syslog** 是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序守护进程和内核提供了访问系统的日志信息。因此任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。
@ -11,6 +8,30 @@ syslog
通常syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息。
此 rsyslogd 后台进程负责搜集来自应用程序与核心的服务消息,然后送至日志档内 (通常保存在 /var/log/ 文件夹内)。遵守 /etc/rsyslog.conf 配置文件的要求。
每个日志信息都和应用子系统相关联文档中称为“facility”
auth 和 authpriv用于授权
cron源于任务调度服务 cron 和 atd
daemon影响未分类的守护进程DNS NTP
ftp涉及FTP 服务器;
kern源于内核的消息
lpr源于打印子系统
mail源于电子邮件子系统
newsUsenet 子系统消息主要源自NNTP -网络消息传输协议-管理新闻组的服务器);
syslog源于 syslogd 服务自身的消息;
user用户消息
uucp源于UUCPUnix to Unix Copy Program一种老式的分发电子邮件消息的协议服务的消息
local0 到 local7保留本地使用。
每种消息都有其优先级。下面按降序列出:
emerg“救命” 紧急状态,系统可能已挂了。
alert赶快任何推迟都是危险的必须马上采取行动
crit情况很严苛
err错误
warn警告潜在的错误
notice正常情况但是该消息很重要
info提供信息
debug调试消息。
### 使用方法
在/var/log中创建并写入日志信息是由syslog协议处理的是由守护进程sylogd负责执行。每个标准的进程都可以用syslog记录日志。可以使用logger命令通过syslogd记录日志。

@ -136,13 +136,13 @@ FORMAT 是以下格式中的一种:
-I, --use-compress-program=PROG
通过 PROG 过滤(必须是能接受 -d
选项的程序)
-j, --bzip2 通过 bzip2 过滤归档
-J, --xz 通过 xz 过滤归档
-j, --bzip2 通过 bzip2 过滤归档;bz2格式文件
-J, --xz 通过 xz 过滤归档;xz格式文件
--lzip 通过 lzip 过滤归档
--lzma 通过 lzma 过滤归档
--lzop
--no-auto-compress 不使用归档后缀名来决定压缩程序
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档;gz格式文件
-Z, --compress, --uncompress 通过 compress 过滤归档
本地文件选择:
--add-file=FILE 添加指定的 FILE 至归档(如果名字以 -

@ -259,17 +259,8 @@ Remote file does not exist-- broken link!!!
wget--tries=40 URL
# 如果网络有问题或下载一个大文件也有可能失败。wget默认重试20次连接下载文件。如果需要你可以使用`--tries`增加重试次数。
# 下载多个文件
wget -i filelist.txt
## 镜像网站
wget --mirror -p --convert-links -P ./LOCAL URL
# 下载整个网站到本地。
`--miror`开户镜像下载。
`-p`下载所有为了html页面显示正常的文件。
`--convert-links`下载后,转换成本地的链接。
`-P ./LOCAL`保存所有文件和目录到本地指定目录。
wget -i filelist.txt # 下载多个文件
wget --mirror -p --convert-links -P ./LOCAL URL # 下载整个网站到本地;`--miror`镜像下载。`-p`下载所有为了html页面显示正常的文件。`--convert-links`下载后,转换成本地的链接。`-P ./LOCAL`保存所有文件和目录到本地指定目录。
# 过滤指定格式下载
wget--reject=gif ur

Loading…
Cancel
Save