Update from Sync Service

This commit is contained in:
FNS Service
2026-04-16 00:28:41 +08:00
parent a808ee7fac
commit 5006db1185
221 changed files with 4666 additions and 4145 deletions

View File

@@ -1,3 +1,3 @@
==单节点安装==
==单节点安装==
==在rancher/rancher容器的内置etcd中映射与宿主机的====/var/lib/rancher====目录下。==
\> 来自 \<[https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_11-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84l4%E5%B1%82%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%9C%8D%E5%8A%A1%E5%A4%84%E4%BA%8E-%E6%8C%82%E8%B5%B7-%E7%8A%B6%E6%80%81%EF%BC%9F](https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_11-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84l4%E5%B1%82%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%9C%8D%E5%8A%A1%E5%A4%84%E4%BA%8E-%E6%8C%82%E8%B5%B7-%E7%8A%B6%E6%80%81%EF%BC%9F)\>
> 来自 <[https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_11-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84l4%E5%B1%82%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%9C%8D%E5%8A%A1%E5%A4%84%E4%BA%8E-%E6%8C%82%E8%B5%B7-%E7%8A%B6%E6%80%81%EF%BC%9F](https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_11-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84l4%E5%B1%82%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%9C%8D%E5%8A%A1%E5%A4%84%E4%BA%8E-%E6%8C%82%E8%B5%B7-%E7%8A%B6%E6%80%81%EF%BC%9F)>

View File

@@ -1,7 +1,7 @@
==.==
==在您想要使用单个节点运行Rancher并且能够将相同节点添加到集群的情况下您必须调整为====rancher/rancher====容器映射的主机端口。==
==如果一个节点被添加到集群它将部署使用端口80和443的ingress控制器。这与====rancher/rancher====容器默认映射的端口冲突。==
==注意不建议在生产中把Rancher/Rancher和Rancher/Rancher-Agent运行在一台主机上但可用于开发/演示。==
==要更改主机端口映射,替换====-p 80:80 -p 443:443====为====-p 8080:80 -p 8443:443====:==
docker run -d --restart=unless-stopped \ -p 8080:80 -p 8443:443 \ -v \<主机路径\>:/var/lib/rancher/ \ rancher/rancher:stable (或者rancher/rancher:latest)
\> 来自 \<[https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_4-%E6%95%B0%E6%8D%AE%E6%8C%81%E4%B9%85](https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_4-%E6%95%B0%E6%8D%AE%E6%8C%81%E4%B9%85)\>
==.==
==在您想要使用单个节点运行Rancher并且能够将相同节点添加到集群的情况下您必须调整为====rancher/rancher====容器映射的主机端口。==
==如果一个节点被添加到集群它将部署使用端口80和443的ingress控制器。这与====rancher/rancher====容器默认映射的端口冲突。==
==注意不建议在生产中把Rancher/Rancher和Rancher/Rancher-Agent运行在一台主机上但可用于开发/演示。==
==要更改主机端口映射,替换====-p 80:80 -p 443:443====为====-p 8080:80 -p 8443:443====:==
docker run -d --restart=unless-stopped \ -p 8080:80 -p 8443:443 \ -v <主机路径>:/var/lib/rancher/ \ rancher/rancher:stable (或者rancher/rancher:latest)
> 来自 <[https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_4-%E6%95%B0%E6%8D%AE%E6%8C%81%E4%B9%85](https://docs.rancher.cn/rancher2x/faqs/important-issue.html#_4-%E6%95%B0%E6%8D%AE%E6%8C%81%E4%B9%85)>

View File

@@ -1,68 +1,88 @@
1.镜像下载
下载 `MongoDB` 镜像命令:
1.镜像下载
下载 `MongoDB` 镜像命令:
```
```
docker pull mongo
```
```
执行 `docker images` 查看镜像,下载成功,如下图:
2.启动 `MongoDB`
启动 `MongoDB` 命令:
2.启动 `MongoDB`
启动 `MongoDB` 命令:
```
```
docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:latest
```
```
==命令说明:==
```
```
-p 27017:27017 :
```
```
==将容器的==
```
27017
```
27017
```
```
==端口映射到主机的==
```
27017
```
27017
```
```
==端口==
```
```
-v $PWD/db:/data/db :
```
```
==将主机中当前目录下的==`db`==挂载到容器的==
```
```
/data/db
```
==,作为==`mongo`==数据存储目录==``
```
==,作为==`mongo`==数据存储目录==``
启动成功,如下图:
3.测试连接 `MongoDB`
连接 `MongoDB` 命令:
3.测试连接 `MongoDB`
连接 `MongoDB` 命令:
```
```
docker run -it mongo:latest mongo --host 172.17.0.1
```
```
==命令说明:==
```
```
```
```
==使用==`mongo`==镜像执行==`mongo` ==命令连接到刚启动的容器==`,`==主机==`IP`==为==
```
```
172.17.0.1
```
```
提示信息 `It looks like you are trying to access MongoDB over HTTP on the native driver port.` nice部署 `MongoD` 成功!

View File

@@ -1,17 +1,17 @@
**Docker安装redis**
**1.首先下载redis镜像**
docker pull redis
**2.然后创建一个文件夹用来存放redis的配置文件、数据等(也就是所谓的挂载目录,作用就是将此目录中的文件或文件夹覆盖掉容器内部的文件或文件夹)**
**3.在上面创建的目录下使用命令启动redis容器**
docker run -d -p 6379:6379 -v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name docker-redis docker.io/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
**解释一下上面命令的意义:**
-d表示后台运行不加-d执行上面的命令你就会看到redis启动的日志信息了
-p表示端口映射冒号左面的是我们的宿主机的端口也就是我们虚拟机的端口而右侧则表示的是mysql容器内的端口
--name是我们给redis容器取的名字
-v表示挂载路径$PWD表示当前目录下冒号左面的表示我们宿主机的挂载目录也就是我们虚拟机所在的文件路径冒号右边则表是的是redis容器在容器内部的路径上面的命令我分别挂载了redis.conf(redis的配置文件)如需使用配置文件的方式启动redis这里则需要加上还有redis存放数据所在的目录
**Docker安装redis**
**1.首先下载redis镜像**
docker pull redis
**2.然后创建一个文件夹用来存放redis的配置文件、数据等(也就是所谓的挂载目录,作用就是将此目录中的文件或文件夹覆盖掉容器内部的文件或文件夹)**
**3.在上面创建的目录下使用命令启动redis容器**
docker run -d -p 6379:6379 -v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf -v $PWD/data:/data --name docker-redis docker.io/redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
**解释一下上面命令的意义:**
-d表示后台运行不加-d执行上面的命令你就会看到redis启动的日志信息了
-p表示端口映射冒号左面的是我们的宿主机的端口也就是我们虚拟机的端口而右侧则表示的是mysql容器内的端口
--name是我们给redis容器取的名字
-v表示挂载路径$PWD表示当前目录下冒号左面的表示我们宿主机的挂载目录也就是我们虚拟机所在的文件路径冒号右边则表是的是redis容器在容器内部的路径上面的命令我分别挂载了redis.conf(redis的配置文件)如需使用配置文件的方式启动redis这里则需要加上还有redis存放数据所在的目录
--appendonly yes表示redis开启持久化策略
作者GatHub
链接https://www.jianshu.com/p/2f95680f21c5
来源:简书
作者GatHub
链接https://www.jianshu.com/p/2f95680f21c5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

View File

@@ -1,12 +1,12 @@
**1****、设置****docker****开机启动**
systemctl enable docker
**2****、设置容器自动重启**
**1****、设置****docker****开机启动**
systemctl enable docker
**2****、设置容器自动重启**
**1****)、创建容器时设置**
docker run -d --restart=always --name 设置容器名 使用的镜像(上面命令 --name后面两个参数根据实际情况自行修改
docker run -d --restart=always --name 设置容器名 使用的镜像(上面命令 --name后面两个参数根据实际情况自行修改
 --restart具体参数值详细信息       no容器退出时不重启容器       on-failure 只有在非0状态退出时才重新启动容器       always      无论退出状态是如何,都重启容器;
**2****)、修改已有容器,使用****update**
docker update --restart=always 容器ID(或者容器名)
**2****)、修改已有容器,使用****update**
docker update --restart=always 容器ID(或者容器名)
容器ID或者容器名根据实际情况修改
\> 来自 \<[https://www.cnblogs.com/763977251-sg/p/11839918.html](https://www.cnblogs.com/763977251-sg/p/11839918.html)\>
> 来自 <[https://www.cnblogs.com/763977251-sg/p/11839918.html](https://www.cnblogs.com/763977251-sg/p/11839918.html)>

View File

@@ -0,0 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>

View File

@@ -1,2 +1,2 @@
1. ==大量====镜像通过命令 docker image prune -f 清理。==
2. ==通过命令 docker images | awk 'NR!=1{print $1":"$2}' | xargs docker rmi 可以批量清除无用的镜像,且不会影响使用中的镜像和基础镜像,满足笔者的需求。== \> 来自 \<[https://www.cnblogs.com/sqgzy/p/11864675.html](https://www.cnblogs.com/sqgzy/p/11864675.html)\> \> 来自 \<[https://www.cnblogs.com/sqgzy/p/11864675.html](https://www.cnblogs.com/sqgzy/p/11864675.html)\>
2. ==通过命令 docker images | awk 'NR!=1{print $1":"$2}' | xargs docker rmi 可以批量清除无用的镜像,且不会影响使用中的镜像和基础镜像,满足笔者的需求。== > 来自 <[https://www.cnblogs.com/sqgzy/p/11864675.html](https://www.cnblogs.com/sqgzy/p/11864675.html)> > 来自 <[https://www.cnblogs.com/sqgzy/p/11864675.html](https://www.cnblogs.com/sqgzy/p/11864675.html)>

View File

@@ -1,28 +1,28 @@
**方法一:**
==#====显示所有的容器,过滤出====Exited====状态的容器,取出这些容器的====ID======
==sudo docker ps -a|grep Exited|awk '{print $1}'==
==#====查询所有的容器,过滤出====Exited====状态的容器,列出容器====ID====,删除这些容器==
==sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`==
xx
**方法二:** 
==#====删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)==
**方法一:**
==#====显示所有的容器,过滤出====Exited====状态的容器,取出这些容器的====ID======
==sudo docker ps -a|grep Exited|awk '{print $1}'==
==#====查询所有的容器,过滤出====Exited====状态的容器,列出容器====ID====,删除这些容器==
==sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`==
xx
**方法二:**
==#====删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)==
==sudo docker rm $(sudo docker ps -a -q)==
**方法三:**
==#====根据容器的状态,删除====Exited====状态的容器==
==sudo docker rm $(sudo docker ps -qf status=exited)==
 
**方法四:**
==#Docker 1.13====版本以后,可以使用== ==docker containers prune== ==命令,删除孤立的容器。==
==sudo docker container prune==
 
~~#~~~~删除所有镜像~~
~~sudo docker rmi $(docker images -q)~~
 
**附图:**
==02-====删除所有的容器,所有未运行的容器都被删除,正在运行的无法删除,达到删除不用容器的目的。==
==03-====低于====1.13====版本的====Docker====,可以根据容器的状态来进行删除==
==04-====查询所有的容器,过滤出状态为====Exited====的容器==
==05-Docker 1.13====版本以后,开始支持====prune====命令,快速删除已退出的容器==
 
\> 来自 \<[https://blog.csdn.net/jiangeeq/article/details/79499324](https://blog.csdn.net/jiangeeq/article/details/79499324)\>
**方法三:**
==#====根据容器的状态,删除====Exited====状态的容器==
==sudo docker rm $(sudo docker ps -qf status=exited)==
**方法四:**
==#Docker 1.13====版本以后,可以使用== ==docker containers prune== ==命令,删除孤立的容器。==
==sudo docker container prune==
~~#~~~~删除所有镜像~~
~~sudo docker rmi $(docker images -q)~~
**附图:**
==02-====删除所有的容器,所有未运行的容器都被删除,正在运行的无法删除,达到删除不用容器的目的。==
==03-====低于====1.13====版本的====Docker====,可以根据容器的状态来进行删除==
==04-====查询所有的容器,过滤出状态为====Exited====的容器==
==05-Docker 1.13====版本以后,开始支持====prune====命令,快速删除已退出的容器==
> 来自 <[https://blog.csdn.net/jiangeeq/article/details/79499324](https://blog.csdn.net/jiangeeq/article/details/79499324)>

View File

@@ -1,4 +1,4 @@
==INSTALL AS A CONTAINER==
==Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run this command:==
==INSTALL AS A CONTAINER==
==Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run this command:==
sudo curl -L --fail [https://github.com/docker/compose/releases/download/1.25.4/run.sh](https://github.com/docker/compose/releases/download/1.25.4/run.sh) -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose
\> 来自 \<[https://docs.docker.com/compose/install/#alternative-install-options](https://docs.docker.com/compose/install/#alternative-install-options)\>
> 来自 <[https://docs.docker.com/compose/install/#alternative-install-options](https://docs.docker.com/compose/install/#alternative-install-options)>

View File

@@ -1,9 +1,9 @@
RATIO
RATIO即整周模糊度分解后次最小RMS与最小RMS的比值。即
RATIO
RATIO即整周模糊度分解后次最小RMS与最小RMS的比值。即
![RATIO RAT RMS RMS S RA 0 RATIO RAT RAT 1](Exported%20image%2020260407225341-0.png)
![RATIO RAT RMS RMS S RA 0 RATIO RAT RAT 1](Exported%20image%2020260407225341-0.png)
RATIO 反映了所确定出的整周未知数参数的可靠性,这一指标取决
于多种因素,既与观测值的质量有关,也与观测条件的好坏有关。
RATIO是反映基线质量好坏的最关键值通常情况下要求RATIO值
RATIO 反映了所确定出的整周未知数参数的可靠性,这一指标取决
于多种因素,既与观测值的质量有关,也与观测条件的好坏有关。
RATIO是反映基线质量好坏的最关键值通常情况下要求RATIO值
大于1.8。

View File

@@ -2,11 +2,11 @@ RMS 即均方根误差Root Mean Square
![vTpv](Exported%20image%2020260407225345-0.png)
其中:
V为观测值的残差
P为观测值的权
n-f为观测值的总数减去未知数个数。
RMS表明了观测值的质量。RMS越小观测值质量越好
反之,表明观测值质量越差。它不受观测条件(如卫星分布好坏)的影响。
依照数理统计的理论观测值误差落在1.96 倍RMS 的范围内的概率
其中:
V为观测值的残差
P为观测值的权
n-f为观测值的总数减去未知数个数。
RMS表明了观测值的质量。RMS越小观测值质量越好
反之,表明观测值质量越差。它不受观测条件(如卫星分布好坏)的影响。
依照数理统计的理论观测值误差落在1.96 倍RMS 的范围内的概率
是95%。

View File

@@ -1,8 +1,8 @@
==三台由独立观测获得基线向量构成的闭合环。==
==GPS控制网一般也构成一定的图形涉及如下的概念==
==1、观测时段测站上开始接收卫星信号到观测停止连续工作的时间段简称时段。==
==2、同步观测两台或两台以上接收机同时对同一组卫星进行的观测。==
==3、同步观测环三台或三台以上接收机同步观测获得基线向量构成的闭合环简称同步环。==
==4、独立观测环由独立观测获得基线向量构成的闭合环简称独立环。==
==三台由独立观测获得基线向量构成的闭合环。==
==GPS控制网一般也构成一定的图形涉及如下的概念==
==1、观测时段测站上开始接收卫星信号到观测停止连续工作的时间段简称时段。==
==2、同步观测两台或两台以上接收机同时对同一组卫星进行的观测。==
==3、同步观测环三台或三台以上接收机同步观测获得基线向量构成的闭合环简称同步环。==
==4、独立观测环由独立观测获得基线向量构成的闭合环简称独立环。==
==5、====异步====观测环:在构成多边形环路的所有基线向量中,只要有非同步观测的基线向量,则称该多边形环路为====异步====观测环,简称====异步====环。==
\> 来自 \<[https://zhidao.baidu.com/question/182755838.html](https://zhidao.baidu.com/question/182755838.html)\>
> 来自 <[https://zhidao.baidu.com/question/182755838.html](https://zhidao.baidu.com/question/182755838.html)>

View File

@@ -1,17 +1,17 @@
1、 同步闭合环
同步环闭合差是由同步观测基线所组成的闭合环的闭合差。
由于同步观测基线间具有一定的内在联系,从而使得同步环闭合差在
理论上应总是为0 的。如果同步环闭合差超限,则说明组成同步环的基线
中至少存在一条基线向量是错误的。但反过来,如果同步环闭合差没有超
限,只能认为静态基线在质量上,绝大部分情况下是合格的,还不能说明
组成同步环的所有基线在质量上绝对合格。
2、异步闭合环
不是完全由同步观测基线所组成的闭合环称为异步环。异步环的闭合
差称为异步环闭合差。
当异步环闭合差满足限差要求时,则表明组成异步环的基线向量的质
量是合格的。当异步环闭合差不满足限差要求时,则表明组成异步环的基
线向量中至少有一条基线向量的质量不合格。要确定出哪些基线向量的质
量不合格可以通过多个相邻的异步环或重复基线来进行。
3、重复基线
不同观测时段对相同的两个测站间的观测结果就是所谓重复基线。这
1、 同步闭合环
同步环闭合差是由同步观测基线所组成的闭合环的闭合差。
由于同步观测基线间具有一定的内在联系,从而使得同步环闭合差在
理论上应总是为0 的。如果同步环闭合差超限,则说明组成同步环的基线
中至少存在一条基线向量是错误的。但反过来,如果同步环闭合差没有超
限,只能认为静态基线在质量上,绝大部分情况下是合格的,还不能说明
组成同步环的所有基线在质量上绝对合格。
2、异步闭合环
不是完全由同步观测基线所组成的闭合环称为异步环。异步环的闭合
差称为异步环闭合差。
当异步环闭合差满足限差要求时,则表明组成异步环的基线向量的质
量是合格的。当异步环闭合差不满足限差要求时,则表明组成异步环的基
线向量中至少有一条基线向量的质量不合格。要确定出哪些基线向量的质
量不合格可以通过多个相邻的异步环或重复基线来进行。
3、重复基线
不同观测时段对相同的两个测站间的观测结果就是所谓重复基线。这
些观测结果之间的差异就是重复基线较差。

View File

@@ -1,9 +1,9 @@
闭合差的定义
闭合环路检验是检测基线质量的有力方法。
闭合环可分为同步环、异步环和重复基线。
闭合环的闭合差在理论上应为0在实际测量中允许偏离一定的值
闭合环的限差请参见有关文献。
环的闭和差有以下几类:
闭合差的定义
闭合环路检验是检测基线质量的有力方法。
闭合环可分为同步环、异步环和重复基线。
闭合环的闭合差在理论上应为0在实际测量中允许偏离一定的值
闭合环的限差请参见有关文献。
环的闭和差有以下几类:
1、分量闭合差
![Exported image](Exported%20image%2020260407225348-0.png)

View File

@@ -1,7 +1,7 @@
**一、****FirewallD****简介**
FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。 以前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的连接。
相反firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的所有变更都要通过该守护进程来实现以确保守护进程中的状态和内核里的防火墙是一致的。另外firewall daemon 无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。
守护进程通过 D-BUS 提供当前激活的防火墙设置信息,也通过 D-BUS 接受使用 PolicyKit 认证方式做的更改。
**一、****FirewallD****简介**
FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。 以前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的连接。
相反firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的所有变更都要通过该守护进程来实现以确保守护进程中的状态和内核里的防火墙是一致的。另外firewall daemon 无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。
守护进程通过 D-BUS 提供当前激活的防火墙设置信息,也通过 D-BUS 接受使用 PolicyKit 认证方式做的更改。
**二、****FirewallD****特性**
- 守护进程应用程序、守护进程和用户可以通过 D-BUS 请求启用一个防火墙特性。特性可以是预定义的防火墙功能,如:服务、端口和协议的组合、端口/数据报转发、伪装、ICMP 拦截或自定义规则等。该功能可以启用确定的一段时间也可以再次停用。通过所谓的直接接口,其他的服务(例如 libvirt )能够通过 iptables 变元(arguments)和参数(parameters)增加自己的规则。amanda 、ftp 、samba 和 tftp 服务的 netfilter 防火墙助手也被“守护进程”解决了,只要它们还作为预定义服务的一部分。附加助手的装载不作为当前接口的一部分。由于一些助手只有在由模块控制的所有连接都关闭后才可装载。因而,跟踪连接信息很重要,需要列入考虑范围。
@@ -31,11 +31,11 @@ FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接
- Firewalld命令
#进程与状态相关systemctl start firewalld.service #启动防火墙 systemctl stop firewalld.service #停止防火墙 firewall-cmd --state #查看防火墙状态 firewall-cmd --reload #更新防火墙规则 firewall-cmd --state #查看防火墙状态 firewall-cmd --reload #重载防火墙规则 firewall-cmd --list-ports #查看所有打开的端口 firewall-cmd --list-services #查看所有允许的服务 firewall-cmd --get-services #获取所有支持的服务
#区域相关firewall-cmd --list-all-zones #查看所有区域信息 firewall-cmd --get-active-zones #查看活动区域信息 firewall-cmd --set-default-zone=public #设置public为默认区域 firewall-cmd --get-default-zone #查看默认区域信息 firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public
#接口相关firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0 firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域
#端口控制firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(区域public)firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久删除80端口例外(区域public)firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(区域public)
# 进程与状态相关systemctl start firewalld.service #启动防火墙 systemctl stop firewalld.service #停止防火墙 firewall-cmd --state #查看防火墙状态 firewall-cmd --reload #更新防火墙规则 firewall-cmd --state #查看防火墙状态 firewall-cmd --reload #重载防火墙规则 firewall-cmd --list-ports #查看所有打开的端口 firewall-cmd --list-services #查看所有允许的服务 firewall-cmd --get-services #获取所有支持的服务
# 区域相关firewall-cmd --list-all-zones #查看所有区域信息 firewall-cmd --get-active-zones #查看活动区域信息 firewall-cmd --set-default-zone=public #设置public为默认区域 firewall-cmd --get-default-zone #查看默认区域信息 firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public
# 接口相关firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0 firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域
# 端口控制firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(区域public)firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久删除80端口例外(区域public)firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(区域public)
**注:如果某个接口不属于任何****Zone****,那么这个接口的所有数据包使用默认的****Zone****的规则。**
- 命令含义:--zone #作用域--add-port=80/tcp #添加端口,格式为:端口/通讯协议--permanent #永久生效,没有此参数重启后失效
@@ -46,8 +46,8 @@ systemctl start firewalld.service #启动服务systemctl stop firewalld.servi
- 关闭CentOS7自带Firewall启用iptables
yum install iptables-services #安装iptables systemctl stop firewalld.service #停止firewalld systemctl mask firewalld.service #禁止自动和手动启动firewalld systemctl start iptables.service #启动iptablessystemctl start ip6tables.service #启动ip6tables systemctl enable iptables.service #设置iptables自启动 systemctl enable ip6tables.service #设置ip6tables自启动 注:静态防火墙规则配置文件是 /etc/sysconfig/iptables 以及 /etc/sysconfig/ip6tables
作者:风吹我已散博客
链接https://www.jianshu.com/p/a2e8829aa50e
来源:简书
作者:风吹我已散博客
链接https://www.jianshu.com/p/a2e8829aa50e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

View File

@@ -1,39 +1,39 @@
**NTP****简介:**
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
在计算机的世界里,时间非常地重要
例如对于火箭发射这种科研活动对时间的统一性和准确性要求就非常地高是按照A这台计算机的时间还是按照B这台计算机的时间
NTP就是用来解决这个问题的NTPNetwork Time Protocol网络时间协议是用来使网络中的各个计算机时间同步的一种协议。
它的用途是把计算机的时钟同步到世界协调时UTC其精度在局域网内可达0.1ms在互联网上绝大多数的地方其精度可以达到1-50ms。
它可以使计算机对其服务器或时钟源如石英钟GPS等等进行时间同步它可以提供高精准度的时间校正而且可以使用加密确认的方式来防止病毒的协议攻击。
 
**环境:**
==系统:====CentOS Linux release 7.4.1708 (Core)== 
==NTP Server====服务器====IP========192.168.0.15==
==NTP Client====客户端====IP========192.168.0.16==
 
**1****、搭建****NTP****服务器**
**1.1****、查看服务器是否安装****ntp****,系统默认安装****ntpdate******
[root@localhost ~]# rpm -qa |grep ntpntpdate-4.2.6p5-28.el7.centos.x86_64ntp-4.2.6p5-28.el7.centos.x86_64
**1.2****、安装****ntp********ntpdate****已经系统默认安装过了**
[root@localhost ~]# yum install -y ntp
**NTP****简介:**
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
在计算机的世界里,时间非常地重要
例如对于火箭发射这种科研活动对时间的统一性和准确性要求就非常地高是按照A这台计算机的时间还是按照B这台计算机的时间
NTP就是用来解决这个问题的NTPNetwork Time Protocol网络时间协议是用来使网络中的各个计算机时间同步的一种协议。
它的用途是把计算机的时钟同步到世界协调时UTC其精度在局域网内可达0.1ms在互联网上绝大多数的地方其精度可以达到1-50ms。
它可以使计算机对其服务器或时钟源如石英钟GPS等等进行时间同步它可以提供高精准度的时间校正而且可以使用加密确认的方式来防止病毒的协议攻击。
**环境:**
==系统:====CentOS Linux release 7.4.1708 (Core)==
==NTP Server====服务器====IP========192.168.0.15==
==NTP Client====客户端====IP========192.168.0.16==
**1****、搭建****NTP****服务器**
**1.1****、查看服务器是否安装****ntp****,系统默认安装****ntpdate******
[root@localhost ~]# rpm -qa |grep ntpntpdate-4.2.6p5-28.el7.centos.x86_64ntp-4.2.6p5-28.el7.centos.x86_64
**1.2****、安装****ntp********ntpdate****已经系统默认安装过了**
[root@localhost ~]# yum install -y ntp
**1.3****、修改****ntp****配置文件**
[![Exported image](Exported%20image%2020260407231343-0.gif)](javascript:void\(0\);)
[root@localhost ~]# vim /etc/ntp.conf
[root@localhost ~]# vim /etc/ntp.conf
把配置文件下面四行注释掉server 0.cn.pool.ntp.org iburstserver 1.cn.pool.ntp.org iburstserver 2.cn.pool.ntp.org iburstserver 3.cn.pool.ntp.org iburst然后在下面添加这几行server 0.cn.pool.ntp.org iburstserver 1.cn.pool.ntp.org iburstserver 2.cn.pool.ntp.org iburstserver 3.cn.pool.ntp.org iburst
[![Exported image](Exported%20image%2020260407231344-1.gif)](javascript:void\(0\);)
**1.4****、启动****ntp****服务,并开机自启动**
[root@localhost ~]# systemctl start ntpd[root@localhost ~]# systemctl enable ntpd
**1.5****、查询****ntp****是否同步**
[root@localhost ~]# ntpq -p remote refid st t when poll reach delay offset jitter==============================================================================*119.28.206.193 100.122.36.196 2 u 128 128 377 19.711 -0.468 5.363
**1.6****、开启防火墙****ntp****默认端口****udp123**
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=123/udpsuccess[root@localhost ~]# firewall-cmd --reloadsuccess
 
**2****、****NTP****客户端配置**
安装的NTP跟上面的步骤一样
**1.4****、启动****ntp****服务,并开机自启动**
[root@localhost ~]# systemctl start ntpd[root@localhost ~]# systemctl enable ntpd
**1.5****、查询****ntp****是否同步**
[root@localhost ~]# ntpq -p remote refid st t when poll reach delay offset jitter==============================================================================*119.28.206.193 100.122.36.196 2 u 128 128 377 19.711 -0.468 5.363
**1.6****、开启防火墙****ntp****默认端口****udp123**
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=123/udpsuccess[root@localhost ~]# firewall-cmd --reloadsuccess
**2****、****NTP****客户端配置**
安装的NTP跟上面的步骤一样
**2.1****、修改****ntp****配置文件,将上面的****NTP****服务器作为客户端同步****NTP****时间服务器**
[![Exported image](Exported%20image%2020260407231346-2.gif)](javascript:void\(0\);)
@@ -42,9 +42,9 @@ NTP就是用来解决这个问题的NTPNetwork Time Protocol网络时
[![Exported image](Exported%20image%2020260407231348-3.gif)](javascript:void\(0\);)
**2.2****、与****NTP server****服务器同步一下时间:**
[root@localhost ~]# ntpdate -u 192.168.0.15
**2.3****、查看****ntp****同步状态**
能看到已经成功同步要记得开启ntpd这个服务器
**2.2****、与****NTP server****服务器同步一下时间:**
[root@localhost ~]# ntpdate -u 192.168.0.15
**2.3****、查看****ntp****同步状态**
能看到已经成功同步要记得开启ntpd这个服务器
[root@localhost ~]# ntpq -p remote refid st t when poll reach delay offset jitter============================================================================== 192.168.0.15 119.28.206.193 3 u 7 64 1 0.217 -288085 0.000
\> 来自 \<[https://www.cnblogs.com/Sungeek/p/10197345.html](https://www.cnblogs.com/Sungeek/p/10197345.html)\>
> 来自 <[https://www.cnblogs.com/Sungeek/p/10197345.html](https://www.cnblogs.com/Sungeek/p/10197345.html)>

View File

@@ -1,56 +1,56 @@
openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout ca.key \
-x509 -days 3650 -out ca.crt \
openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout ca.key \
-x509 -days 3650 -out ca.crt \
-subj "/C=CN/ST=Guangdong/L=Guangzhou/O=zhdgps/OU=IT/CN=test/emailAddress=11111111@qq.com"
openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout harbor-registry.key \
-out harbor-registry.csr \
openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout harbor-registry.key \
-out harbor-registry.csr \
-subj "/C=CN/ST=Guangdong/L=Guangzhou/O=zhdgps/OU=IT/CN=10.10.200.175/emailAddress=974418136@qq.com"
echo subjectAltName = IP:10.10.200.175 \> extfile.cnf
echo subjectAltName = IP:10.10.200.175 > extfile.cnf
openssl x509 -req -days 3650 -in harbor-registry.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor-registry.crt
==因为Harbor发布时默认并不包含certificates并使用http来提供registry请求服务。然而我们建议在实际的生产环境中还是要使用安全的https。Harbor有一个Nginx实例以作为其他所有服务的反向代理。可以使用prepare脚本来配置Nginx以支持https。==
**1. 停止Harbor**
==上一章我们使用的是Harbor默认的http方式工作这里我们首先将Harbor停止并删除掉原有的一些数据以恢复到一个干净的环境==
==# docker-compose down -v========# ls /data/*========# rm -rf /data/database========# rm -rf /data/registry========# rm -rf /data/*========# rm -rf /var/log/harbor*========#== ====
==注意可能是因为目前Harbor工作负载过重导致上面调用====docker-compose down -v====经常会失败,可用如下方式来停止:==
==# docker ps | grep -v CONTAINER | grep -v docs | awk '{print $1'} | xargs docker stop========# docker ps | grep -v CONTAINER | grep -v docs | awk '{print $1'} | xargs docker rm -vf==
**2. 获取证书**
==这里假设你的registry主机名为====reg.yourdomain.com====并且通过DNS记录能够找到你运行Harbor的主机。首先你应该从CA处获得一个certificate。该certificate通常包含一个====a.crt====文件和一个====a.key====文件,例如:====yourdomain.com.crt====以及====yourdomain.com.key====。==
==在测试或开发环境下你也许会使用一个自签名证书而不是从CA那里获取。可以通过如下的命令产生你自己的证书==
**2.1 创建自签名根证书**
==可以通过如下的方式来产生一个====私钥====及====自签名证书====:==
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout ca.key \====== ==-x509 -days 365 -out ca.crt======
**2.2 产生证书签名请求**
==假如你使用类似于====reg.yourdomain.com====的FQDN(Fully Qualified Domain Name)方式来连接registry主机则你必须使用====reg.yourdomain.com====来作为CN(Common Name)。否则假如你使用IP地址来连接你的registry主机的话CN可以指定为任何值例如指定为你的名字==
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout yourdomain.com.key \====== ==-out yourdomain.com.csr======
**2.3 为registry主机产生证书**
==假如你使用类似于====reg.yourdomain.com====的FQDN(Full Qualified Domain Name)方式来连接registry主机你可以使用如下的命令来为registry主机产生证书==
==# openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out yourdomain.com.crt======
==假如你是使用ip的话 比如使用====192.168.1.101====来连接registry主机的话你需要使用如下命令==
==# echo subjectAltName = IP:192.168.1.101 \> extfile.cnf======
==# openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out yourdomain.com========.crt==
**3. 配置与安装**
==在你获得====yourdomain.com.crt====与====yourdomain.com.key====文件之后,你可以将它们放到一个目录,比如====/root/cert/====:==
==# cp yourdomain.com.crt /root/cert/========# cp yourdomain.com.key /root/cert/== ====
==然后修改====harbor.cfg====配置文件更新hostname及protocol然后更新====ssl_cert====及====ssl_cert_key======
==#set hostname========hostname = reg.yourdomain.com========#set ui_url_protocol========ui_url_protocol = https========......========#The path of cert and key files for nginx, they are applied only the protocol is set to https== ======ssl_cert = /root/cert/yourdomain.com.crt========ssl_cert_key = /root/cert/yourdomain.com.key======
==然后再执行如下命令为Harbor产生配置文件==
==# ./prepare======
==假如当前====Harbor====正在运行的话,停止并移除当前的运行实例。通过如下方式你的====image data====仍会保留在文件系统中:==
==# docker-compose down======
==最后重启Harbor。==
==因为Harbor发布时默认并不包含certificates并使用http来提供registry请求服务。然而我们建议在实际的生产环境中还是要使用安全的https。Harbor有一个Nginx实例以作为其他所有服务的反向代理。可以使用prepare脚本来配置Nginx以支持https。==
**1. 停止Harbor**
==上一章我们使用的是Harbor默认的http方式工作这里我们首先将Harbor停止并删除掉原有的一些数据以恢复到一个干净的环境==
==# docker-compose down -v========# ls /data/*========# rm -rf /data/database========# rm -rf /data/registry========# rm -rf /data/*========# rm -rf /var/log/harbor*========#== ====
==注意可能是因为目前Harbor工作负载过重导致上面调用====docker-compose down -v====经常会失败,可用如下方式来停止:==
==# docker ps | grep -v CONTAINER | grep -v docs | awk '{print $1'} | xargs docker stop========# docker ps | grep -v CONTAINER | grep -v docs | awk '{print $1'} | xargs docker rm -vf==
**2. 获取证书**
==这里假设你的registry主机名为====reg.yourdomain.com====并且通过DNS记录能够找到你运行Harbor的主机。首先你应该从CA处获得一个certificate。该certificate通常包含一个====a.crt====文件和一个====a.key====文件,例如:====yourdomain.com.crt====以及====yourdomain.com.key====。==
==在测试或开发环境下你也许会使用一个自签名证书而不是从CA那里获取。可以通过如下的命令产生你自己的证书==
**2.1 创建自签名根证书**
==可以通过如下的方式来产生一个====私钥====及====自签名证书====:==
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout ca.key \====== ==-x509 -days 365 -out ca.crt======
**2.2 产生证书签名请求**
==假如你使用类似于====reg.yourdomain.com====的FQDN(Fully Qualified Domain Name)方式来连接registry主机则你必须使用====reg.yourdomain.com====来作为CN(Common Name)。否则假如你使用IP地址来连接你的registry主机的话CN可以指定为任何值例如指定为你的名字==
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout yourdomain.com.key \====== ==-out yourdomain.com.csr======
**2.3 为registry主机产生证书**
==假如你使用类似于====reg.yourdomain.com====的FQDN(Full Qualified Domain Name)方式来连接registry主机你可以使用如下的命令来为registry主机产生证书==
==# openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out yourdomain.com.crt======
==假如你是使用ip的话 比如使用====192.168.1.101====来连接registry主机的话你需要使用如下命令==
==# echo subjectAltName = IP:192.168.1.101 > extfile.cnf======
==# openssl x509 -req -days 365 -in yourdomain.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out yourdomain.com========.crt==
**3. 配置与安装**
==在你获得====yourdomain.com.crt====与====yourdomain.com.key====文件之后,你可以将它们放到一个目录,比如====/root/cert/====:==
==# cp yourdomain.com.crt /root/cert/========# cp yourdomain.com.key /root/cert/== ====
==然后修改====harbor.cfg====配置文件更新hostname及protocol然后更新====ssl_cert====及====ssl_cert_key======
==#set hostname========hostname = reg.yourdomain.com========#set ui_url_protocol========ui_url_protocol = https========......========#The path of cert and key files for nginx, they are applied only the protocol is set to https== ======ssl_cert = /root/cert/yourdomain.com.crt========ssl_cert_key = /root/cert/yourdomain.com.key======
==然后再执行如下命令为Harbor产生配置文件==
==# ./prepare======
==假如当前====Harbor====正在运行的话,停止并移除当前的运行实例。通过如下方式你的====image data====仍会保留在文件系统中:==
==# docker-compose down======
==最后重启Harbor。==
==在设置了====https====之后,你可以通过如下的步骤来进行验证:==
- ==打开浏览器输入访问地址====https://reg.yourdomain.com====就会显示出Harbor的 UI界面==
- ==在安装有docker daemon的机器上请确保没有====--insecure-registry====设置),你必须拷贝上述步骤所产生的====ca.crt====到====/etc/docker/certs.d/reg.yourdomain.com====目录(或者====registry host IP====目录)。假如该目录并不存在的话请创建该目录。假如你将nginx 443端口映射到了其他端口的话则你必须创建====/etc/docker/certs.d/reg.yourdomain.com:port====目录(或者====registry host IP:port====目录然后运行相应的docker命令行来验证https是否工作正常==
==# docker login reg.yourdomain.com======
==假如你已经将nginx 443端口映射到了其他端口的话你需要在登录时添加相应的端口例如==
==# docker login reg.yourdomain.com:port======
**4. Troubleshooting**
==1) 你也许从一个certificate issuer处获得了一个intermediate certificate。在这种情况下你可以将该intermediate certificate与你自己的certificate合并创建出一个certificate bundle。你可以通过如下命令来实现==
==# cat intermediate-certificate.pem \>\> yourdomain.com.crt==
==# docker login reg.yourdomain.com======
==假如你已经将nginx 443端口映射到了其他端口的话你需要在登录时添加相应的端口例如==
==# docker login reg.yourdomain.com:port======
**4. Troubleshooting**
==1) 你也许从一个certificate issuer处获得了一个intermediate certificate。在这种情况下你可以将该intermediate certificate与你自己的certificate合并创建出一个certificate bundle。你可以通过如下命令来实现==
==# cat intermediate-certificate.pem >> yourdomain.com.crt==
==2) 在有一些docker daemon运行的操作系统上你也许需要在操作系统级别信任该证书==
- ==在Ubuntu操作系统上你可以通过如下命令来完成==
@@ -59,35 +59,35 @@ openssl req \
- ==在Redhat(Centos等操作系统上你可以通过如下命令来完成==
==# cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/reg.yourdomain.com.crt========# update-ca-trust======
**5. 部署示例**
==我们当前部署环境ip地址为====192.168.69.128==
**5.1 获得证书文件**
**1) 产生根证书**
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout ca.key \====== ==-x509 -days 365 -out ca.crt \====== ==-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=test_company/OU=IT/CN=test/emailAddress=11111111@qq.com"======
==# ls========ca.crt ca.key======
**2) 产生证书签名请求**
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout harbor-registry.key \====== ==-out harbor-registry.csr \====== ==-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=test_company/OU=IT/CN=192.168.69.128/emailAddress=11111111@qq.com"======
==# ls========ca.crt ca.key harbor-registry.csr harbor-registry.key======
**3) 为registry产生证书**
==# echo subjectAltName = IP:192.168.69.128 \> extfile.cnf======
==# openssl x509 -req -days 365 -in harbor-registry.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor-registry.crt======
==# ls========ca.crt ca.key ca.srl extfile.cnf harbor-registry.crt harbor-registry.csr harbor-registry.key==
**5.2 配置及安装**
==1) 拷贝harbor-registry证书到====/opt/cert====目录==
==# mkdir -p /opt/cert========# cp harbor-registry.crt /opt/cert/========# cp harbor-registry.key /opt/cert/======
==2) 修改harbor.cfg配置文件==
==#set hostname========hostname = 192.168.69.128========#set ui_url_protocol========ui_url_protocol = https========......========#The path of cert and key files for nginx, they are applied only the protocol is set to https== ======ssl_cert = /opt/cert/harbor-registry.crt========ssl_cert_key = /opt/cert/harbor-registry.key======
==3) 重新产生配置文件==
==# ./prepare======
==4) 关闭harbor==
==# docker-compose down== ====
==5) 查看docker daemon是否有====--insecure-registry====选项==
==如果仍有该选项请将其去掉并执行如下命令重启docker daemon:==
==# systemctl daemon-reload========# systemctl restart docker======
==6) 重启Harbor==
==# docker-compose up -d========Creating network "harbor_harbor" with the default driver========Creating harbor-log ... done========Creating registry ... done========Creating harbor-adminserver ... done========Creating harbor-db ... done========Creating harbor-ui ... done========Creating harbor-jobservice ... done========Creating nginx ... done======
==# docker ps========CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES========c7b4d837fefc vmware/nginx-photon:v1.4.0 "nginx -g 'daemon of…" 6 seconds ago Up 3 seconds 0.0.0.0:80-\>80/tcp, 0.0.0.0:443-\>443/tcp, 0.0.0.0:4443-\>4443/tcp nginx========257ec984fc98 vmware/harbor-jobservice:v1.4.0 "/harbor/start.sh" 6 seconds ago Up 4 seconds (health: starting) harbor-jobservice========331fe98b1623 vmware/harbor-ui:v1.4.0 "/harbor/start.sh" 8 seconds ago Up 5 seconds (health: starting) harbor-ui========d155d8a3cf00 vmware/harbor-db:v1.4.0 "/usr/local/bin/dock…" 10 seconds ago Up 7 seconds (health: starting) 3306/tcp harbor-db========183a8f508491 vmware/harbor-adminserver:v1.4.0 "/harbor/start.sh" 10 seconds ago Up 7 seconds (health: starting) harbor-adminserver========579642c3cecc vmware/registry-photon:v2.6.2-v1.4.0 "/entrypoint.sh serv…" 10 seconds ago Up 7 seconds (health: starting) 5000/tcp registry========06a1618f789e vmware/harbor-log:v1.4.0 "/bin/sh -c /usr/loc…" 10 seconds ago Up 9 seconds (health: starting) 127.0.0.1:1514-\>10514/tcp harbor-log======
==# cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/reg.yourdomain.com.crt========# update-ca-trust======
**5. 部署示例**
==我们当前部署环境ip地址为====192.168.69.128==
**5.1 获得证书文件**
**1) 产生根证书**
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout ca.key \====== ==-x509 -days 365 -out ca.crt \====== ==-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=test_company/OU=IT/CN=test/emailAddress=11111111@qq.com"======
==# ls========ca.crt ca.key======
**2) 产生证书签名请求**
==# openssl req \====== ==-newkey rsa:4096 -nodes -sha256 -keyout harbor-registry.key \====== ==-out harbor-registry.csr \====== ==-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=test_company/OU=IT/CN=192.168.69.128/emailAddress=11111111@qq.com"======
==# ls========ca.crt ca.key harbor-registry.csr harbor-registry.key======
**3) 为registry产生证书**
==# echo subjectAltName = IP:192.168.69.128 > extfile.cnf======
==# openssl x509 -req -days 365 -in harbor-registry.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor-registry.crt======
==# ls========ca.crt ca.key ca.srl extfile.cnf harbor-registry.crt harbor-registry.csr harbor-registry.key==
**5.2 配置及安装**
==1) 拷贝harbor-registry证书到====/opt/cert====目录==
==# mkdir -p /opt/cert========# cp harbor-registry.crt /opt/cert/========# cp harbor-registry.key /opt/cert/======
==2) 修改harbor.cfg配置文件==
==#set hostname========hostname = 192.168.69.128========#set ui_url_protocol========ui_url_protocol = https========......========#The path of cert and key files for nginx, they are applied only the protocol is set to https== ======ssl_cert = /opt/cert/harbor-registry.crt========ssl_cert_key = /opt/cert/harbor-registry.key======
==3) 重新产生配置文件==
==# ./prepare======
==4) 关闭harbor==
==# docker-compose down== ====
==5) 查看docker daemon是否有====--insecure-registry====选项==
==如果仍有该选项请将其去掉并执行如下命令重启docker daemon:==
==# systemctl daemon-reload========# systemctl restart docker======
==6) 重启Harbor==
==# docker-compose up -d========Creating network "harbor_harbor" with the default driver========Creating harbor-log ... done========Creating registry ... done========Creating harbor-adminserver ... done========Creating harbor-db ... done========Creating harbor-ui ... done========Creating harbor-jobservice ... done========Creating nginx ... done======
==# docker ps========CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES========c7b4d837fefc vmware/nginx-photon:v1.4.0 "nginx -g 'daemon of…" 6 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx========257ec984fc98 vmware/harbor-jobservice:v1.4.0 "/harbor/start.sh" 6 seconds ago Up 4 seconds (health: starting) harbor-jobservice========331fe98b1623 vmware/harbor-ui:v1.4.0 "/harbor/start.sh" 8 seconds ago Up 5 seconds (health: starting) harbor-ui========d155d8a3cf00 vmware/harbor-db:v1.4.0 "/usr/local/bin/dock…" 10 seconds ago Up 7 seconds (health: starting) 3306/tcp harbor-db========183a8f508491 vmware/harbor-adminserver:v1.4.0 "/harbor/start.sh" 10 seconds ago Up 7 seconds (health: starting) harbor-adminserver========579642c3cecc vmware/registry-photon:v2.6.2-v1.4.0 "/entrypoint.sh serv…" 10 seconds ago Up 7 seconds (health: starting) 5000/tcp registry========06a1618f789e vmware/harbor-log:v1.4.0 "/bin/sh -c /usr/loc…" 10 seconds ago Up 9 seconds (health: starting) 127.0.0.1:1514->10514/tcp harbor-log======
==7) 通过https形式访问Harbor==
- ==通过浏览器访问==
@@ -96,32 +96,32 @@ openssl req \
- ==通过docker命令来访问==
==首先新建====/etc/docker/certs.d/192.168.69.128====目录,然后将上面产生的====ca.crt====拷贝到该目录:==
==# mkdir -p /etc/docker/certs.d/192.168.69.128========# cp ca.crt /etc/docker/certs.d/192.168.69.128/======
==然后登录到docker registry:==
==# docker login 192.168.69.128========Username (admin): admin========Password:== ======Login Succeeded======
==用向====registry====中上传一个镜像:==
==# docker images========192.168.69.128/library/redis alpine c27f56585938 3 weeks ago 27.7MB======
==首先新建====/etc/docker/certs.d/192.168.69.128====目录,然后将上面产生的====ca.crt====拷贝到该目录:==
==# mkdir -p /etc/docker/certs.d/192.168.69.128========# cp ca.crt /etc/docker/certs.d/192.168.69.128/======
==然后登录到docker registry:==
==# docker login 192.168.69.128========Username (admin): admin========Password:== ======Login Succeeded======
==用向====registry====中上传一个镜像:==
==# docker images========192.168.69.128/library/redis alpine c27f56585938 3 weeks ago 27.7MB======
==[root@localhost test]# docker push 192.168.69.128/library/redis:alpine========The push refers to repository [192.168.69.128/library/redis]========f6b9463783dc: Pushed== ======222a85888a99: Pushed== ======1925395eabdd: Pushed== ======c3d278563734: Pushed== ======ad9247fe8c63: Pushed== ======cd7100a72410: Pushed== ======alpine: digest: sha256:9d017f829df3d0800f2a2582c710143767f6dda4df584b708260e73b1a1b6db3 size: 1568======
- ==通过curl命令来访问 registry API版本号==
==查询registry API版本号==
==# curl -iL -X GET== ==https://192.168.69.128/v2== ==--cacert ca.crt========HTTP/1.1 301 Moved Permanently========Server: nginx========Date: Tue, 10 Apr 2018 09:33:39 GMT========Content-Type: text/html========Content-Length: 178========Location:== ==https://192.168.69.128/v2/========Connection: keep-alive======
==HTTP/1.1 401 Unauthorized========Server: nginx========Date: Tue, 10 Apr 2018 09:33:39 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 87========Connection: keep-alive========Docker-Distribution-Api-Version: registry/2.0========Set-Cookie: beegosessionID=575f32ac760f52c8cf1cdb748e48ab5e; Path=/; HttpOnly========Www-Authenticate: Bearer realm="https://192.168.69.128/service/token",service="harbor-registry"======
=={"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}======
==# curl -iL -X GET -u admin:Harbor12345== ==https://192.168.69.128/service/token?account=admin\&service=harbor-registry== ==--cacert ca.crt========HTTP/1.1 200 OK========Server: nginx========Date: Tue, 10 Apr 2018 09:34:39 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 1100========Connection: keep-alive========Set-Cookie: beegosessionID=77bc62dcdc4a810a0e208487a89f069a; Path=/; HttpOnly======
=={====== =="token": "nHLZqMPw",====== =="expires_in": 1800,====== =="issued_at": "2018-04-10T09:34:39Z"========}======
==# curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer nHLZqMPw"== ==https://192.168.69.128/v2== ==--cacert ca.crt========HTTP/1.1 301 Moved Permanently========Server: nginx========Date: Tue, 10 Apr 2018 09:36:48 GMT========Content-Type: text/html========Content-Length: 178========Location:== ==https://192.168.69.128/v2/========Connection: keep-alive======
==HTTP/1.1 200 OK========Server: nginx========Date: Tue, 10 Apr 2018 09:36:48 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 2========Connection: keep-alive========Docker-Distribution-Api-Version: registry/2.0========Set-Cookie: beegosessionID=e651b65d891617a999254ec875c1c63c; Path=/; HttpOnly======
==查询registry API版本号==
==# curl -iL -X GET== ==https://192.168.69.128/v2== ==--cacert ca.crt========HTTP/1.1 301 Moved Permanently========Server: nginx========Date: Tue, 10 Apr 2018 09:33:39 GMT========Content-Type: text/html========Content-Length: 178========Location:== ==https://192.168.69.128/v2/========Connection: keep-alive======
==HTTP/1.1 401 Unauthorized========Server: nginx========Date: Tue, 10 Apr 2018 09:33:39 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 87========Connection: keep-alive========Docker-Distribution-Api-Version: registry/2.0========Set-Cookie: beegosessionID=575f32ac760f52c8cf1cdb748e48ab5e; Path=/; HttpOnly========Www-Authenticate: Bearer realm="https://192.168.69.128/service/token",service="harbor-registry"======
=={"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}======
==# curl -iL -X GET -u admin:Harbor12345== ==https://192.168.69.128/service/token?account=admin\&service=harbor-registry== ==--cacert ca.crt========HTTP/1.1 200 OK========Server: nginx========Date: Tue, 10 Apr 2018 09:34:39 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 1100========Connection: keep-alive========Set-Cookie: beegosessionID=77bc62dcdc4a810a0e208487a89f069a; Path=/; HttpOnly======
=={====== =="token": "nHLZqMPw",====== =="expires_in": 1800,====== =="issued_at": "2018-04-10T09:34:39Z"========}======
==# curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer nHLZqMPw"== ==https://192.168.69.128/v2== ==--cacert ca.crt========HTTP/1.1 301 Moved Permanently========Server: nginx========Date: Tue, 10 Apr 2018 09:36:48 GMT========Content-Type: text/html========Content-Length: 178========Location:== ==https://192.168.69.128/v2/========Connection: keep-alive======
==HTTP/1.1 200 OK========Server: nginx========Date: Tue, 10 Apr 2018 09:36:48 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 2========Connection: keep-alive========Docker-Distribution-Api-Version: registry/2.0========Set-Cookie: beegosessionID=e651b65d891617a999254ec875c1c63c; Path=/; HttpOnly======
==上面为了显示,我们对返回过来的====token====做了适当的裁剪。此外这里====curl====命令不适用====-k====选项,表示需要对服务器证书进行检查。==
- ==通过curl来访问registry中的镜像列表==
==# curl -iL -X GET -u admin:Harbor12345== ==https://192.168.69.128/service/token?account=admin\&service=harbor-registry\&scope=registry:catalog:*== ==--cacert ca.crt========HTTP/1.1 200 OK========Server: nginx========Date: Mon, 09 Apr 2018 09:33:52 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 1166========Connection: keep-alive========Set-Cookie: beegosessionID=648fd5a5ec4f06389d45c02f7f5971b4; Path=/; HttpOnly======
=={====== =="token": "A7yfEdUBYD3bDhLM",====== =="expires_in": 1800,====== =="issued_at": "2018-04-09T09:33:52Z"========}======
==# curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer LA7yfEdUBYD3bDhLM"== ==http://192.168.69.128/v2/_catalog== ==--cacert ca.crt========HTTP/1.1 200 OK========Server: nginx========Date: Mon, 09 Apr 2018 09:36:35 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 34========Connection: keep-alive========Docker-Distribution-Api-Version: registry/2.0========Set-Cookie: beegosessionID=1b84e760ab0234045f06680e56e28818; Path=/; HttpOnly======
=={"repositories":["library/redis"]}======
==# curl -iL -X GET -u admin:Harbor12345== ==https://192.168.69.128/service/token?account=admin\&service=harbor-registry\&scope=registry:catalog:*== ==--cacert ca.crt========HTTP/1.1 200 OK========Server: nginx========Date: Mon, 09 Apr 2018 09:33:52 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 1166========Connection: keep-alive========Set-Cookie: beegosessionID=648fd5a5ec4f06389d45c02f7f5971b4; Path=/; HttpOnly======
=={====== =="token": "A7yfEdUBYD3bDhLM",====== =="expires_in": 1800,====== =="issued_at": "2018-04-09T09:33:52Z"========}======
==# curl -iL -X GET -H "Content-Type: application/json" -H "Authorization: Bearer LA7yfEdUBYD3bDhLM"== ==http://192.168.69.128/v2/_catalog== ==--cacert ca.crt========HTTP/1.1 200 OK========Server: nginx========Date: Mon, 09 Apr 2018 09:36:35 GMT========Content-Type: application/json; charset=utf-8========Content-Length: 34========Connection: keep-alive========Docker-Distribution-Api-Version: registry/2.0========Set-Cookie: beegosessionID=1b84e760ab0234045f06680e56e28818; Path=/; HttpOnly======
=={"repositories":["library/redis"]}======
==上面为了显示,我们对返回过来的====token====做了适当的裁剪。此外这里====curl====命令不适用====-k====选项,表示需要对服务器证书进行检查。==
\> 来自 \<[https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https](https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https)\>
\> 来自 \<[https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https](https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https)\>
> 来自 <[https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https](https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https)>
> 来自 <[https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https](https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https)>

View File

@@ -1,20 +1,20 @@
J==enkins是开源的,使用Java编写的持续集成的工具在Centos上可以通过yum命令行直接安装。记录下安装的过程方便以后查找。==
==安装 java==
==$ sudo yum== ==install== ==-y== ==java========......==
==安装Jenkins==
==$ sudo wget -O /etc/yum.repos.d/jenkins.repo== ==http:====//jenkins-ci.org/redhat/jenkins.repo========$ sudo rpm --====import== ==http:====//pkg.jenkins-ci.org/redhat/jenkins-ci.org.key========$ sudo yum install -y jenkins========......==
==配置==
==Jenkins 的安装目录是:/var/lib/jenkins/==
==Jenkins 的皮遏制文件地址:/etc/sysconfig/jenkins==
==这里介绍下三个比较重要的配置:==
==JENKINS_HOME==
==JENKINS_USER==
==JENKINS_PORT==
==JENKINS_HOME是Jenkins的主目录Jenkins工作的目录都放在这里,Jenkins储存文件的地址,Jenkins的插件生成的文件都在这个目录下。==
==JENKINS_USER是Jenkins的用户拥有$JENKINS_HOME和/var/log/jenkins的权限。==
==JENKINS_PORT是Jenkins的端口默认端口是8080为了和别的系统占用端口冲突建议改变。==
==授权==
==有时候Jenkins需要操作别的用户的文件或者执行脚本那么就得有对应的权限比如Jenkins用户执行docker命令进行镜像制作与上传用如下的命令即可。==
==$ sudo usermod -a -G docker jenkins==
==启动 Jenkins==
J==enkins是开源的,使用Java编写的持续集成的工具在Centos上可以通过yum命令行直接安装。记录下安装的过程方便以后查找。==
==安装 java==
==$ sudo yum== ==install== ==-y== ==java========......==
==安装Jenkins==
==$ sudo wget -O /etc/yum.repos.d/jenkins.repo== ==http:====//jenkins-ci.org/redhat/jenkins.repo========$ sudo rpm --====import== ==http:====//pkg.jenkins-ci.org/redhat/jenkins-ci.org.key========$ sudo yum install -y jenkins========......==
==配置==
==Jenkins 的安装目录是:/var/lib/jenkins/==
==Jenkins 的皮遏制文件地址:/etc/sysconfig/jenkins==
==这里介绍下三个比较重要的配置:==
==JENKINS_HOME==
==JENKINS_USER==
==JENKINS_PORT==
==JENKINS_HOME是Jenkins的主目录Jenkins工作的目录都放在这里,Jenkins储存文件的地址,Jenkins的插件生成的文件都在这个目录下。==
==JENKINS_USER是Jenkins的用户拥有$JENKINS_HOME和/var/log/jenkins的权限。==
==JENKINS_PORT是Jenkins的端口默认端口是8080为了和别的系统占用端口冲突建议改变。==
==授权==
==有时候Jenkins需要操作别的用户的文件或者执行脚本那么就得有对应的权限比如Jenkins用户执行docker命令进行镜像制作与上传用如下的命令即可。==
==$ sudo usermod -a -G docker jenkins==
==启动 Jenkins==
$ systemctl enable jenkins # 开机启动$ systemctl start jenkins # 启动jenkins

View File

@@ -1,148 +1,148 @@
==一、前言==
==安全增强型 LinuxSecurity-Enhanced Linux简称 SELinux它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。==
==SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。==
==SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。==
==如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达"坚不可摧"的地步了(请永远记住没有绝对的安全)。==
==掌握 SELinux 的基本概念以及简单的配置方法是每个 Linux 系统管理员的必修课。==
==本文均在 CentOS 7.4.1708 系统中操作。==
==本文纯属个人学习经验分享交流,出错再所难免,仅供参考!如果发现错误的地方,可以的话麻烦指点下,特别感谢!==
==二、SELinux 的作用及权限管理机制==
==2.1 SELinux 的作用==
==SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。==
==设想一下,如果一个以 root 身份运行的网络服务存在 0day 漏洞,黑客就可以利用这个漏洞,以 root 的身份在您的服务器上为所欲为了。是不是很可怕?==
==SELinux 就是来解决这个问题的。==
==2.2 DAC==
==在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(读、写、执行)。==
==只要访问这个资源的进程符合以上的条件就可以被访问。==
==而最致命问题是root 用户不受任何管制,系统上任何资源都可以无限制地访问。==
==这种权限管理机制的主体是用户也称为自主访问控制DAC。==
==2.3 MAC==
==在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。==
==这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。==
==即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。==
==这种权限管理机制的主体是进程也称为强制访问控制MAC。==
==而 MAC 又细分为了两种方式一种叫类别安全MCS模式另一种叫多级安全MLS模式。==
==下文中的操作均为 MCS 模式。==
==2.4 DAC 和 MAC 的对比==
==这里引用一张图片来说明。==
==可以看到,在 DAC 模式下,只要相应目录有相应用户的权限,就可以被访问。而在 MAC 模式下,还要受进程允许访问目录范围的限制。==
==三、SELinux 基本概念==
==3.1 主体Subject==
==可以完全等同于进程。==
==注:为了方便理解,如无特别说明,以下均把进程视为主体。==
==3.2 对象Object==
==被主体访问的资源。可以是文件、目录、端口、设备等。==
==注:为了方便理解,如无特别说明,以下均把文件或者目录视为对象。==
==3.3 政策和规则Policy & Rule==
==系统中通常有大量的文件和进程,为了节省时间和开销,通常我们只是选择性地对某些进程进行管制。==
==而哪些进程需要管制、要怎么管制是由政策决定的。==
==一套政策里面有多个规则。部分规则可以按照需求启用或禁用(以下把该类型的规则称为布尔型规则)。==
==规则是模块化、可扩展的。在安装新的应用程序时,应用程序可通过添加新的模块来添加规则。用户也可以手动地增减规则。==
==在 CentOS 7 系统中,有三套政策,分别是:==
==1. targeted对大部分网络服务进程进行管制。这是系统默认使用的政策下文均使用此政策。==
==2. minimum以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。==
==3. mls多级安全保护。对所有的进程进行管制。这是最严格的政策配置难度非常大。一般不用除非对安全性有极高的要求。==
==政策可以在 /etc/selinux/config 中设定。==
==3.4 安全上下文Security Context==
==安全上下文是 SELinux 的核心。==
==安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。==
==一个「进程安全上下文」一般对应多个「文件安全上下文」。==
==只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。==
==文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。==
==需要注意的是,单纯的移动文件操作并不会改变文件的安全上下文。==
==安全上下文的结构及含义==
==安全上下文有四个字段分别用冒号隔开。形如system_u:object_r:admin_home_t:s0。==
==3.5 SELinux 的工作模式==
==SELinux 有三种工作模式,分别是:==
==1. enforcing强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。==
==2. permissive宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。==
==3. disabled关闭 SELinux。==
==SELinux 工作模式可以在 /etc/selinux/config 中设定。==
==如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。==
==enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。==
==需要注意的是,如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文(我表示我重启了大约 10 分钟,还以为是死机了……)。==
==SELinux 日志的记录需要借助 auditd.service 这个服务,请不要禁用它。==
==3.6 SELinux 工作流程==
==这里引用一张图片,不必过多解释。==
==注:上面的安全文本指的就是安全上下文。==
==四、SELinux 基本操作==
==4.1 查询文件或目录的安全上下文==
==命令基本用法==
==ls -Z==
==用法举例==
==查询 /etc/hosts 的安全上下文。==
==ls -Z /etc/hosts==
==执行结果==
==-rw-r--r--. root root system_u:object_r:net_conf_t:s0 /etc/hosts==
==4.2 查询进程的安全上下文==
==命令基本用法==
==ps auxZ | grep -v grep | grep==
==用法举例==
==查询 Nginx 相关进程的安全上下文。==
==ps auxZ | grep -v grep | grep nginx==
==执行结果==
==system_u:system_r:httpd_t:s0 root 7997 0.0 0.0 122784 2156 ? Ss 14:31 0:00 nginx: master process /usr/sbin/nginx==
==system_u:system_r:httpd_t:s0 nginx 7998 0.0 0.0 125332 7560 ? S 14:31 0:00 nginx: worker process==
==4.3 手动修改文件或目录的安全上下文==
==命令基本用法==
==chcon [...]==
==选项功能-u 修改安全上下文的用户字段-r 修改安全上下文的角色字段-t 修改安全上下文的类型字段-l 修改安全上下文的级别字段--reference 修改与指定文件或目录相一致的安全上下文-R递归操作-h修改软链接的安全上下文不加此选项则修改软链接对应文件==
==用法举例==
==修改 test 的安全上下文为 aaa_u:bbb_r:ccc_t:s0。==
==chcon -u aaa_u -r bbb_r -t ccc_t test==
==4.4 把文件或目录的安全上下文恢复到默认值==
==命令基本用法==
==restorecon [选项] [...]==
==选项功能-v打印操作过程-R递归操作==
==用法举例==
==添加一些网页文件到 Nginx 服务器的目录之后,为这些新文件设置正确的安全上下文。==
==restorecon -R /usr/share/nginx/html/==
==4.5 查询系统中的布尔型规则及其状态==
==命令基本用法==
==getsebool -a==
==由于该命令要么查询所有规则,要么只查询一个规则,所以一般都是先查询所有规则然后用 grep 筛选。==
==用法举例==
==查询与 httpd 有关的布尔型规则。==
==getsebool -a | grep httpd==
==执行结果==
==httpd_anon_write --\> off==
==httpd_builtin_scripting --\> on==
==httpd_can_check_spam --\> off==
==httpd_can_connect_ftp --\> off==
==#以下省略==
==4.6 开关一个布尔型规则==
==命令基本用法==
==setsebool [选项]==
==选项功能-P重启依然生效==
==用法举例==
==开启 httpd_anon_write 规则。==
==setsebool -P httpd_anon_write on==
==4.7 添加目录的默认安全上下文==
==命令基本用法==
==semanage fcontext -a -t "(/.*)?"==
==注:目录或文件的默认安全上下文可以通过 semanage fcontext -l 命令配合 grep过滤查看。==
==用法举例==
==为 Nginx 新增一个网站目录 /usr/share/nginx/html2 之后,需要为其设置与原目录相同的默认安全上下文。==
==semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/html2(/.*)?"==
==4.8 添加某类进程允许访问的端口==
==命令基本用法==
==semanage port -a -t -p==
==注:各种服务类型所允许的端口号可以通过 semanage port -l 命令配合 grep 过滤查看。==
==用法举例==
==为 Nginx 需要使用 10080 的端口用于 HTTP 服务。==
==semanage port -a -t http_port_t -p tcp 10080==
==五、SELinux 错误分析和解决==
==5.1 认识 SELinux 日志==
==当开启了 SELinux 之后,很多服务的一些正常行为都会被视为违规行为(标题及下文中的错误均指违规行为)。==
==这时候我们就需要借助 SELinux 违规日志来分析解决。==
==SELinux 违规日志保存在 /var/log/audit/audit.log 中。==
==/var/log/audit/audit.log 的内容大概是这样的。==
==type=LOGIN msg=audit(1507898701.391:515): pid=8523 uid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=25 res=1==
==type=USER_START msg=audit(1507898701.421:516): pid=8523 uid=0 auid=0 ses=25 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'==
==...==
==该文件的内容很多,而且混有很多与 SELinux 错误无关的系统审计日志。我们要借助 sealert 这个实用工具来帮忙分析(如果提示找不到命令的话请安装 setroubleshoot 软件包)。==
==5.2 使用sealert分析错误==
==命令基本用法==
==sealert -a /var/log/audit/audit.log==
==一、前言==
==安全增强型 LinuxSecurity-Enhanced Linux简称 SELinux它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。==
==SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。==
==SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。==
==如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达"坚不可摧"的地步了(请永远记住没有绝对的安全)。==
==掌握 SELinux 的基本概念以及简单的配置方法是每个 Linux 系统管理员的必修课。==
==本文均在 CentOS 7.4.1708 系统中操作。==
==本文纯属个人学习经验分享交流,出错再所难免,仅供参考!如果发现错误的地方,可以的话麻烦指点下,特别感谢!==
==二、SELinux 的作用及权限管理机制==
==2.1 SELinux 的作用==
==SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。==
==设想一下,如果一个以 root 身份运行的网络服务存在 0day 漏洞,黑客就可以利用这个漏洞,以 root 的身份在您的服务器上为所欲为了。是不是很可怕?==
==SELinux 就是来解决这个问题的。==
==2.2 DAC==
==在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(读、写、执行)。==
==只要访问这个资源的进程符合以上的条件就可以被访问。==
==而最致命问题是root 用户不受任何管制,系统上任何资源都可以无限制地访问。==
==这种权限管理机制的主体是用户也称为自主访问控制DAC。==
==2.3 MAC==
==在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。==
==这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。==
==即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。==
==这种权限管理机制的主体是进程也称为强制访问控制MAC。==
==而 MAC 又细分为了两种方式一种叫类别安全MCS模式另一种叫多级安全MLS模式。==
==下文中的操作均为 MCS 模式。==
==2.4 DAC 和 MAC 的对比==
==这里引用一张图片来说明。==
==可以看到,在 DAC 模式下,只要相应目录有相应用户的权限,就可以被访问。而在 MAC 模式下,还要受进程允许访问目录范围的限制。==
==三、SELinux 基本概念==
==3.1 主体Subject==
==可以完全等同于进程。==
==注:为了方便理解,如无特别说明,以下均把进程视为主体。==
==3.2 对象Object==
==被主体访问的资源。可以是文件、目录、端口、设备等。==
==注:为了方便理解,如无特别说明,以下均把文件或者目录视为对象。==
==3.3 政策和规则Policy & Rule==
==系统中通常有大量的文件和进程,为了节省时间和开销,通常我们只是选择性地对某些进程进行管制。==
==而哪些进程需要管制、要怎么管制是由政策决定的。==
==一套政策里面有多个规则。部分规则可以按照需求启用或禁用(以下把该类型的规则称为布尔型规则)。==
==规则是模块化、可扩展的。在安装新的应用程序时,应用程序可通过添加新的模块来添加规则。用户也可以手动地增减规则。==
==在 CentOS 7 系统中,有三套政策,分别是:==
==1. targeted对大部分网络服务进程进行管制。这是系统默认使用的政策下文均使用此政策。==
==2. minimum以 targeted 为基础,仅对选定的网络服务进程进行管制。一般不用。==
==3. mls多级安全保护。对所有的进程进行管制。这是最严格的政策配置难度非常大。一般不用除非对安全性有极高的要求。==
==政策可以在 /etc/selinux/config 中设定。==
==3.4 安全上下文Security Context==
==安全上下文是 SELinux 的核心。==
==安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。==
==一个「进程安全上下文」一般对应多个「文件安全上下文」。==
==只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。==
==文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。==
==需要注意的是,单纯的移动文件操作并不会改变文件的安全上下文。==
==安全上下文的结构及含义==
==安全上下文有四个字段分别用冒号隔开。形如system_u:object_r:admin_home_t:s0。==
==3.5 SELinux 的工作模式==
==SELinux 有三种工作模式,分别是:==
==1. enforcing强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。==
==2. permissive宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。==
==3. disabled关闭 SELinux。==
==SELinux 工作模式可以在 /etc/selinux/config 中设定。==
==如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。==
==enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。==
==需要注意的是,如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文(我表示我重启了大约 10 分钟,还以为是死机了……)。==
==SELinux 日志的记录需要借助 auditd.service 这个服务,请不要禁用它。==
==3.6 SELinux 工作流程==
==这里引用一张图片,不必过多解释。==
==注:上面的安全文本指的就是安全上下文。==
==四、SELinux 基本操作==
==4.1 查询文件或目录的安全上下文==
==命令基本用法==
==ls -Z==
==用法举例==
==查询 /etc/hosts 的安全上下文。==
==ls -Z /etc/hosts==
==执行结果==
==-rw-r--r--. root root system_u:object_r:net_conf_t:s0 /etc/hosts==
==4.2 查询进程的安全上下文==
==命令基本用法==
==ps auxZ | grep -v grep | grep==
==用法举例==
==查询 Nginx 相关进程的安全上下文。==
==ps auxZ | grep -v grep | grep nginx==
==执行结果==
==system_u:system_r:httpd_t:s0 root 7997 0.0 0.0 122784 2156 ? Ss 14:31 0:00 nginx: master process /usr/sbin/nginx==
==system_u:system_r:httpd_t:s0 nginx 7998 0.0 0.0 125332 7560 ? S 14:31 0:00 nginx: worker process==
==4.3 手动修改文件或目录的安全上下文==
==命令基本用法==
==chcon [...]==
==选项功能-u 修改安全上下文的用户字段-r 修改安全上下文的角色字段-t 修改安全上下文的类型字段-l 修改安全上下文的级别字段--reference 修改与指定文件或目录相一致的安全上下文-R递归操作-h修改软链接的安全上下文不加此选项则修改软链接对应文件==
==用法举例==
==修改 test 的安全上下文为 aaa_u:bbb_r:ccc_t:s0。==
==chcon -u aaa_u -r bbb_r -t ccc_t test==
==4.4 把文件或目录的安全上下文恢复到默认值==
==命令基本用法==
==restorecon [选项] [...]==
==选项功能-v打印操作过程-R递归操作==
==用法举例==
==添加一些网页文件到 Nginx 服务器的目录之后,为这些新文件设置正确的安全上下文。==
==restorecon -R /usr/share/nginx/html/==
==4.5 查询系统中的布尔型规则及其状态==
==命令基本用法==
==getsebool -a==
==由于该命令要么查询所有规则,要么只查询一个规则,所以一般都是先查询所有规则然后用 grep 筛选。==
==用法举例==
==查询与 httpd 有关的布尔型规则。==
==getsebool -a | grep httpd==
==执行结果==
==httpd_anon_write --> off==
==httpd_builtin_scripting --> on==
==httpd_can_check_spam --> off==
==httpd_can_connect_ftp --> off==
==#以下省略==
==4.6 开关一个布尔型规则==
==命令基本用法==
==setsebool [选项]==
==选项功能-P重启依然生效==
==用法举例==
==开启 httpd_anon_write 规则。==
==setsebool -P httpd_anon_write on==
==4.7 添加目录的默认安全上下文==
==命令基本用法==
==semanage fcontext -a -t "(/.*)?"==
==注:目录或文件的默认安全上下文可以通过 semanage fcontext -l 命令配合 grep过滤查看。==
==用法举例==
==为 Nginx 新增一个网站目录 /usr/share/nginx/html2 之后,需要为其设置与原目录相同的默认安全上下文。==
==semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/html2(/.*)?"==
==4.8 添加某类进程允许访问的端口==
==命令基本用法==
==semanage port -a -t -p==
==注:各种服务类型所允许的端口号可以通过 semanage port -l 命令配合 grep 过滤查看。==
==用法举例==
==为 Nginx 需要使用 10080 的端口用于 HTTP 服务。==
==semanage port -a -t http_port_t -p tcp 10080==
==五、SELinux 错误分析和解决==
==5.1 认识 SELinux 日志==
==当开启了 SELinux 之后,很多服务的一些正常行为都会被视为违规行为(标题及下文中的错误均指违规行为)。==
==这时候我们就需要借助 SELinux 违规日志来分析解决。==
==SELinux 违规日志保存在 /var/log/audit/audit.log 中。==
==/var/log/audit/audit.log 的内容大概是这样的。==
==type=LOGIN msg=audit(1507898701.391:515): pid=8523 uid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=25 res=1==
==type=USER_START msg=audit(1507898701.421:516): pid=8523 uid=0 auid=0 ses=25 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'==
==...==
==该文件的内容很多,而且混有很多与 SELinux 错误无关的系统审计日志。我们要借助 sealert 这个实用工具来帮忙分析(如果提示找不到命令的话请安装 setroubleshoot 软件包)。==
==5.2 使用sealert分析错误==
==命令基本用法==
==sealert -a /var/log/audit/audit.log==
==执行完命令之后,系统需要花一段时间去分析日志中的违规行为并给出分析报告。分析报告的结构讲解请看下图:==
\> 来自 \<[https://blog.csdn.net/yanjun821126/article/details/80828908](https://blog.csdn.net/yanjun821126/article/details/80828908)\>
> 来自 <[https://blog.csdn.net/yanjun821126/article/details/80828908](https://blog.csdn.net/yanjun821126/article/details/80828908)>

View File

@@ -1,12 +1,12 @@
**centos支持rz、sz命令**
yum install lrzsz
rz的用法
在命令终端输入rz回车后就会出现文件选择对话框选择需要上传文件一次可以指定多个文件上传到服务器的路径为当前执行rz命令的目录。
如图选择要上传的文件AddOK
s
sz的用法
yum install lrzsz
rz的用法
在命令终端输入rz回车后就会出现文件选择对话框选择需要上传文件一次可以指定多个文件上传到服务器的路径为当前执行rz命令的目录。
如图选择要上传的文件AddOK
s
sz的用法
sz命令可以单下载一个文件也可以多个文件同时下载

View File

@@ -1,38 +1,38 @@
有以下命令可以查看:
# lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.4 (Final)
Release:        5.4
# lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.4 (Final)
Release:        5.4
Codename:       Final
这个命令适用于所有的linux包括Redhat、SuSE、Debian、Centos等发行版。
root@MyMail ~ # uname
Linux
root@MyMail ~ # uname -r
2.6.18-164.el5
[root@localhost ~]# uname -a
root@MyMail ~ # uname
Linux
root@MyMail ~ # uname -r
2.6.18-164.el5
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux
以下二种方法适用于RedHat,CentOS
root@MyMail ~ # cat /etc/redhat-release
CentOS release 5.4 (Final)
登录到linux执行rpm -q redhat-release
#rpm -q redhat-release
或CentOS
root@MyMail ~ # rpm -q centos-release
centos-release-5-4.el5.centos.1
**当前****centos** **版本与****redhat****对应的版本的命令**
# cat /proc/version
root@MyMail ~ # cat /etc/redhat-release
CentOS release 5.4 (Final)
登录到linux执行rpm -q redhat-release
# rpm -q redhat-release
或CentOS
root@MyMail ~ # rpm -q centos-release
centos-release-5-4.el5.centos.1
**当前****centos** **版本与****redhat****对应的版本的命令**
# cat /proc/version
Linux version 2.6.9-78.ELsmp (mockbuild@builder16.centos.org) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)) #1 SMP Fri Jul 25 00:04:28 EDT 2008
\> 来自 \<[https://www.cnblogs.com/zzdylan/p/9930144.html](https://www.cnblogs.com/zzdylan/p/9930144.html)\>
> 来自 <[https://www.cnblogs.com/zzdylan/p/9930144.html](https://www.cnblogs.com/zzdylan/p/9930144.html)>

View File

@@ -1,9 +1,9 @@
==用户列表文件:====/etc/passwd==
用户组列表文件:/etc/group
查看系统中有哪些用户cut -d : -f 1 /etc/passwd
查看可以登录系统的用户cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
查看用户操作w命令(需要root权限)
查看某一用户w 用户名
查看登录用户who
==用户列表文件:====/etc/passwd==
用户组列表文件:/etc/group
查看系统中有哪些用户cut -d : -f 1 /etc/passwd
查看可以登录系统的用户cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
查看用户操作w命令(需要root权限)
查看某一用户w 用户名
查看登录用户who
查看用户登录历史记录last
\> 来自 \<[https://www.cnblogs.com/todarcy/p/11079228.html](https://www.cnblogs.com/todarcy/p/11079228.html)\>
> 来自 <[https://www.cnblogs.com/todarcy/p/11079228.html](https://www.cnblogs.com/todarcy/p/11079228.html)>

View File

@@ -4,67 +4,85 @@
`df -h (centos-home`==和==`centos-root`==每人的名字可能不一样==
```
```
) vgdisplay (
```
```
==查看空闲磁盘大小)==``
4. 备份home分区文件
```
```
tar cvf /tmp/home.tar /home
```
```
6. 卸载/home如果无法卸载先终止使用/home文件系统的进程
`umount /home` ==(卸载)==
```
```
fuser -km /home/
```
```
==(终止)==``
8. 删除/home所在的lv
```
```
lvremove /dev/mapper/centos-home
```
```
10. 扩展/root所在的lv
```
```
lvextend -L +50G /dev/mapper/centos-root
```
```
12. 扩展/root文件系统
```
```
xfs_growfs /dev/mapper/centos-root
```
```
14. 重新创建home lv
```
```
lvcreate -L 50G -n /dev/mapper/centos-home
```
```
16. 创建文件系统
```
```
mkfs.xfs /dev/mapper/centos-home
```
```
18. 挂载home
```
```
mount /dev/mapper/centos-home
```
```
20. home文件恢复
`tar xvf /tmp/home.tar -C /home/`
\> 来自 \<[https://www.jianshu.com/p/27c87f390175](https://www.jianshu.com/p/27c87f390175)\>
\> 来自 \<[https://www.jianshu.com/p/27c87f390175](https://www.jianshu.com/p/27c87f390175)\>
> 来自 <[https://www.jianshu.com/p/27c87f390175](https://www.jianshu.com/p/27c87f390175)>
> 来自 <[https://www.jianshu.com/p/27c87f390175](https://www.jianshu.com/p/27c87f390175)>

View File

@@ -1,12 +1,12 @@
/usr 系统级的目录可以理解为C:/Windows//usr/bin 存放应用程序;/usr/share 存放共享数据,/usr/lib 存放不能直接运行的却是许多程序运行所必需的一些函数库文件可以理解为C:/Windows/System32
/usr 系统级的目录可以理解为C:/Windows//usr/bin 存放应用程序;/usr/share 存放共享数据,/usr/lib 存放不能直接运行的却是许多程序运行所必需的一些函数库文件可以理解为C:/Windows/System32
*比如Java的安装目录我会放在这里。
/usr/local用户级的程序目录可以理解为C:/Progrem Files/。
用户自己编译的软件默认会安装到这个目录下。
/usr/local用户级的程序目录可以理解为C:/Progrem Files/。
用户自己编译的软件默认会安装到这个目录下。
*比如HadoopTomcat的安装目录我一般会放在/usr/目录下
/opt给主机额外安装软件所摆放的目录。用户级的程序目录可以理解为D:/Softwareopt有可选的意思这里可以用于放置第三方大型软件或游戏当你不需要时直接rm -rf掉即可。在硬盘容量不够时也可将/opt单独挂载到其他磁盘上使用。
*比如临时上传到Linux里的软件tar.gz rpm等文件用作软件仓库。
————————————————
版权声明本文为CSDN博主「佛系亚当」的原创文章遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
/opt给主机额外安装软件所摆放的目录。用户级的程序目录可以理解为D:/Softwareopt有可选的意思这里可以用于放置第三方大型软件或游戏当你不需要时直接rm -rf掉即可。在硬盘容量不够时也可将/opt单独挂载到其他磁盘上使用。
*比如临时上传到Linux里的软件tar.gz rpm等文件用作软件仓库。
————————————————
版权声明本文为CSDN博主「佛系亚当」的原创文章遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接https://blog.csdn.net/adamlinsfz/article/details/84307097

View File

@@ -1,60 +1,60 @@
==bin core home lib64 mnt root snap tmp vmlinuz== 
==boot dev initrd.img lost+found opt run srv usr== 
==bin core home lib64 mnt root snap tmp vmlinuz==
==boot dev initrd.img lost+found opt run srv usr==
==cdrom etc lib media proc sbin sys var==
==下面, 我们逐个分析这些文件夹的用处==
==bin==
==系统 shell (终端) 命令存放于此==
==core==
==home==
==除了root用户以外的用户默认主目录, 每个子目录都是一个用户名==
==lib64==
==mnt==
==root==
==root用户的主目录==
==snap==
==tmp==
==boot==
==dev==
==lost+found==
==opt==
==供本系统所有用户使用软件一般安装在此==
==有人也喜欢把软件安装在== **/usr/local/**
==run==
==srv==
==usr==
**/usr/** ==目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本自带的主要的应用程序。==
**/usr/local/** ==目录一般安装第三方的软件==
**/usr/local/bin** ==放置用户自己安装的小的shell命令和一些在/usr/local目录下大应用程序的符号连接。==**/usr/local/bin/** ==目录下的命令可以直接在shell里使用==
**/usr/share/fonts**==是字体文件夹,可以在这里新建文件夹== **winFonts/**==,把ttf格式的字体放进去==
==然后将字体文件拷贝到此文件夹下:==
==下面, 我们逐个分析这些文件夹的用处==
==bin==
==系统 shell (终端) 命令存放于此==
==core==
==home==
==除了root用户以外的用户默认主目录, 每个子目录都是一个用户名==
==lib64==
==mnt==
==root==
==root用户的主目录==
==snap==
==tmp==
==boot==
==dev==
==lost+found==
==opt==
==供本系统所有用户使用软件一般安装在此==
==有人也喜欢把软件安装在== **/usr/local/**
==run==
==srv==
==usr==
**/usr/** ==目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本自带的主要的应用程序。==
**/usr/local/** ==目录一般安装第三方的软件==
**/usr/local/bin** ==放置用户自己安装的小的shell命令和一些在/usr/local目录下大应用程序的符号连接。==**/usr/local/bin/** ==目录下的命令可以直接在shell里使用==
**/usr/share/fonts**==是字体文件夹,可以在这里新建文件夹== **winFonts/**==,把ttf格式的字体放进去==
==然后将字体文件拷贝到此文件夹下:==
sudo cp ~/Desktop/font/*.ttf /usr/share/fonts/winFonts/
- ==1==
- ==2==
==然后,改变权限:==
==然后,改变权限:==
sudo chmod 644 /usr/share/fonts/winFonts/*.ttf
- ==1==
- ==2==
==cdrom==
==etc==
==系统全局配置文件一般在此==
==/etc/apt/==
==Ubuntu 软件源列表, 也就是 apt-get 命令执行时从哪些地方下载包的依据==
==lib==
==media==
==proc==
==sbin==
==sys==
==cdrom==
==etc==
==系统全局配置文件一般在此==
==/etc/apt/==
==Ubuntu 软件源列表, 也就是 apt-get 命令执行时从哪些地方下载包的依据==
==lib==
==media==
==proc==
==sbin==
==sys==
==var==
\> 来自 \<[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)\>
> 来自 <[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)>
**开始安装**
==cd /usr/share/fonts/winFonts/== 
==sudo mkfontscale 创建雅黑字体的fonts.scale文件它用来控制字体旋转缩放== 
==sudo mkfontdir 创建雅黑字体的fonts.dir文件它用来控制字体粗斜体产生== 
**开始安装**
==cd /usr/share/fonts/winFonts/==
==sudo mkfontscale 创建雅黑字体的fonts.scale文件它用来控制字体旋转缩放==
==sudo mkfontdir 创建雅黑字体的fonts.dir文件它用来控制字体粗斜体产生==
==sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识雅黑)==
\> 来自 \<[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)\>
> 来自 <[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)>

View File

@@ -1,175 +1,175 @@
**命令历史**
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
**启动vim**
在命令行窗口中输入以下命令即可
vim 直接启动vim
vim filename 打开vim并创建名为filename的文件
**文件命令**
打开单个文件
vim file
同时打开多个文件
vim file1 file2 file3 ...
在vim窗口中打开一个新文件
:open file
在新窗口中打开文件
:split file
切换到下一个文件
:bn
切换到上一个文件
:bp
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
:args
打开远程文件比如ftp或者share folder
:e [ftp://192.168.10.76/abc.txt](ftp://192.168.10.76/abc.txt)
:e [\\qadrive\test\1.txt](file:///\\qadrive\test\1.txt)
**vim的模式**
正常模式按Esc或Ctrl+[进入) 左下角显示文件名或为空
插入模式按i键进入 左下角显示--INSERT--
可视模式(不知道如何进入) 左下角显示--VISUAL--
**导航命令**
% 括号匹配
**插入命令**
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
**查找命令**
/text  查找text按n健查找下一个按N健查找前一个。
?text  查找text反向查找按n健查找下一个按N健查找前一个。
vim中有一些特殊字符在查找时需要转义  .*[]^%/?~$
:set ignorecase  忽略大小写的查找
:set noignorecase  不忽略大小写的查找
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
:set hlsearch  高亮搜索结果所有结果都高亮显示而不是只显示一个匹配。
:set nohlsearch  关闭高亮搜索显示
:nohlsearch  关闭当前的高亮显示如果再次搜索或者按下n或N键则会再次高亮。
:set incsearch  逐步搜索模式对当前键入的字符进行搜索而不必等待键入完成。
:set wrapscan  重新搜索在搜索到文件头或尾时返回继续搜索默认开启。
**替换命令**
ra 将当前字符替换为a当期字符即光标所在字符。
s/old/new/ 用old替换new替换当前行的第一个匹配
s/old/new/g 用old替换new替换当前行的所有匹配
%s/old/new/ 用old替换new替换所有行的第一个匹配
%s/old/new/g 用old替换new替换整个文件的所有匹配
:10,20 s/^/    /g 在第10行知第20行每行前面加四个空格用于缩进。
ddp 交换光标所在行和其下紧邻的一行。
**移动命令**
h 左移一个字符
l 右移一个字符这个命令很少用一般用w代替。
k 上移一个字符
j 下移一个字符
以上四个命令可以配合数字使用比如20j就是向下移动20行5h就是向左移动5个字符在Vim中很多命令都可以配合数字使用比如删除10个字符10x在当前位置后插入3个3a\<Esc\>这里的Esc是必须的否则命令不生效。
w 向前移动一个单词光标停在单词首部如果已到行尾则转至下一行行首。此命令快可以代替l命令。
b 向后移动一个单词 2b 向后移动2个单词
e同w只不过是光标停在单词尾部
ge同b光标停在单词尾部。
^ 移动到本行第一个非空白字符上。
0数字0移动到本行第一个字符上
\<HOME\> 移动到本行第一个字符。同0健。
$ 移动到行尾 3$ 移动到下面3行的行尾
gg 移动到文件头。 = [[
Gshift + g 移动到文件尾。 = ]]
ffind命令也可以用于移动fx将找到光标后第一个为x的字符3fd将找到第三个为d的字符。
F 同f反向查找。
跳到指定行,冒号+行号回车比如跳到240行就是 :240回车。另一个方法是行号+G比如230G跳到230行。
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
**撤销和重做**
u 撤销Undo
U 撤销对整行的操作
Ctrl + r 重做Redo即撤销的撤销。
**删除命令**
x 删除当前字符
3x 删除当前光标开始向后三个字符
X 删除当前字符的前一个字符。X=dh
dl 删除当前字符, dl=x
dh 删除前一个字符
dd 删除当前行
dj 删除上一行
dk 删除下一行
10d 删除当前行开始的10行。
D 删除当前字符至行尾。D=d$
d$ 删除当前字符之后的所有字符(本行)
kdgg 删除当前行之前所有行(不包括当前行)
jdGjd shift + g   删除当前行之后所有行(不包括当前行)
:1,10d 删除1-10行
:11,$d 删除11行及以后所有的行
:1,$d 删除所有行
J(shift + j)  删除两行之间的空行,实际上是合并两行。
**拷贝和粘贴**
yy 拷贝当前行
nyy 拷贝当前后开始的n行比如2yy拷贝当前行及其下一行。
p  在当前光标后粘贴,如果之前使用了yy命令来复制一行那么就在当前行的下一行粘贴。
shift+p 在当前行前粘贴
:1,10 co 20 将1-10行插入到第20行之后。
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
正常模式下按v逐字或V逐行进入可视模式然后用jklh命令移动即可选择某些行或字符再按y即可复制
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
**剪切命令**
正常模式下按v逐字或V逐行进入可视模式然后用jklh命令移动即可选择某些行或字符再按d即可剪切
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1, 10 m 20 将第1-10行移动到第20行之后。
**退出命令**
:wq 保存并退出
ZZ 保存并退出
:q! 强制退出并忽略所有更改
:e! 放弃所有修改,并打开原来文件。
**窗口命令**
:split或new 打开一个新窗口,光标停在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的使用vsplit可以纵向打开窗口。
Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
关闭窗口
:close 最后一个窗口不能使用此命令可以防止意外退出vim。
:q 如果是最后一个被关闭的窗口那么将退出vim。
ZZ 保存并退出。
关闭所有窗口,只保留当前窗口
:only
录制宏
按q键加任意字母开始录制再按q键结束录制这意味着vim中的宏不可嵌套使用的时候@加宏名比如qa。。。q录制名为a的宏@a使用这个宏
**执行shell命令**
:!command
:!ls 列出当前目录下文件
:!perl -c script.pl 检查perl脚本语法可以不用退出vim非常方便。
:!perl script.pl 执行perl脚本可以不用退出vim非常方便。
:suspend或Ctrl - Z 挂起vim回到shell按fg可以返回vim。
**注释命令**
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
3,5 s/^/#/g 注释第3-5行
3,5 s/^#//g 解除3-5行的注释
1,$ s/^/#/g 注释整个文档。
:%s/^/#/g 注释整个文档,此法更快。
**帮助命令**
:help or F1 显示整个帮助
:help xxx 显示xxx的帮助比如 :help i, :help CTRL-[即Ctrl+[的帮助)。
:help 'number' Vim选项的帮助用单引号括起
:help \<Esc\> 特殊键的帮助用\<\>扩起
:help -t Vim启动参数的帮助用-
help i_\<Esc\> 插入模式下Esc的帮助某个模式下的帮助用模式_主题的模式
帮助文件中位于||之间的内容是超链接可以用Ctrl+]进入链接Ctrl+oCtrl + t返回
**其他非编辑命令**
. 重复前一次命令
:set ruler?  查看是否设置了ruler在.vimrc中使用set命令设制的选项都可以通过这个命令查看
:scriptnames  查看vim脚本文件的位置比如.vimrc文件语法文件及plugin等。
:set list 显示非打印字符如tab空格行尾等。如果tab无法显示请确定用set lcs=tab:\>-命令设置了.vimrc文件并确保你的文件中的确有tab如果开启了expendtab那么tab将被扩展为空格。
Vim教程
在Unix系统上
$ vimtutor
在Windows系统上
**命令历史**
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
**启动vim**
在命令行窗口中输入以下命令即可
vim 直接启动vim
vim filename 打开vim并创建名为filename的文件
**文件命令**
打开单个文件
vim file
同时打开多个文件
vim file1 file2 file3 ...
在vim窗口中打开一个新文件
:open file
在新窗口中打开文件
:split file
切换到下一个文件
:bn
切换到上一个文件
:bp
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
:args
打开远程文件比如ftp或者share folder
:e [ftp://192.168.10.76/abc.txt](ftp://192.168.10.76/abc.txt)
:e [\\qadrive\test\1.txt](file:///\\qadrive\test\1.txt)
**vim的模式**
正常模式按Esc或Ctrl+[进入) 左下角显示文件名或为空
插入模式按i键进入 左下角显示--INSERT--
可视模式(不知道如何进入) 左下角显示--VISUAL--
**导航命令**
% 括号匹配
**插入命令**
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
**查找命令**
/text  查找text按n健查找下一个按N健查找前一个。
?text  查找text反向查找按n健查找下一个按N健查找前一个。
vim中有一些特殊字符在查找时需要转义  .*[]^%/?~$
:set ignorecase  忽略大小写的查找
:set noignorecase  不忽略大小写的查找
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
:set hlsearch  高亮搜索结果所有结果都高亮显示而不是只显示一个匹配。
:set nohlsearch  关闭高亮搜索显示
:nohlsearch  关闭当前的高亮显示如果再次搜索或者按下n或N键则会再次高亮。
:set incsearch  逐步搜索模式对当前键入的字符进行搜索而不必等待键入完成。
:set wrapscan  重新搜索在搜索到文件头或尾时返回继续搜索默认开启。
**替换命令**
ra 将当前字符替换为a当期字符即光标所在字符。
s/old/new/ 用old替换new替换当前行的第一个匹配
s/old/new/g 用old替换new替换当前行的所有匹配
%s/old/new/ 用old替换new替换所有行的第一个匹配
%s/old/new/g 用old替换new替换整个文件的所有匹配
:10,20 s/^/    /g 在第10行知第20行每行前面加四个空格用于缩进。
ddp 交换光标所在行和其下紧邻的一行。
**移动命令**
h 左移一个字符
l 右移一个字符这个命令很少用一般用w代替。
k 上移一个字符
j 下移一个字符
以上四个命令可以配合数字使用比如20j就是向下移动20行5h就是向左移动5个字符在Vim中很多命令都可以配合数字使用比如删除10个字符10x在当前位置后插入3个3a<Esc>这里的Esc是必须的否则命令不生效。
w 向前移动一个单词光标停在单词首部如果已到行尾则转至下一行行首。此命令快可以代替l命令。
b 向后移动一个单词 2b 向后移动2个单词
e同w只不过是光标停在单词尾部
ge同b光标停在单词尾部。
^ 移动到本行第一个非空白字符上。
0数字0移动到本行第一个字符上
<HOME> 移动到本行第一个字符。同0健。
$ 移动到行尾 3$ 移动到下面3行的行尾
gg 移动到文件头。 = [[
Gshift + g 移动到文件尾。 = ]]
ffind命令也可以用于移动fx将找到光标后第一个为x的字符3fd将找到第三个为d的字符。
F 同f反向查找。
跳到指定行,冒号+行号回车比如跳到240行就是 :240回车。另一个方法是行号+G比如230G跳到230行。
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
**撤销和重做**
u 撤销Undo
U 撤销对整行的操作
Ctrl + r 重做Redo即撤销的撤销。
**删除命令**
x 删除当前字符
3x 删除当前光标开始向后三个字符
X 删除当前字符的前一个字符。X=dh
dl 删除当前字符, dl=x
dh 删除前一个字符
dd 删除当前行
dj 删除上一行
dk 删除下一行
10d 删除当前行开始的10行。
D 删除当前字符至行尾。D=d$
d$ 删除当前字符之后的所有字符(本行)
kdgg 删除当前行之前所有行(不包括当前行)
jdGjd shift + g   删除当前行之后所有行(不包括当前行)
:1,10d 删除1-10行
:11,$d 删除11行及以后所有的行
:1,$d 删除所有行
J(shift + j)  删除两行之间的空行,实际上是合并两行。
**拷贝和粘贴**
yy 拷贝当前行
nyy 拷贝当前后开始的n行比如2yy拷贝当前行及其下一行。
p  在当前光标后粘贴,如果之前使用了yy命令来复制一行那么就在当前行的下一行粘贴。
shift+p 在当前行前粘贴
:1,10 co 20 将1-10行插入到第20行之后。
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
正常模式下按v逐字或V逐行进入可视模式然后用jklh命令移动即可选择某些行或字符再按y即可复制
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
**剪切命令**
正常模式下按v逐字或V逐行进入可视模式然后用jklh命令移动即可选择某些行或字符再按d即可剪切
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1, 10 m 20 将第1-10行移动到第20行之后。
**退出命令**
:wq 保存并退出
ZZ 保存并退出
:q! 强制退出并忽略所有更改
:e! 放弃所有修改,并打开原来文件。
**窗口命令**
:split或new 打开一个新窗口,光标停在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的使用vsplit可以纵向打开窗口。
Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
关闭窗口
:close 最后一个窗口不能使用此命令可以防止意外退出vim。
:q 如果是最后一个被关闭的窗口那么将退出vim。
ZZ 保存并退出。
关闭所有窗口,只保留当前窗口
:only
录制宏
按q键加任意字母开始录制再按q键结束录制这意味着vim中的宏不可嵌套使用的时候@加宏名比如qa。。。q录制名为a的宏@a使用这个宏
**执行shell命令**
:!command
:!ls 列出当前目录下文件
:!perl -c script.pl 检查perl脚本语法可以不用退出vim非常方便。
:!perl script.pl 执行perl脚本可以不用退出vim非常方便。
:suspend或Ctrl - Z 挂起vim回到shell按fg可以返回vim。
**注释命令**
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
3,5 s/^/#/g 注释第3-5行
3,5 s/^#//g 解除3-5行的注释
1,$ s/^/#/g 注释整个文档。
:%s/^/#/g 注释整个文档,此法更快。
**帮助命令**
:help or F1 显示整个帮助
:help xxx 显示xxx的帮助比如 :help i, :help CTRL-[即Ctrl+[的帮助)。
:help 'number' Vim选项的帮助用单引号括起
:help <Esc> 特殊键的帮助用<>扩起
:help -t Vim启动参数的帮助用-
help i_<Esc> 插入模式下Esc的帮助某个模式下的帮助用模式_主题的模式
帮助文件中位于||之间的内容是超链接可以用Ctrl+]进入链接Ctrl+oCtrl + t返回
**其他非编辑命令**
. 重复前一次命令
:set ruler?  查看是否设置了ruler在.vimrc中使用set命令设制的选项都可以通过这个命令查看
:scriptnames  查看vim脚本文件的位置比如.vimrc文件语法文件及plugin等。
:set list 显示非打印字符如tab空格行尾等。如果tab无法显示请确定用set lcs=tab:>-命令设置了.vimrc文件并确保你的文件中的确有tab如果开启了expendtab那么tab将被扩展为空格。
Vim教程
在Unix系统上
$ vimtutor
在Windows系统上
:help tutor
:syntax 列出已经定义的语法项
:syntax clear 清除已定义的语法规则
:syntax case match 大小写敏感int和Int将视为不同的语法元素
:syntax 列出已经定义的语法项
:syntax clear 清除已定义的语法规则
:syntax case match 大小写敏感int和Int将视为不同的语法元素
:syntax case ignore 大小写无关int和Int将视为相同的语法元素并使用同样的配色方案
\> 来自 \<[https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)\>
> 来自 <[https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)>

View File

@@ -0,0 +1,20 @@
1. 添加一个用户组并指定id为1002
sudo groupadd g 1002 www
2. 添加一个用户到www组并指定id为1003
sudo useradd wyx -g 1002 -u 1003 -m
3. 修改用户的密码
sudo passwd wyx
4. 删除一个用户
sudo userdel wyx
5. 为该用户添加sudo权限
sudo usermod -a -G adm wyx
sudo usermod -a -G sudo wyx
6. 查看所有用户和用户组:
cat /etc/passwd
cat /etc/group
> 来自 <[https://www.cnblogs.com/vincedotnet/p/4017574.html](https://www.cnblogs.com/vincedotnet/p/4017574.html)>

View File

@@ -1,7 +1,7 @@
netstat tln //查看服务监听端口
netstat      //查看进程号
ps aux     //查看进程号
ps aux | more //全部查看
ps ef | grep mysql //查看mysql的进程
netstat tln //查看服务监听端口
netstat      //查看进程号
ps aux     //查看进程号
ps aux | more //全部查看
ps ef | grep mysql //查看mysql的进程
kill -9 3306 //强制杀掉进程号3306
\> 来自 \<[http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html](http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html)\>
> 来自 <[http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html](http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html)>

View File

@@ -1,9 +1,9 @@
==Linux====提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在====Linux====系== ==统上工作离不开使用系统提供的命令。要想真正理解====Linux====系统,就必须从====Linux====命令学起,通过基础的命令学习可以进一步理解====Linux====系统。==
==不同====Linux====发行版的命令数量不一样,但====Linux====发行版本最少的命令也有====200====多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。==
==◆== ==安装和登录命令:====login====、====shutdown====、====halt====、====reboot====、====install====、====mount====、====umount====、====chsh====、====exit====、====last======
==◆== ==文件处理命令:====file====、====mkdir====、====grep====、====dd====、====find====、====mv====、====ls====、====diff====、====cat====、====ln======
==◆== ==系统管理相关命令:====df====、====top====、====free====、====quota====、====at====、====lp====、====adduser====、====groupadd====、====kill====、====crontab======
==◆== ==网络操作命令:====ifconfig====、====ip====、====ping====、====netstat====、====telnet====、====ftp====、====route====、====rlogin====、====rcp====、====finger====、====mail====、== ==nslookup======
==◆== ==系统安全相关命令:====passwd====、====su====、====umask====、====chgrp====、====chmod====、====chown====、====chattr====、====sudo ps====、====who======
==Linux====提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在====Linux====系== ==统上工作离不开使用系统提供的命令。要想真正理解====Linux====系统,就必须从====Linux====命令学起,通过基础的命令学习可以进一步理解====Linux====系统。==
==不同====Linux====发行版的命令数量不一样,但====Linux====发行版本最少的命令也有====200====多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。==
==◆== ==安装和登录命令:====login====、====shutdown====、====halt====、====reboot====、====install====、====mount====、====umount====、====chsh====、====exit====、====last======
==◆== ==文件处理命令:====file====、====mkdir====、====grep====、====dd====、====find====、====mv====、====ls====、====diff====、====cat====、====ln======
==◆== ==系统管理相关命令:====df====、====top====、====free====、====quota====、====at====、====lp====、====adduser====、====groupadd====、====kill====、====crontab======
==◆== ==网络操作命令:====ifconfig====、====ip====、====ping====、====netstat====、====telnet====、====ftp====、====route====、====rlogin====、====rcp====、====finger====、====mail====、== ==nslookup======
==◆== ==系统安全相关命令:====passwd====、====su====、====umask====、====chgrp====、====chmod====、====chown====、====chattr====、====sudo ps====、====who======
==◆== ==其它命令:====tar====、====unzip====、====gunzip====、====unarj====、====mtools====、====man====、====unendcode====、====uudecode====。==
\> 来自 \<[https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html](https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html)\>
> 来自 <[https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html](https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html)>

View File

@@ -14,169 +14,169 @@
1. ==cp 文件 最终路径==
2. ==cp -r 文件夹 最终路径 (这样可以把一个文件夹的所有文件全部移到最终路径)==
\>
**apt-get:**
==debian系系统的软件包管理程序(其图形化前端就是大名鼎鼎的新立得了),会自动帮你搞定依赖关系==
==最常用参数:==
==update        —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要执行==
==upgrade        —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升级==
==install        —-安装软件包(可以使用tab补全软件包的名字,比较方便)==
==remove        —-卸载软件包==
==purge        —-卸载软件包,同时删除该软件的配置文件==
==source        —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定download-only参数)==
==该地址由/etc/apt/sources.list中的 deb-src 行指定==
==check        —-用来(自动)修复(已装)软件包之间的依赖关系==
==clean        —-清除/var/cache/apt/archives/包括其子目录partial/下的所有软件包缓存==
==autoclean    —-比clean常用,我的理解是删除低版本的缓存而保留高版本的(或者包括非当前源里的软件包?)==
**aptitude:**
==此为PT同学补充,他的说法是aptitude比apt-get少个横线,tab补全比较容易(=.=)~大概神牛都比较懒吧==
==不得不提下蛋蛋童鞋以前说过的ubuntu彩蛋:) \<仅限于UBUNTU 8.04\>==
==man apt        —-最后会看到 “本apt有着超级牛力” or “this APT has a super-cow power”==
==man aptitude    —-会看到 “这个aptitude没有超级牛力”==
==看看aptitude的参数,你就会明白为什么aptitude会标称”高级软件包管理程序”了==
==最常用参数:==
==search        —-在(你的源的)所有软件包列表中搜索该软件,search的表达式可以很复杂,具体看man==
==其余常用参数同apt-get==
**cat:**
==把(一个或多个)文件内容(连接)显示到标准输出==
==当文本文件很小,而且你只是想看下,并不打算用gedit或者vim之类编辑器编辑的时候,可以cat一下,我是用来配合grep使用==
**cd:**
==切换当前工作目录==
==不同于其他命令,这是一个shell内置命令,所以没有手册页可看…够基础,所以才会出现在本篇文章中(=.=)郁闷==
==最常用参数:==
==.        —-切换到当前目录(貌似没有什么意义)(.这个目录可以通过ls -a看到)==
==..        —-切换到上层目录==
==~        —-回到家目录(/home/你的登录名/)==
**chmod**==:==
==改变文件的权限位==
==linux文件系统的权限位有两种表示方法,要是详细说下,非得累死老鼠不可=.=,所以只说8进制数表示:)==
==简要介绍下:ls -l可以显示出文件的权限,比如(-rwxr-xr),代表了三种用户的权限==
==第一个rwx,代表文件所有者的权限,即(读,写,执行),用二进制表示为111,代表八进制中的4+2+1=7==
==第二个r-x,代表文件所有者同一用户组其他用户的权限,即(读, ,执行),用二进制表示为101,代表八进制中的5=4+0+1==
==第三个r,代表其他用户的权限,即(读, , ),二进制表示为100,代表八进制的4=4+0+0==
==所以这个文件的权限位为754==
==这也就是chmod的用法,例如chmod 751 myfile #将该文件权限设定为rwxr-xx==
==最常用参数:==
==-v        —-列出当前正在执行的步骤==
==-R        —-递归式,即改变非空目录下的一切为指定权限==
**cp**==:==
==拷贝文件和目录==
==最常用参数:==
==-b        —-为每个已经存在的目的文件作个备份==
==-d        —-遇到软链接时不拷贝软链接所指向的文件;拷贝时保留links属性(链接数)==
==-p        —-保留文件的访问权限,所有者,和时间戳==
==-R和-r    —-递归式拷贝(cp过程遇到非空目录才有效),即拷贝目录,子目录,子目录的子目录…..==
==-a        —-作用同-dpR==
==-s        —-并不真的做拷贝,而只是为每个文件作软链接(符号链接)==
==-u        —-同下面 mv 的-u参数==
**head, tail**
==就像这两个名字,一个显示文件头部,一个显示尾部==
==最常用参数:==
==-n        —-指定输出的(头部或尾部)行数, 当没有此参数时,默认显示10行==
**ifconfig**==:==
==配置网卡==
==最常用参数:==
==没有参数        —-列出当前活动网卡的状态==
==-a            —-列出所有网卡的状态==
==interface    —-指定网卡名称比如eth0==
==up            —-唤醒该网卡==
==down        —-关闭该网卡==
==arp,mtu,netmask addr,…等等很多参数 =.===
**ln**==:==
==为文件建立链接==
==linux的链接分为两种:硬链接和软链接,ln默认建立硬链接(hard link),两种的区别请自己搜索:)==
==最常用参数:==
==-s        —-建立软链接(符号链接,可以理解为win下的快捷方式)==
==-f        —-如果要建立的链接名已经存在,则删除之==
**ls**==:==
==显示目录内容==
==最常用参数:==
==-a        —-显示指定目录所有文件,包括文件名以 . 开头的文件==
==-l        —-显示文件详细信息(包括文件类型,权限,修改时间,访问时间,大小,文件名…)==
==-h        —-将文件大小以方便阅读的形式表示出来,配合 -l 参数使用,常有奇效==
**man**==:==
==阅读参考手册of~==
==题外话:HX说这是linux最最难学的命令,因为man你学好了,就没有什么命令能难倒你了,=.=无敌了==
==man可以查的不仅仅是命令额(当然,因为man是无敌的嘛/ch)==
==最常用参数:==
==man 阿拉伯数字==
==阿拉伯数字1: 可执行程序(一般为用户安装的程序,如果提供了manpages的话)和shell命令==
==阿拉伯数字2: 系统调用(例如 open调用,socket调用,chmod调用 等等等等),先装manpages-dev先==
==阿拉伯数字3: 库函数调用(例如 man 3 printf),先装manpages-dev先==
==…….==
==当你执行man ls 时, 和 man 1 ls结果是一样的,因为ls在man手册中只有一个入口==
==当你想看chmod调用的手册页时,就要特别指定 man 2 chmod了~~因为chmod不止有一个入口==
==在man的时候,可以通过j,k上下移动(和vi中类似),可以通过/查询,通过n,N查找下个,上个匹配(和vi类似)==
==q退出(也和vi类似….)==
==比较有意思的一点:==
==由于man 本身是个命令,所以,连man都是可以man的 =.===
**mkdir**==:==
==创建一个目录==
==最常用参数:==
==-p        —-如果给出的路径中父目录不存在,则同时创建父目录==
**mount**==:==
==挂载文件系统(可理解为挂载一个分区)==
==最常用参数:==
==-t        —-指定文件系统类型,比如iso9660(挂载iso镜像为光盘,相当于虚拟光驱),ntfs,ext3,rfs等等==
==-l        —-列出所有已经挂载的文件系统,支持卷标==
==-a        —-挂载fstab中记录的所有分区==
==-n        —-挂载的时候不写入/etc/mtab==
==-o        —-相当常用的一个参数,指定挂载文件系统的”选项”,比如noatime,用来挂载BT专用分区很合适==
**mv**==:==
==移动或者更名文件,取决于目的目录是否为当前目录==
==最常用参数:==
==-b        —-为每个已经存在的目的文件做个备份(防止覆盖)==
==-f        —-不提示是否覆盖已经存在的目的文件==
==-i        —-与-f参数相反==
==-u        —-仅当源文件比目的文件更新或者目的文件不存在时候才移动==
==-v        —-显示移动文件的进度(个人总是推荐使用此参数,明白你在做什么)==
**ps,top:**
==列出当前命令的执行状态,ps为静态,top为动态(top时q退出)==
==ps:这个命令本人更常用些,推荐给你看看=.===
==最常用参数(ps多用参数集合,而不是单个参数,并且配合grep使用)==
==-ef        —-以标准语法列出当前所有进程状态,例如ps -ef | grep eva #列出eva的进程状态==
==aux        —-以BSD语法列出………………………………..==
==-ejH    —-列出进程树==
==-eLf    —-同时列出线程状态==
**rm, rmdir:**
==rm:删除文件或目录,rmdir:删除一个空目录(此命令个人认为没啥用,可以用rm -r替代)==
==rm最常用参数:==
==-f        —-不提示不存在的文件,直接跳过==
==-i        —-每个删除动作都提示 (=.= 删除多的话岂不是烦死)==
==-I        —-删除多个文件(多于3个时)或者递归式删除(对于非空目录)提示一次==
==-r和-R    —-递归式删除该目录下的一切东东==
==-v        —-显示每个文件的删除动作(个人总是推荐使用此参数,明白你在做什么)==
**sudo,su:**
==这大概是装好系统之后第一个要用的命令吧?==
==sudo我们主要用来临时提升权限,主要用以管理员(超级用户)的权限来运行命令,当需要修改当前登录用户力所不能及的文件/目录==
==时需要用sudo,或者su -c,当然sudo和su的作用范围不仅仅如此==
==可以使用visudo来编辑/etc/sudoers文件来修改sudo更详细的动作(比如记住密码的时间戳长度),请谨慎修改!==
**sh:**
==在终端解释执行==
==类似于’./’的形式,但PT给了不同点: ./’仅仅对当前目录下有执行权限的程序才有效,sh则不管这套==
==想想也是哈, ./’仅仅是给出了一个文件的路径(在当前目录下)而已, 但这个文件能不能执行就不好说了==
==所以用sh总是正确的==
**shutdown:**
==关闭系统,如果停留在TTY,请改用halt, poweroff等命令==
==常用参数:==
==+m        —-指定关机延迟的分钟==
==-c        —-取消一个等待关机的请求(关掉运行此命令的终端也可:))==
==now        —-立即关机==
==hh:mm    —-手动指定时间(以24小时计)==
**tar:**
==打包/解包==
==这个tar不多说了吧..到处都是tar.gz,tar.bz2的东东==
==和ps命令一样,tar一般不用单个参数,而是多个参数的组合,记住参数x是解压(extract),c是创建包(creat)即可==
==最常用参数:==
==-xvf    —-详细列出解包的步骤==
==-cvf    —-详细列出打包的步骤==
==-j        —-用来说明这是个tar.bz2包,例如tar -xjvf myfile.tar.bz2==
==-t        —-列出包中的文件列表==
==—–打包时常追加的参数:==
==-r        —-追加到压缩包中==
==-u        —-只把比包中更新的文件追加进去==
==-h        —-不把符号链接添加到包中,而是添加此符号链接指向的文件==
==附加说明:tar是个太强大的东东,常用的操作也就是打包解包,高级功能还是参阅man =.===
**touch:**
>
**apt-get:**
==debian系系统的软件包管理程序(其图形化前端就是大名鼎鼎的新立得了),会自动帮你搞定依赖关系==
==最常用参数:==
==update        —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要执行==
==upgrade        —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升级==
==install        —-安装软件包(可以使用tab补全软件包的名字,比较方便)==
==remove        —-卸载软件包==
==purge        —-卸载软件包,同时删除该软件的配置文件==
==source        —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定download-only参数)==
==该地址由/etc/apt/sources.list中的 deb-src 行指定==
==check        —-用来(自动)修复(已装)软件包之间的依赖关系==
==clean        —-清除/var/cache/apt/archives/包括其子目录partial/下的所有软件包缓存==
==autoclean    —-比clean常用,我的理解是删除低版本的缓存而保留高版本的(或者包括非当前源里的软件包?)==
**aptitude:**
==此为PT同学补充,他的说法是aptitude比apt-get少个横线,tab补全比较容易(=.=)~大概神牛都比较懒吧==
==不得不提下蛋蛋童鞋以前说过的ubuntu彩蛋:) <仅限于UBUNTU 8.04>==
==man apt        —-最后会看到 “本apt有着超级牛力” or “this APT has a super-cow power”==
==man aptitude    —-会看到 “这个aptitude没有超级牛力”==
==看看aptitude的参数,你就会明白为什么aptitude会标称”高级软件包管理程序”了==
==最常用参数:==
==search        —-在(你的源的)所有软件包列表中搜索该软件,search的表达式可以很复杂,具体看man==
==其余常用参数同apt-get==
**cat:**
==把(一个或多个)文件内容(连接)显示到标准输出==
==当文本文件很小,而且你只是想看下,并不打算用gedit或者vim之类编辑器编辑的时候,可以cat一下,我是用来配合grep使用==
**cd:**
==切换当前工作目录==
==不同于其他命令,这是一个shell内置命令,所以没有手册页可看…够基础,所以才会出现在本篇文章中(=.=)郁闷==
==最常用参数:==
==.        —-切换到当前目录(貌似没有什么意义)(.这个目录可以通过ls -a看到)==
==..        —-切换到上层目录==
==~        —-回到家目录(/home/你的登录名/)==
**chmod**==:==
==改变文件的权限位==
==linux文件系统的权限位有两种表示方法,要是详细说下,非得累死老鼠不可=.=,所以只说8进制数表示:)==
==简要介绍下:ls -l可以显示出文件的权限,比如(-rwxr-xr),代表了三种用户的权限==
==第一个rwx,代表文件所有者的权限,即(读,写,执行),用二进制表示为111,代表八进制中的4+2+1=7==
==第二个r-x,代表文件所有者同一用户组其他用户的权限,即(读, ,执行),用二进制表示为101,代表八进制中的5=4+0+1==
==第三个r,代表其他用户的权限,即(读, , ),二进制表示为100,代表八进制的4=4+0+0==
==所以这个文件的权限位为754==
==这也就是chmod的用法,例如chmod 751 myfile #将该文件权限设定为rwxr-xx==
==最常用参数:==
==-v        —-列出当前正在执行的步骤==
==-R        —-递归式,即改变非空目录下的一切为指定权限==
**cp**==:==
==拷贝文件和目录==
==最常用参数:==
==-b        —-为每个已经存在的目的文件作个备份==
==-d        —-遇到软链接时不拷贝软链接所指向的文件;拷贝时保留links属性(链接数)==
==-p        —-保留文件的访问权限,所有者,和时间戳==
==-R和-r    —-递归式拷贝(cp过程遇到非空目录才有效),即拷贝目录,子目录,子目录的子目录…..==
==-a        —-作用同-dpR==
==-s        —-并不真的做拷贝,而只是为每个文件作软链接(符号链接)==
==-u        —-同下面 mv 的-u参数==
**head, tail**
==就像这两个名字,一个显示文件头部,一个显示尾部==
==最常用参数:==
==-n        —-指定输出的(头部或尾部)行数, 当没有此参数时,默认显示10行==
**ifconfig**==:==
==配置网卡==
==最常用参数:==
==没有参数        —-列出当前活动网卡的状态==
==-a            —-列出所有网卡的状态==
==interface    —-指定网卡名称比如eth0==
==up            —-唤醒该网卡==
==down        —-关闭该网卡==
==arp,mtu,netmask addr,…等等很多参数 =.===
**ln**==:==
==为文件建立链接==
==linux的链接分为两种:硬链接和软链接,ln默认建立硬链接(hard link),两种的区别请自己搜索:)==
==最常用参数:==
==-s        —-建立软链接(符号链接,可以理解为win下的快捷方式)==
==-f        —-如果要建立的链接名已经存在,则删除之==
**ls**==:==
==显示目录内容==
==最常用参数:==
==-a        —-显示指定目录所有文件,包括文件名以 . 开头的文件==
==-l        —-显示文件详细信息(包括文件类型,权限,修改时间,访问时间,大小,文件名…)==
==-h        —-将文件大小以方便阅读的形式表示出来,配合 -l 参数使用,常有奇效==
**man**==:==
==阅读参考手册of~==
==题外话:HX说这是linux最最难学的命令,因为man你学好了,就没有什么命令能难倒你了,=.=无敌了==
==man可以查的不仅仅是命令额(当然,因为man是无敌的嘛/ch)==
==最常用参数:==
==man 阿拉伯数字==
==阿拉伯数字1: 可执行程序(一般为用户安装的程序,如果提供了manpages的话)和shell命令==
==阿拉伯数字2: 系统调用(例如 open调用,socket调用,chmod调用 等等等等),先装manpages-dev先==
==阿拉伯数字3: 库函数调用(例如 man 3 printf),先装manpages-dev先==
==…….==
==当你执行man ls 时, 和 man 1 ls结果是一样的,因为ls在man手册中只有一个入口==
==当你想看chmod调用的手册页时,就要特别指定 man 2 chmod了~~因为chmod不止有一个入口==
==在man的时候,可以通过j,k上下移动(和vi中类似),可以通过/查询,通过n,N查找下个,上个匹配(和vi类似)==
==q退出(也和vi类似….)==
==比较有意思的一点:==
==由于man 本身是个命令,所以,连man都是可以man的 =.===
**mkdir**==:==
==创建一个目录==
==最常用参数:==
==-p        —-如果给出的路径中父目录不存在,则同时创建父目录==
**mount**==:==
==挂载文件系统(可理解为挂载一个分区)==
==最常用参数:==
==-t        —-指定文件系统类型,比如iso9660(挂载iso镜像为光盘,相当于虚拟光驱),ntfs,ext3,rfs等等==
==-l        —-列出所有已经挂载的文件系统,支持卷标==
==-a        —-挂载fstab中记录的所有分区==
==-n        —-挂载的时候不写入/etc/mtab==
==-o        —-相当常用的一个参数,指定挂载文件系统的”选项”,比如noatime,用来挂载BT专用分区很合适==
**mv**==:==
==移动或者更名文件,取决于目的目录是否为当前目录==
==最常用参数:==
==-b        —-为每个已经存在的目的文件做个备份(防止覆盖)==
==-f        —-不提示是否覆盖已经存在的目的文件==
==-i        —-与-f参数相反==
==-u        —-仅当源文件比目的文件更新或者目的文件不存在时候才移动==
==-v        —-显示移动文件的进度(个人总是推荐使用此参数,明白你在做什么)==
**ps,top:**
==列出当前命令的执行状态,ps为静态,top为动态(top时q退出)==
==ps:这个命令本人更常用些,推荐给你看看=.===
==最常用参数(ps多用参数集合,而不是单个参数,并且配合grep使用)==
==-ef        —-以标准语法列出当前所有进程状态,例如ps -ef | grep eva #列出eva的进程状态==
==aux        —-以BSD语法列出………………………………..==
==-ejH    —-列出进程树==
==-eLf    —-同时列出线程状态==
**rm, rmdir:**
==rm:删除文件或目录,rmdir:删除一个空目录(此命令个人认为没啥用,可以用rm -r替代)==
==rm最常用参数:==
==-f        —-不提示不存在的文件,直接跳过==
==-i        —-每个删除动作都提示 (=.= 删除多的话岂不是烦死)==
==-I        —-删除多个文件(多于3个时)或者递归式删除(对于非空目录)提示一次==
==-r和-R    —-递归式删除该目录下的一切东东==
==-v        —-显示每个文件的删除动作(个人总是推荐使用此参数,明白你在做什么)==
**sudo,su:**
==这大概是装好系统之后第一个要用的命令吧?==
==sudo我们主要用来临时提升权限,主要用以管理员(超级用户)的权限来运行命令,当需要修改当前登录用户力所不能及的文件/目录==
==时需要用sudo,或者su -c,当然sudo和su的作用范围不仅仅如此==
==可以使用visudo来编辑/etc/sudoers文件来修改sudo更详细的动作(比如记住密码的时间戳长度),请谨慎修改!==
**sh:**
==在终端解释执行==
==类似于’./’的形式,但PT给了不同点: ./’仅仅对当前目录下有执行权限的程序才有效,sh则不管这套==
==想想也是哈, ./’仅仅是给出了一个文件的路径(在当前目录下)而已, 但这个文件能不能执行就不好说了==
==所以用sh总是正确的==
**shutdown:**
==关闭系统,如果停留在TTY,请改用halt, poweroff等命令==
==常用参数:==
==+m        —-指定关机延迟的分钟==
==-c        —-取消一个等待关机的请求(关掉运行此命令的终端也可:))==
==now        —-立即关机==
==hh:mm    —-手动指定时间(以24小时计)==
**tar:**
==打包/解包==
==这个tar不多说了吧..到处都是tar.gz,tar.bz2的东东==
==和ps命令一样,tar一般不用单个参数,而是多个参数的组合,记住参数x是解压(extract),c是创建包(creat)即可==
==最常用参数:==
==-xvf    —-详细列出解包的步骤==
==-cvf    —-详细列出打包的步骤==
==-j        —-用来说明这是个tar.bz2包,例如tar -xjvf myfile.tar.bz2==
==-t        —-列出包中的文件列表==
==—–打包时常追加的参数:==
==-r        —-追加到压缩包中==
==-u        —-只把比包中更新的文件追加进去==
==-h        —-不把符号链接添加到包中,而是添加此符号链接指向的文件==
==附加说明:tar是个太强大的东东,常用的操作也就是打包解包,高级功能还是参阅man =.===
**touch:**
==改变文件时间戳,默认包括修改时间和创建时间,默认修改为当前时间,默认如果文件不存在就新建(=.=是不是很罗嗦)==
\> 来自 \<[http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)\>
> 来自 <[http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)>

View File

@@ -1,401 +1,401 @@
==最近在项目中用到了Linux然后自己只会那些简单的发现头用的溜溜的所以查了一下常用的命令多查多用。==
==系统信息== 
==arch 显示机器的处理器==**架构**==(1)== 
==uname -m 显示机器的处理器架构(2)== 
==uname -r 显示正在使用的内核版本== 
==dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)== 
==hdparm -i /dev/hda 罗列一个磁盘的架构特性== 
==hdparm -tT /dev/sda 在磁盘上执行测试性读取操作== 
==cat /proc/cpuinfo 显示CPU info的信息== 
==cat /proc/interrupts 显示中断== 
==cat /proc/meminfo 校验内存使用== 
==cat /proc/swaps 显示哪些swap被使用== 
==cat /proc/version 显示内核的版本== 
==cat /proc/net/dev 显示网络适配器及统计== 
==cat /proc/mounts 显示已加载的文件系统== 
==lspci -tv 罗列 PCI 设备== 
==lsusb -tv 显示 USB 设备== 
==date 显示系统日期== 
==cal 2007 显示2007年的日历表== 
==date 041217002007.00 设置日期和时间 - 月日时分年.秒== 
==clock -w 将时间修改保存到 BIOS== 
==关机 (系统的关机、重启以及登出 )== 
==shutdown -h now 关闭系统(1)== 
==init 0 关闭系统(2)== 
==telinit 0 关闭系统(3)== 
==shutdown -h hours:minutes & 按预定时间关闭系统== 
==shutdown -c 取消按预定时间关闭系统== 
==shutdown -r now 重启(1)== 
==reboot 重启(2)== 
==logout 注销== 
==文件和目录== 
==cd /home 进入 '/ home' 目录'== 
==cd .. 返回上一级目录== 
==cd ../.. 返回上两级目录== 
==cd 进入个人的主目录== 
==cd ~user1 进入个人的主目录== 
==cd - 返回上次所在的目录== 
==pwd 显示工作路径== 
==ls 查看目录中的文件== 
==ls -F 查看目录中的文件== 
==ls -l 显示文件和目录的详细资料== 
==ls -a 显示隐藏文件== 
==ls *[0-9]* 显示包含数字的文件名和目录名== 
==tree 显示文件和目录由根目录开始的树形结构(1)== 
==lstree 显示文件和目录由根目录开始的树形结构(2)== 
==mkdir dir1 创建一个叫做 'dir1' 的目录'== 
==mkdir dir1 dir2 同时创建两个目录== 
==mkdir -p /tmp/dir1/dir2 创建一个目录树== 
==rm -f file1 删除一个叫做 'file1' 的文件'== 
==rmdir dir1 删除一个叫做 'dir1' 的目录'== 
==rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容== 
==rm -rf dir1 dir2 同时删除两个目录及它们的内容== 
==mv dir1 new_dir 重命名/移动 一个目录== 
==cp file1 file2 复制一个文件== 
==cp dir/* . 复制一个目录下的所有文件到当前工作目录== 
==cp -a /tmp/dir1 . 复制一个目录到当前工作目录== 
==cp -a dir1 dir2 复制一个目录== 
==ln -s file1 lnk1 创建一个指向文件或目录的软链接== 
==ln file1 lnk1 创建一个指向文件或目录的物理链接== 
==touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)== 
==file file1 outputs the mime type of the file as text== 
==iconv -l 列出已知的编码== 
==iconv -f fromEncoding -t toEncoding inputFile \> outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.== 
==find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)== 
==文件搜索== 
==find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录== 
==find / -user user1 搜索属于用户 'user1' 的文件和目录== 
==find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件== 
==find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件== 
==find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件== 
==find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限== 
==find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备== 
==locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令== 
==whereis halt 显示一个二进制文件、源码或man的位置== 
==which halt 显示一个二进制文件或可执行文件的完整路径== 
==挂载一个文件系统== 
==mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在== 
==umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出== 
==fuser -km /mnt/hda2 当设备繁忙时强制卸载== 
==umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用== 
==mount /dev/fd0 /mnt/floppy 挂载一个软盘== 
==mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom== 
==mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom== 
==mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom== 
==mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件== 
==mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统== 
==mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备== 
==mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享== 
==磁盘空间== 
==df -h 显示已经挂载的分区列表== 
==ls -lSr |more 以尺寸大小排列文件和目录== 
==du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'== 
==du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小== 
==rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)== 
==dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)== 
==返回顶部索引 ^==
==用户和群组== 
==groupadd group_name 创建一个新用户组== 
==groupdel group_name 删除一个用户组== 
==groupmod -n new_group_name old_group_name 重命名一个用户组== 
==useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户== 
==useradd user1 创建一个新用户== 
==userdel -r user1 删除一个用户 ( '-r' 排除主目录)== 
==usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性== 
==passwd 修改口令== 
==passwd user1 修改一个用户的口令 (只允许root执行)== 
==chage -E 2005-12-31 user1 设置用户口令的失效期限== 
==pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户== 
==grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组== 
==newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组== 
==返回顶部索引 ^==
==文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消== 
==ls -lh 显示权限== 
==ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示== 
==chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读r )、写(w)和执行(x)的权限== 
==chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限== 
==chown user1 file1 改变一个文件的所有人属性== 
==chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性== 
==chgrp group1 file1 改变文件的群组== 
==chown user1:group1 file1 改变一个文件的所有人和群组属性== 
==find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件== 
==chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限== 
==chmod u-s /bin/file1 禁用一个二进制文件的 SUID位== 
==chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的== 
==chmod g-s /home/public 禁用一个目录的 SGID 位== 
==chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件== 
==chmod o-t /home/public 禁用一个目录的 STIKY 位== 
==返回顶部索引 ^==
==文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消== 
==chattr +a file1 只允许以追加方式读写文件== 
==chattr +c file1 允许这个文件能被内核自动压缩/解压== 
==chattr +d file1 在进行文件系统备份时dump程序将忽略这个文件== 
==chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接== 
==chattr +s file1 允许一个文件被安全地删除== 
==chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘== 
==chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件== 
==lsattr 显示特殊的属性== 
==返回顶部索引 ^==
==打包和压缩文件== 
==bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件== 
==bzip2 file1 压缩一个叫做 'file1' 的文件== 
==gunzip file1.gz 解压一个叫做 'file1.gz'的文件== 
==gzip file1 压缩一个叫做 'file1'的文件== 
==gzip -9 file1 最大程度压缩== 
==rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包== 
==rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'== 
==rar x file1.rar 解压rar包== 
==unrar x file1.rar 解压rar包== 
==tar -cvf archive.tar file1 创建一个非压缩的 tarball== 
==tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件== 
==tar -tf archive.tar 显示一个包中的内容== 
==tar -xvf archive.tar 释放一个包== 
==tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下== 
==tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包== 
==tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包== 
==tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包== 
==tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包== 
==zip file1.zip file1 创建一个zip格式的压缩包== 
==zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包== 
==unzip file1.zip 解压一个zip格式压缩包== 
==返回顶部索引 ^==
==RPM 包 - Fedora, Redhat及类似系统== 
==rpm -ivh package.rpm 安装一个rpm包== 
==rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告== 
==rpm -U package.rpm 更新一个rpm包但不改变其配置文件== 
==rpm -F package.rpm 更新一个确定已经安装的rpm包== 
==rpm -e package_name.rpm 删除一个rpm包== 
==rpm -qa 显示系统中所有已经安装的rpm包== 
==rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包== 
==rpm -qi package_name 获取一个已安装包的特殊信息== 
==rpm -qg "System Environment/Daemons" 显示一个组件的rpm包== 
==rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表== 
==rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表== 
==rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表== 
==rpm -q package_name --whatprovides 显示一个rpm包所占的体积== 
==rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l== 
==rpm -q package_name --changelog 显示一个rpm包的修改历史== 
==rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供== 
==rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表== 
==rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书== 
==rpm --checksig package.rpm 确认一个rpm包的完整性== 
==rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性== 
==rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间== 
==rpm -Va 检查系统中所有已安装的rpm包- 小心使用== 
==rpm -Vp package.rpm 确认一个rpm包还未安装== 
==rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件== 
==rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包== 
==rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包== 
==返回顶部索引 ^==
==YUM 软件包升级器 - Fedora, RedHat及类似系统== 
==yum install package_name 下载并安装一个rpm包== 
==yum localinstall package_name.rpm 将安装一个rpm包使用你自己的软件仓库为你解决所有依赖关系== 
==yum update package_name.rpm 更新当前系统中所有安装的rpm包== 
==yum update package_name 更新一个rpm包== 
==yum remove package_name 删除一个rpm包== 
==yum list 列出当前系统中安装的所有包== 
==yum search package_name 在rpm仓库中搜寻软件包== 
==yum clean packages 清理rpm缓存删除下载的包== 
==yum clean headers 删除所有头文件== 
==yum clean all 删除所有缓存的包和头文件== 
==返回顶部索引 ^==
==DEB 包 (Debian, Ubuntu 以及类似系统)== 
==dpkg -i package.deb 安装/更新一个 deb 包== 
==dpkg -r package_name 从系统删除一个 deb 包== 
==dpkg -l 显示系统中所有已经安装的 deb 包== 
==dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包== 
==dpkg -s package_name 获得已经安装在系统中一个特殊包的信息== 
==dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表== 
==dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表== 
==dpkg -S /bin/ping 确认所给的文件由哪个deb包提供== 
==返回顶部索引 ^==
==APT 软件工具 (Debian, Ubuntu 以及类似系统)== 
==apt-get install package_name 安装/更新一个 deb 包== 
==apt-cdrom install package_name 从光盘安装/更新一个 deb 包== 
==apt-get update 升级列表中的软件包== 
==apt-get upgrade 升级所有已安装的软件== 
==apt-get remove package_name 从系统删除一个deb包== 
==apt-get check 确认依赖的软件仓库正确== 
==apt-get clean 从下载的软件包中清理缓存== 
==apt-cache search searched-package 返回包含所要搜索字符串的软件包名称== 
==返回顶部索引 ^==
==查看文件内容== 
==cat file1 从第一个字节开始正向查看文件的内容== 
==tac file1 从最后一行开始反向查看一个文件的内容== 
==more file1 查看一个长文件的内容== 
==less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作== 
==head -2 file1 查看一个文件的前两行== 
==tail -2 file1 查看一个文件的最后两行== 
==tail -f /var/log/messages 实时查看被添加到一个文件中的内容== 
==返回顶部索引 ^==
==文本处理== 
==cat file1 file2 ... | command \<\> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT== 
==cat file1 | command( sed, grep, awk, grep, etc...) \> result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中== 
==cat file1 | command( sed, grep, awk, grep, etc...) \>\> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中== 
==grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"== 
==grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇== 
==grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行== 
==grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"== 
==sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"== 
==sed '/^$/d' example.txt 从example.txt文件中删除所有空白行== 
==sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行== 
==echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容== 
==sed -e '1d' result.txt 从文件example.txt 中排除第一行== 
==sed -n '/stringa1/p' 查看只包含词汇 "string1"的行== 
==sed -e 's/ *$//' example.txt 删除每一行最后的空白字符== 
==sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部== 
==sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容== 
==sed -n '5p;5q' example.txt 查看第5行== 
==sed -e 's/00*/0/g' example.txt 用单个零替换多个零== 
==cat -n file1 标示文件的行数== 
==cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行== 
==echo a b c | awk '{print $1}' 查看一行第一栏== 
==echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏== 
==paste file1 file2 合并两个文件或两栏的内容== 
==paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分== 
==sort file1 file2 排序两个文件的内容== 
==sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)== 
==sort file1 file2 | uniq -u 删除交集,留下其他的行== 
==sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)== 
==comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容== 
==comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容== 
==comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分== 
==返回顶部索引 ^==
==最近在项目中用到了Linux然后自己只会那些简单的发现头用的溜溜的所以查了一下常用的命令多查多用。==
==系统信息==
==arch 显示机器的处理器==**架构**==(1)==
==uname -m 显示机器的处理器架构(2)==
==uname -r 显示正在使用的内核版本==
==dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)==
==hdparm -i /dev/hda 罗列一个磁盘的架构特性==
==hdparm -tT /dev/sda 在磁盘上执行测试性读取操作==
==cat /proc/cpuinfo 显示CPU info的信息==
==cat /proc/interrupts 显示中断==
==cat /proc/meminfo 校验内存使用==
==cat /proc/swaps 显示哪些swap被使用==
==cat /proc/version 显示内核的版本==
==cat /proc/net/dev 显示网络适配器及统计==
==cat /proc/mounts 显示已加载的文件系统==
==lspci -tv 罗列 PCI 设备==
==lsusb -tv 显示 USB 设备==
==date 显示系统日期==
==cal 2007 显示2007年的日历表==
==date 041217002007.00 设置日期和时间 - 月日时分年.秒==
==clock -w 将时间修改保存到 BIOS==
==关机 (系统的关机、重启以及登出 )==
==shutdown -h now 关闭系统(1)==
==init 0 关闭系统(2)==
==telinit 0 关闭系统(3)==
==shutdown -h hours:minutes & 按预定时间关闭系统==
==shutdown -c 取消按预定时间关闭系统==
==shutdown -r now 重启(1)==
==reboot 重启(2)==
==logout 注销==
==文件和目录==
==cd /home 进入 '/ home' 目录'==
==cd .. 返回上一级目录==
==cd ../.. 返回上两级目录==
==cd 进入个人的主目录==
==cd ~user1 进入个人的主目录==
==cd - 返回上次所在的目录==
==pwd 显示工作路径==
==ls 查看目录中的文件==
==ls -F 查看目录中的文件==
==ls -l 显示文件和目录的详细资料==
==ls -a 显示隐藏文件==
==ls *[0-9]* 显示包含数字的文件名和目录名==
==tree 显示文件和目录由根目录开始的树形结构(1)==
==lstree 显示文件和目录由根目录开始的树形结构(2)==
==mkdir dir1 创建一个叫做 'dir1' 的目录'==
==mkdir dir1 dir2 同时创建两个目录==
==mkdir -p /tmp/dir1/dir2 创建一个目录树==
==rm -f file1 删除一个叫做 'file1' 的文件'==
==rmdir dir1 删除一个叫做 'dir1' 的目录'==
==rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容==
==rm -rf dir1 dir2 同时删除两个目录及它们的内容==
==mv dir1 new_dir 重命名/移动 一个目录==
==cp file1 file2 复制一个文件==
==cp dir/* . 复制一个目录下的所有文件到当前工作目录==
==cp -a /tmp/dir1 . 复制一个目录到当前工作目录==
==cp -a dir1 dir2 复制一个目录==
==ln -s file1 lnk1 创建一个指向文件或目录的软链接==
==ln file1 lnk1 创建一个指向文件或目录的物理链接==
==touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)==
==file file1 outputs the mime type of the file as text==
==iconv -l 列出已知的编码==
==iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.==
==find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)==
==文件搜索==
==find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录==
==find / -user user1 搜索属于用户 'user1' 的文件和目录==
==find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件==
==find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件==
==find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件==
==find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限==
==find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备==
==locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令==
==whereis halt 显示一个二进制文件、源码或man的位置==
==which halt 显示一个二进制文件或可执行文件的完整路径==
==挂载一个文件系统==
==mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在==
==umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出==
==fuser -km /mnt/hda2 当设备繁忙时强制卸载==
==umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用==
==mount /dev/fd0 /mnt/floppy 挂载一个软盘==
==mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom==
==mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom==
==mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom==
==mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件==
==mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统==
==mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备==
==mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享==
==磁盘空间==
==df -h 显示已经挂载的分区列表==
==ls -lSr |more 以尺寸大小排列文件和目录==
==du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'==
==du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小==
==rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)==
==dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)==
==字符设置和文件格式转换== 
==dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX== 
==unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS== 
==recode ..HTML \< page.txt \> page.html 将一个文本文件转换成html== 
==recode -l | more 显示所有允许的转换格式== 
==返回顶部索引 ^==
==文件系统分析== 
==badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块== 
==fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性== 
==fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性== 
==e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性== 
==e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性== 
==fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性== 
==fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性== 
==fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性== 
==dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性== 
==用户和群组==
==groupadd group_name 创建一个新用户组==
==groupdel group_name 删除一个用户组==
==groupmod -n new_group_name old_group_name 重命名一个用户组==
==useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户==
==useradd user1 创建一个新用户==
==userdel -r user1 删除一个用户 ( '-r' 排除主目录)==
==usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性==
==passwd 修改口令==
==passwd user1 修改一个用户的口令 (只允许root执行)==
==chage -E 2005-12-31 user1 设置用户口令的失效期限==
==pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户==
==grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组==
==newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组==
==返回顶部索引 ^==
==初始化一个文件系统== 
==mkfs /dev/hda1 在hda1分区创建一个文件系统== 
==mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统== 
==mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统== 
==mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统== 
==fdformat -n /dev/fd0 格式化一个软盘== 
==mkswap /dev/hda3 创建一个swap文件系统== 
==文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消==
==ls -lh 显示权限==
==ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示==
==chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读r )、写(w)和执行(x)的权限==
==chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限==
==chown user1 file1 改变一个文件的所有人属性==
==chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性==
==chgrp group1 file1 改变文件的群组==
==chown user1:group1 file1 改变一个文件的所有人和群组属性==
==find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件==
==chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限==
==chmod u-s /bin/file1 禁用一个二进制文件的 SUID位==
==chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的==
==chmod g-s /home/public 禁用一个目录的 SGID 位==
==chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件==
==chmod o-t /home/public 禁用一个目录的 STIKY 位==
==返回顶部索引 ^==
==SWAP文件系统== 
==mkswap /dev/hda3 创建一个swap文件系统== 
==swapon /dev/hda3 启用一个新的swap文件系统== 
==swapon /dev/hda2 /dev/hdb3 启用两个swap分区== 
==文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消==
==chattr +a file1 只允许以追加方式读写文件==
==chattr +c file1 允许这个文件能被内核自动压缩/解压==
==chattr +d file1 在进行文件系统备份时dump程序将忽略这个文件==
==chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接==
==chattr +s file1 允许一个文件被安全地删除==
==chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘==
==chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件==
==lsattr 显示特殊的属性==
==返回顶部索引 ^==
==备份== 
==dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份== 
==dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份== 
==restore -if /tmp/home0.bak 还原一个交互式备份== 
==rsync -rogpav --delete /home /tmp 同步两边的目录== 
==rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync== 
==rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录== 
==rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录== 
==dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作== 
==dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件== 
==tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作== 
==( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容== 
==( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录== 
==tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接== 
==find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录== 
==find /var/log -name '*.log' | tar cv --files-from=- | bzip2 \> log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包== 
==dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作== 
==dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容== 
==打包和压缩文件==
==bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件==
==bzip2 file1 压缩一个叫做 'file1' 的文件==
==gunzip file1.gz 解压一个叫做 'file1.gz'的文件==
==gzip file1 压缩一个叫做 'file1'的文件==
==gzip -9 file1 最大程度压缩==
==rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包==
==rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'==
==rar x file1.rar 解压rar包==
==unrar x file1.rar 解压rar包==
==tar -cvf archive.tar file1 创建一个非压缩的 tarball==
==tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件==
==tar -tf archive.tar 显示一个包中的内容==
==tar -xvf archive.tar 释放一个包==
==tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录==
==tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包==
==tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包==
==tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包==
==tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包==
==zip file1.zip file1 创建一个zip格式的压缩包==
==zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包==
==unzip file1.zip 解压一个zip格式压缩包==
==返回顶部索引 ^==
==光盘== 
==cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容== 
==mkisofs /dev/cdrom \> cd.iso 在磁盘上创建一个光盘的iso镜像文件== 
==mkisofs /dev/cdrom | gzip \> cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件== 
==mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件== 
==cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件== 
==gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件== 
==mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件== 
==cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中== 
==cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3== 
==cdrecord --scanbus 扫描总线以识别scsi通道== 
==dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码例如一张 CD== 
==RPM 包 - Fedora, Redhat及类似系统==
==rpm -ivh package.rpm 安装一个rpm包==
==rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告==
==rpm -U package.rpm 更新一个rpm包但不改变其配置文件==
==rpm -F package.rpm 更新一个确定已经安装的rpm包==
==rpm -e package_name.rpm 删除一个rpm包==
==rpm -qa 显示系统中所有已经安装的rpm包==
==rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包==
==rpm -qi package_name 获取一个已安装包的特殊信息==
==rpm -qg "System Environment/Daemons" 显示一个组件的rpm包==
==rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表==
==rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表==
==rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表==
==rpm -q package_name --whatprovides 显示一个rpm包所占的体积==
==rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l==
==rpm -q package_name --changelog 显示一个rpm包的修改历史==
==rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供==
==rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表==
==rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书==
==rpm --checksig package.rpm 确认一个rpm包的完整性==
==rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性==
==rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间==
==rpm -Va 检查系统中所有已安装的rpm包- 小心使用==
==rpm -Vp package.rpm 确认一个rpm包还未安装==
==rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件==
==rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包==
==rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包==
==返回顶部索引 ^==
==网络 - 以太网和WIFI无线== 
==ifconfig eth0 显示一个以太网卡的配置== 
==ifup eth0 启用一个 'eth0' 网络设备== 
==ifdown eth0 禁用一个 'eth0' 网络设备== 
==ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址== 
==ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)== 
==dhclient eth0 以dhcp模式启用 'eth0'== 
==route -n show routing table== 
==route add -net 0/0 gw IP_Gateway configura default gateway== 
==route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'== 
==route del 0/0 gw IP_gateway remove static route== 
==echo "1" \> /proc/sys/net/ipv4/ip_forward activate ip routing== 
==hostname show hostname of system== 
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(1)== 
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(2)== 
==ip link show show link status of all interfaces== 
==mii-tool eth0 show link status of 'eth0'== 
==ethtool eth0 show statistics of network card 'eth0'== 
==netstat -tup show all active network connections and their PID== 
==netstat -tupl show all network services listening on the system and their PID== 
==tcpdump tcp port 80 show all HTTP traffic== 
==iwlist scan show wireless networks== 
==iwconfig eth1 show configuration of a wireless network card== 
==hostname show hostname== 
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa== 
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa== 
==whois== ==www.example.com== ==lookup on Whois database== 
==GO TOP INDEX ^== 
==Microsoft Windows networks (SAMBA)== 
==nbtscan ip_addr netbios name resolution== 
==nmblookup -A ip_addr netbios name resolution== 
==smbclient -L ip_addr/hostname show remote shares of a windows host== 
==smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb== 
==YUM 软件包升级器 - Fedora, RedHat及类似系统==
==yum install package_name 下载并安装一个rpm包==
==yum localinstall package_name.rpm 将安装一个rpm包使用你自己的软件仓库为你解决所有依赖关系==
==yum update package_name.rpm 更新当前系统中所有安装的rpm包==
==yum update package_name 更新一个rpm包==
==yum remove package_name 删除一个rpm包==
==yum list 列出当前系统中安装的所有包==
==yum search package_name 在rpm仓库中搜寻软件包==
==yum clean packages 清理rpm缓存删除下载的包==
==yum clean headers 删除所有头文件==
==yum clean all 删除所有缓存的包和头文件==
==返回顶部索引 ^==
==DEB 包 (Debian, Ubuntu 以及类似系统)==
==dpkg -i package.deb 安装/更新一个 deb 包==
==dpkg -r package_name 从系统删除一个 deb 包==
==dpkg -l 显示系统中所有已经安装的 deb 包==
==dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包==
==dpkg -s package_name 获得已经安装在系统中一个特殊包的信息==
==dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表==
==dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表==
==dpkg -S /bin/ping 确认所给的文件由哪个deb包提供==
==返回顶部索引 ^==
==APT 软件工具 (Debian, Ubuntu 以及类似系统)==
==apt-get install package_name 安装/更新一个 deb 包==
==apt-cdrom install package_name 从光盘安装/更新一个 deb 包==
==apt-get update 升级列表中的软件包==
==apt-get upgrade 升级所有已安装的软件==
==apt-get remove package_name 从系统删除一个deb包==
==apt-get check 确认依赖的软件仓库正确==
==apt-get clean 从下载的软件包中清理缓存==
==apt-cache search searched-package 返回包含所要搜索字符串的软件包名称==
==返回顶部索引 ^==
==查看文件内容==
==cat file1 从第一个字节开始正向查看文件的内容==
==tac file1 从最后一行开始反向查看一个文件的内容==
==more file1 查看一个长文件的内容==
==less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作==
==head -2 file1 查看一个文件的前两行==
==tail -2 file1 查看一个文件的最后两行==
==tail -f /var/log/messages 实时查看被添加到一个文件中的内容==
==返回顶部索引 ^==
==文本处理==
==cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT==
==cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中==
==cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中==
==grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"==
==grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇==
==grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行==
==grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"==
==sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"==
==sed '/^$/d' example.txt 从example.txt文件中删除所有空白行==
==sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行==
==echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容==
==sed -e '1d' result.txt 从文件example.txt 中排除第一行==
==sed -n '/stringa1/p' 查看只包含词汇 "string1"的行==
==sed -e 's/ *$//' example.txt 删除每一行最后的空白字符==
==sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部==
==sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容==
==sed -n '5p;5q' example.txt 查看第5行==
==sed -e 's/00*/0/g' example.txt 用单个零替换多个零==
==cat -n file1 标示文件的行数==
==cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行==
==echo a b c | awk '{print $1}' 查看一行第一栏==
==echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏==
==paste file1 file2 合并两个文件或两栏的内容==
==paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分==
==sort file1 file2 排序两个文件的内容==
==sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)==
==sort file1 file2 | uniq -u 删除交集,留下其他的行==
==sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)==
==comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容==
==comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容==
==comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分==
==返回顶部索引 ^==
==字符设置和文件格式转换==
==dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX==
==unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS==
==recode ..HTML < page.txt > page.html 将一个文本文件转换成html==
==recode -l | more 显示所有允许的转换格式==
==返回顶部索引 ^==
==文件系统分析==
==badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块==
==fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性==
==fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性==
==e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性==
==e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性==
==fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性==
==fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性==
==fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性==
==dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性==
==返回顶部索引 ^==
==初始化一个文件系统==
==mkfs /dev/hda1 在hda1分区创建一个文件系统==
==mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统==
==mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统==
==mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统==
==fdformat -n /dev/fd0 格式化一个软盘==
==mkswap /dev/hda3 创建一个swap文件系统==
==返回顶部索引 ^==
==SWAP文件系统==
==mkswap /dev/hda3 创建一个swap文件系统==
==swapon /dev/hda3 启用一个新的swap文件系统==
==swapon /dev/hda2 /dev/hdb3 启用两个swap分区==
==返回顶部索引 ^==
==备份==
==dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份==
==dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份==
==restore -if /tmp/home0.bak 还原一个交互式备份==
==rsync -rogpav --delete /home /tmp 同步两边的目录==
==rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync==
==rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录==
==rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录==
==dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作==
==dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件==
==tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作==
==( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容==
==( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录==
==tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接==
==find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录==
==find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包==
==dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作==
==dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容==
==返回顶部索引 ^==
==光盘==
==cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容==
==mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件==
==mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件==
==mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件==
==cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件==
==gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件==
==mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件==
==cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中==
==cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3==
==cdrecord --scanbus 扫描总线以识别scsi通道==
==dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码例如一张 CD==
==返回顶部索引 ^==
==网络 - 以太网和WIFI无线==
==ifconfig eth0 显示一个以太网卡的配置==
==ifup eth0 启用一个 'eth0' 网络设备==
==ifdown eth0 禁用一个 'eth0' 网络设备==
==ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址==
==ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)==
==dhclient eth0 以dhcp模式启用 'eth0'==
==route -n show routing table==
==route add -net 0/0 gw IP_Gateway configura default gateway==
==route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'==
==route del 0/0 gw IP_gateway remove static route==
==echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing==
==hostname show hostname of system==
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(1)==
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(2)==
==ip link show show link status of all interfaces==
==mii-tool eth0 show link status of 'eth0'==
==ethtool eth0 show statistics of network card 'eth0'==
==netstat -tup show all active network connections and their PID==
==netstat -tupl show all network services listening on the system and their PID==
==tcpdump tcp port 80 show all HTTP traffic==
==iwlist scan show wireless networks==
==iwconfig eth1 show configuration of a wireless network card==
==hostname show hostname==
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa==
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa==
==whois== ==www.example.com== ==lookup on Whois database==
==GO TOP INDEX ^==
==Microsoft Windows networks (SAMBA)==
==nbtscan ip_addr netbios name resolution==
==nmblookup -A ip_addr netbios name resolution==
==smbclient -L ip_addr/hostname show remote shares of a windows host==
==smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb==
==mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share==
\> 来自 \<[http://blog.csdn.net/ww130929/article/details/69788517](http://blog.csdn.net/ww130929/article/details/69788517)\>
> 来自 <[http://blog.csdn.net/ww130929/article/details/69788517](http://blog.csdn.net/ww130929/article/details/69788517)>

View File

@@ -1,19 +1,19 @@
有两个修改命令可以用到「change mode」&「change owner」
==即chmod以及chown其中可以用递归参数====-R====来实现更改所有子文件和子目录的权限。==
==1、利用chmod修改权限==
==对Document/目录下的所有子文件与子目录执行相同的权限变更:==
有两个修改命令可以用到「change mode」&「change owner」
==即chmod以及chown其中可以用递归参数====-R====来实现更改所有子文件和子目录的权限。==
==1、利用chmod修改权限==
==对Document/目录下的所有子文件与子目录执行相同的权限变更:==
==chmod -R 700 Document/==
==-R参数是递归 处理目录下的所有文件以及子文件夹==
700是变更后的权限表示只有所有者有读和写以及执行的权限
Document/ 是需要执行的目录
==2、利用chown改变所有者==
==对Document/ 目录下的所有文件与子目录执行相同的所有者变更修改所有者为users用户组的username用户==
==2、利用chown改变所有者==
==对Document/ 目录下的所有文件与子目录执行相同的所有者变更修改所有者为users用户组的username用户==
==chown -R username:users Document/==
==username:users users用户组的username用户组参数不是必须有==
==username:users users用户组的username用户组参数不是必须有==
==参考http://rabbit52.com/2011/linux/ubuntu/linux-chmod-chown==
\> 来自 \<[http://blog.csdn.net/songyu0120/article/details/43408499](http://blog.csdn.net/songyu0120/article/details/43408499)\>
> 来自 <[http://blog.csdn.net/songyu0120/article/details/43408499](http://blog.csdn.net/songyu0120/article/details/43408499)>

View File

@@ -1,5 +1,5 @@
==du -sh /*==
==可以列出你整个VPS所有文件夹的大小。其中“/*”是控制分析哪个目录的,你根据上面的结果,然后灵活变化后面的路径就行了,例如:==
==du -sh /usr/*==
==du -sh /*==
==可以列出你整个VPS所有文件夹的大小。其中“/*”是控制分析哪个目录的,你根据上面的结果,然后灵活变化后面的路径就行了,例如:==
==du -sh /usr/*==
==用这个命令来分析usr目录下的文件夹大小最后定位到大文件直接删除就行了。==
\> 来自 \<[https://www.hack520.com/504.html](https://www.hack520.com/504.html)\>
> 来自 <[https://www.hack520.com/504.html](https://www.hack520.com/504.html)>

View File

@@ -1,38 +1,38 @@
[https://blog.csdn.net/yaoxingshuai/article/details/50563245](https://blog.csdn.net/yaoxingshuai/article/details/50563245)
楼主给笔记本电脑装了双系统常年放在寝室开着平时用实验室的电脑偶尔需要笔记本的时候就远程控制。后来就发现了一个问题我远程连接linux的时候只能看见Linux这个分区的内容windows的D、E、F盘都没有这个时候如果要找这些盘符里的文件就比较麻烦了
于是乎机智的楼主看了一下Linux里的设备文件
cd  /dev
ls -l sd*
能看见楼主的笔记本硬盘分了好几个区C D E F G H为了确保准确楼主又看了一下硬盘信息
fdisk -lu
第四列Blocks指的分区大小sda1=52436128B 大概50GB这不是我的C盘么
最后一个sda9 = 12545024B 大概 12GB就是我安装Linux的盘符
sda2 = sda5+sda6+sda7+sda8+sda9 一共大概450G于是机制的楼主推断出sda5便是我要的D盘
我的D盘时尚时尚最时尚我情不自禁的要把D盘挂载到Linux下于是乎
cd /mnt   一般挂载到/mnt 或者 /media, 都可以
ls         发现目前啥都没有
mkdir thinkiii    我想把D盘挂载过来取名thinkiii这个无所谓的
mount /dev/sda5   /mnt/thinkiii    这样便把sda5也就是D盘挂载到/mnt/thinkiii了
cd /mnt/thinkiii
ls            便可查看D盘的文件了
————————————————
版权声明本文为CSDN博主「浴前带刀侍卫」的原创文章遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
楼主给笔记本电脑装了双系统常年放在寝室开着平时用实验室的电脑偶尔需要笔记本的时候就远程控制。后来就发现了一个问题我远程连接linux的时候只能看见Linux这个分区的内容windows的D、E、F盘都没有这个时候如果要找这些盘符里的文件就比较麻烦了
于是乎机智的楼主看了一下Linux里的设备文件
cd  /dev
ls -l sd*
能看见楼主的笔记本硬盘分了好几个区C D E F G H为了确保准确楼主又看了一下硬盘信息
fdisk -lu
第四列Blocks指的分区大小sda1=52436128B 大概50GB这不是我的C盘么
最后一个sda9 = 12545024B 大概 12GB就是我安装Linux的盘符
sda2 = sda5+sda6+sda7+sda8+sda9 一共大概450G于是机制的楼主推断出sda5便是我要的D盘
我的D盘时尚时尚最时尚我情不自禁的要把D盘挂载到Linux下于是乎
cd /mnt   一般挂载到/mnt 或者 /media, 都可以
ls         发现目前啥都没有
mkdir thinkiii    我想把D盘挂载过来取名thinkiii这个无所谓的
mount /dev/sda5   /mnt/thinkiii    这样便把sda5也就是D盘挂载到/mnt/thinkiii了
cd /mnt/thinkiii
ls            便可查看D盘的文件了
————————————————
版权声明本文为CSDN博主「浴前带刀侍卫」的原创文章遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接https://blog.csdn.net/yaoxingshuai/article/details/50563245

View File

@@ -1,7 +1,7 @@
| |
|---|
|106.12.121.86|
我2be黑星
![BCC instancehkvxkrp70 A 0 VNC 201911315213 00OG3 1...](Exported%20image%2020260407231429-0.png)

View File

@@ -1,16 +1,16 @@
==首先安装mysql==
$ sudo apt-get install mysql-server$ sudo apt-get install mysql-client安装时输出root用户的密码
==在安装phpmyadmin==
$ sudo apt-get install phpmyadmin$ sudo apt-get install php-mbstring$ sudo apt-get install php-gettext安装时选择自动配置数据库输入数据库root账号的密码如果不安装以上两个php软件包则会报错或者白屏提示找不到/usr/share/php/php-gettext/gettext.inc之类的错误
==建立====/var/www/html== ==下的软连接==
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
==修改php配置文件==
==首先安装mysql==
$ sudo apt-get install mysql-server$ sudo apt-get install mysql-client安装时输出root用户的密码
==在安装phpmyadmin==
$ sudo apt-get install phpmyadmin$ sudo apt-get install php-mbstring$ sudo apt-get install php-gettext安装时选择自动配置数据库输入数据库root账号的密码如果不安装以上两个php软件包则会报错或者白屏提示找不到/usr/share/php/php-gettext/gettext.inc之类的错误
==建立====/var/www/html== ==下的软连接==
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
==修改php配置文件==
$ sudo vim /etc/php/7.0/apache2/php.inidisplay_errors = On(显示错误日志,出现两次,都要改,不然无效)extension=php_mbstring.dll (开启mbstring)
==重启apache==
$ sudo /etc/init.d/apache2 restart
==1==
==2==
==访问端口localhost/phpmyadmin,输入账号密码即可==
==重启apache==
$ sudo /etc/init.d/apache2 restart
==1==
==2==
==访问端口localhost/phpmyadmin,输入账号密码即可==
==重点提要因为默认安装phpmyadmin时会安装apahce和php等依赖包由于是16.04系统会默认安装php7.0php7.0又没有默认自带php-mbstringphp-gettext这两个包所以会报错。==
\> 来自 \<[http://blog.csdn.net/l6807718/article/details/51374915](http://blog.csdn.net/l6807718/article/details/51374915)\>
> 来自 <[http://blog.csdn.net/l6807718/article/details/51374915](http://blog.csdn.net/l6807718/article/details/51374915)>

View File

@@ -1,2 +1,2 @@
**阿里云下Ubuntu16下LAMP+wordpress建站记录**
\> 来自 \<[http://blog.csdn.net/code12hour/article/details/63691403](http://blog.csdn.net/code12hour/article/details/63691403)\>
> 来自 <[http://blog.csdn.net/code12hour/article/details/63691403](http://blog.csdn.net/code12hour/article/details/63691403)>

View File

@@ -1,42 +1,42 @@
==搞了下====FTP====服务器,基本上能遇到的问题都遇到了====-====。====-!==
==先说步骤====:==
==1.====安装====vsftpd====软件包==
sudo apt-get install vsftpd
==2.====打开配置文件==
vim /etc/vsftpd.conf
==3.====修改参数==
==搞了下====FTP====服务器,基本上能遇到的问题都遇到了====-====。====-!==
==先说步骤====:==
==1.====安装====vsftpd====软件包==
sudo apt-get install vsftpd
==2.====打开配置文件==
vim /etc/vsftpd.conf
==3.====修改参数==
==一些参数可以去掉注释激活,为了方便,你也可以注释全部,然后添加下面的设置==
[![Exported image](Exported%20image%2020260407231630-0.gif)](javascript:void\(0\);)
#这些设置系统默认是开启的可以不管listen=NOlisten_ipv6=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YES
#下面的就要自定义设置了,建议系统默认的不管,然后复制下面的
#是否允许匿名访问NO为不允许anonymous_enable=NO#是否允许本地用户访问,就是linux本机中存在的用户YES允许local_enable=YES#是否开启写模式YES为开启write_enable=YES#新建文件权限一般设置为022那么新建后的文件的权限就是777-022=755local_umask=022
#是否启动userlist为通过模式YES的话只有存在于userlist文件中的用户才能登录ftp可以理解为userlist是一个白名单NO的话白名单失效和下面一个参数配合使用userlist_enable=YES#是否启动userlist为禁止模式YES表示在userlist中的用户禁止登录ftp黑名单NO表示黑名单失效我们已经让userlist作为一个白名单所以无需使用黑名单功能userlist_deny=NO#指定哪个文件作为userlist文件我们稍后编辑这个文件userlist_file=/etc/vsftpd.user_list
#是否限制本地所有用户切换根目录的权限YES为开启限制即登录后的用户不能访问ftp根目录以外的目录当然要限制啦chroot_local_user=YES#是否启动限制用户的名单list为允许模式上面的YES限制了所有用户可以用这个名单作为白名单作为例外允许访问ftp根目录以外chroot_list_enable=YES#设置哪个文件是list文件里面的用户将不受限制的去访问ftp根目录以外的目录chroot_list_file=/etc/vsftpd.chroot_list#是否开启写模式开启后可以进行创建文件夹等写入操作allow_writeable_chroot=YES
#设置ftp根目录的位置,这个文件我们稍后自己创建local_root=/var/myftp
# 这些设置系统默认是开启的可以不管listen=NOlisten_ipv6=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YES
# 下面的就要自定义设置了,建议系统默认的不管,然后复制下面的
# 是否允许匿名访问NO为不允许anonymous_enable=NO#是否允许本地用户访问,就是linux本机中存在的用户YES允许local_enable=YES#是否开启写模式YES为开启write_enable=YES#新建文件权限一般设置为022那么新建后的文件的权限就是777-022=755local_umask=022
# 是否启动userlist为通过模式YES的话只有存在于userlist文件中的用户才能登录ftp可以理解为userlist是一个白名单NO的话白名单失效和下面一个参数配合使用userlist_enable=YES#是否启动userlist为禁止模式YES表示在userlist中的用户禁止登录ftp黑名单NO表示黑名单失效我们已经让userlist作为一个白名单所以无需使用黑名单功能userlist_deny=NO#指定哪个文件作为userlist文件我们稍后编辑这个文件userlist_file=/etc/vsftpd.user_list
# 是否限制本地所有用户切换根目录的权限YES为开启限制即登录后的用户不能访问ftp根目录以外的目录当然要限制啦chroot_local_user=YES#是否启动限制用户的名单list为允许模式上面的YES限制了所有用户可以用这个名单作为白名单作为例外允许访问ftp根目录以外chroot_list_enable=YES#设置哪个文件是list文件里面的用户将不受限制的去访问ftp根目录以外的目录chroot_list_file=/etc/vsftpd.chroot_list#是否开启写模式开启后可以进行创建文件夹等写入操作allow_writeable_chroot=YES
# 设置ftp根目录的位置,这个文件我们稍后自己创建local_root=/var/myftp
[![Exported image](Exported%20image%2020260407231632-1.gif)](javascript:void\(0\);)
==重启====vsftpd==
 
sudo /etc/init.d/vsftpd restart
 
==4.====添加====ftp====用户==
==顺便将将用户目录设置为我们上面的====ftp====根目录==
sudo useradd -d /var/myftp ftpuser
==设置用户密码==
sudo passwd ftpuser
==5.====创建需要的文件,设置文件夹权限==
==上面我们指定了两个文件,====userlist====文件和====list====文件,有时候系统不会自动创建,你要自己创建==
vim /etc/vsftpd.user_list
==然后添加====ftpuser====进去作为白名单的一员==
vim /etc/vsftpd.chroot_list
==设为空即可==
==创建用户文件夹,设置权限==
mkdir /var/myftp
==权限设置可以根据你的使用场景来设置,我这里在根目录下禁止此用户写,然后下面建两个文件夹,一个====download====只允许读取,====upload====允许写和读==
 
==重启====vsftpd==
sudo /etc/init.d/vsftpd restart
==4.====添加====ftp====用户==
==顺便将将用户目录设置为我们上面的====ftp====根目录==
sudo useradd -d /var/myftp ftpuser
==设置用户密码==
sudo passwd ftpuser
==5.====创建需要的文件,设置文件夹权限==
==上面我们指定了两个文件,====userlist====文件和====list====文件,有时候系统不会自动创建,你要自己创建==
vim /etc/vsftpd.user_list
==然后添加====ftpuser====进去作为白名单的一员==
vim /etc/vsftpd.chroot_list
==设为空即可==
==创建用户文件夹,设置权限==
mkdir /var/myftp
==权限设置可以根据你的使用场景来设置,我这里在根目录下禁止此用户写,然后下面建两个文件夹,一个====download====只允许读取,====upload====允许写和读==
[![Exported image](Exported%20image%2020260407231638-2.gif)](javascript:void\(0\);)
@@ -44,18 +44,18 @@ chmod 555 /var/myftpcd /var/myftpmkdir uploadchmod 755 uploadmkdir d
[![Exported image](Exported%20image%2020260407231642-3.gif)](javascript:void\(0\);)
 
==最后检查一下文件所有者,都改为====ftpuser==
==6.====使用====ftp====,解决各种问题==
==linux====访问输入====ftp== ==加== ==你的====IP==
ftp xxx.xxx.xxx.xxx
==输入用户名====ftpuser====和密码==
==如果登录出现====530====错误:==
vim /etc/pam.d/vsftpd
==注释掉====#auth   required    pam_shells.so==
==然后====ls====一下,如果失败了,切换到被动模式即可==
passive mode
==然后====mkdir====一下发现无法创建文件夹== ==550 create directory operation failed==
setsebool -P ftpd_disable_trans on/etc/init.d/vsftpd restart
==最后检查一下文件所有者,都改为====ftpuser==
==6.====使用====ftp====,解决各种问题==
==linux====访问输入====ftp== ==加== ==你的====IP==
ftp xxx.xxx.xxx.xxx
==输入用户名====ftpuser====和密码==
==如果登录出现====530====错误:==
vim /etc/pam.d/vsftpd
==注释掉====#auth   required    pam_shells.so==
==然后====ls====一下,如果失败了,切换到被动模式即可==
passive mode
==然后====mkdir====一下发现无法创建文件夹== ==550 create directory operation failed==
setsebool -P ftpd_disable_trans on/etc/init.d/vsftpd restart
==即可==
\> 来自 \<[https://www.cnblogs.com/dupengcheng/p/6790143.html](https://www.cnblogs.com/dupengcheng/p/6790143.html)\>
> 来自 <[https://www.cnblogs.com/dupengcheng/p/6790143.html](https://www.cnblogs.com/dupengcheng/p/6790143.html)>

View File

@@ -1,21 +1,21 @@
1. 首先安装Apache2安装命令sudo apt-get install apache2
[![UbuntuApache2](Exported%20image%2020260407231508-0.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=1)3.  安装完成后,进入到/etc/apache2中根据自己的实际安装目录这边我配置文件在/etc/apache2中。 我们看到没有想象中的httpd.conf配置文件这里要说明的是apache2的配置文件是apache2.conf,而不是http.conf。 打开apache2.conf。写入两条语句ServerName localhostDirectoryIndex index.html index.htm index.php这里的ServerName localhost是为了防止最后开启apache2服务的时候会提示DNS出错。DirectoryIndex index.html index.htm index.php是默认目录的写法。保存退出。可以在apache2.conf中加入  AddDefaultCharset GB2312    设置默认字符集,定义服务器返回给客户机默认字符集(由于西欧UTF-8是Apache默认字符集因此当访问有中文的网页时会出现乱码这时只要将字符集改成GB2312再重启Apache服务即可)Listen 192.168.1.1:80       设置监听ip是192.168.1.1的地址和端口为80Listen 192.168.1.2:8080     设置监听ip是192.168.1.2的地址和端口为8080Alias /down    "/sofТWare /download"   创建虚拟目录创建名为down的虚拟目录它对应的物理路径是/sofТWare /downloadAlias /ftp     "/var/ftp"                创建虚拟目录创建名为ftp的虚拟目录它对应的物理路径是/var/ftp\<Directory "/var/www/html"\>       设置目录权限(\<Directory "目录路径"\>此次写设置目录权限的语句\</Directory\>      Options FollowSymLinks        page:116      AllowOverride None\</Directory\>
[![UbuntuApache2](Exported%20image%2020260407231510-1.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=2)
[![UbuntuApache2](Exported%20image%2020260407231508-0.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=1)3.  安装完成后,进入到/etc/apache2中根据自己的实际安装目录这边我配置文件在/etc/apache2中。 我们看到没有想象中的httpd.conf配置文件这里要说明的是apache2的配置文件是apache2.conf,而不是http.conf。 打开apache2.conf。写入两条语句ServerName localhostDirectoryIndex index.html index.htm index.php这里的ServerName localhost是为了防止最后开启apache2服务的时候会提示DNS出错。DirectoryIndex index.html index.htm index.php是默认目录的写法。保存退出。可以在apache2.conf中加入  AddDefaultCharset GB2312    设置默认字符集,定义服务器返回给客户机默认字符集(由于西欧UTF-8是Apache默认字符集因此当访问有中文的网页时会出现乱码这时只要将字符集改成GB2312再重启Apache服务即可)Listen 192.168.1.1:80       设置监听ip是192.168.1.1的地址和端口为80Listen 192.168.1.2:8080     设置监听ip是192.168.1.2的地址和端口为8080Alias /down    "/sofТWare /download"   创建虚拟目录创建名为down的虚拟目录它对应的物理路径是/sofТWare /downloadAlias /ftp     "/var/ftp"                创建虚拟目录创建名为ftp的虚拟目录它对应的物理路径是/var/ftp<Directory "/var/www/html">       设置目录权限(<Directory "目录路径">此次写设置目录权限的语句</Directory>      Options FollowSymLinks        page:116      AllowOverride None</Directory>
[![UbuntuApache2](Exported%20image%2020260407231510-1.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=2)
[![UbuntuApache2](Exported%20image%2020260407231513-2.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=3)7.  需要说明的是在apache2中根设置默认主目录在 /etc/apache2/sites-АVailable/default中我们打开default进行配置。如图这里我们的默认主目录设置的路径是/var/www,文档最上方的VirtualHost后方的*代表通配符即表示所有本机ip地址监听端口为80ServerName填写你注册的域名没有可以不填。保存退出。
[![UbuntuApache2](Exported%20image%2020260407231515-3.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=4)
[![UbuntuApache2](Exported%20image%2020260407231515-3.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=4)
[![UbuntuApache2](Exported%20image%2020260407231517-4.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=5)11.   至此基本配置已经全部完成查看本机ip地址。输入启用apache2的命令:/etc/init.d/apache2 restart.并在浏览器中输入本机ip地址。成功
[![UbuntuApache2](Exported%20image%2020260407231522-5.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=6)
[![UbuntuApache2](Exported%20image%2020260407231525-6.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=7)
[![UbuntuApache2](Exported%20image%2020260407231522-5.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=6)
[![UbuntuApache2](Exported%20image%2020260407231525-6.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=7)
[![UbuntuApache2](Exported%20image%2020260407231527-7.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=8)
==END==
==END==
注意事项
18. 配置文件从httpd.conf变成了apache2.con \> 来自 \<[https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)\>
[![UbuntuApache2](Exported%20image%2020260407231553-8.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=1)[![UbuntuApache2](Exported%20image%2020260407231559-9.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=2)
[![UbuntuApache2](Exported%20image%2020260407231602-10.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=3)[![UbuntuApache2](Exported%20image%2020260407231605-11.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=4)
[![UbuntuApache2](Exported%20image%2020260407231610-12.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=5)[![UbuntuApache2](Exported%20image%2020260407231612-13.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=6)
[![UbuntuApache2](Exported%20image%2020260407231616-14.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=7)
[![UbuntuApache2](Exported%20image%2020260407231620-15.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=8)
\> 来自 \<[https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)\>
18. 配置文件从httpd.conf变成了apache2.con > 来自 <[https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)>
[![UbuntuApache2](Exported%20image%2020260407231553-8.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=1)[![UbuntuApache2](Exported%20image%2020260407231559-9.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=2)
[![UbuntuApache2](Exported%20image%2020260407231602-10.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=3)[![UbuntuApache2](Exported%20image%2020260407231605-11.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=4)
[![UbuntuApache2](Exported%20image%2020260407231610-12.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=5)[![UbuntuApache2](Exported%20image%2020260407231612-13.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=6)
[![UbuntuApache2](Exported%20image%2020260407231616-14.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=7)
[![UbuntuApache2](Exported%20image%2020260407231620-15.jpeg)](http://jingyan.baidu.com/album/9158e0006581d1a2541228b5.html?picindex=8)
> 来自 <[https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html](https://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html)>
![plain aptget install apache2 aptget install libapa...](Exported%20image%2020260407231623-16.png)

View File

@@ -1,302 +1,304 @@
一). ubuntu下mysql安装布局:
/usr/bin                      客户端程序和mysql_install_db
/db                             数据库和日志文件
/var/run mysqld        服务器
/etc/mysql mysql       配置文件my.cnf
/usr/share/mysql       字符集,基准程序和错误消息
/etc/init.d/mysql        启动mysql服务器
二). 设置mysql服务器随开关机自动启动和关闭
系统 \> 系统管理 \> 服务
进行到“服务设置”窗口后激活mysql数据库服务即可
三). 修改mysql数据库文件的存储目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步
1、home目录下建立data目录
==cd /home==
==mkdir data==
2、把MySQL服务进程停掉
==mysqladmin -u root -p shutdown==
3、把/var/lib/mysql整个目录移到/home/data
==mv /var/lib/mysql== ==/home/data/==
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件请到/usr/share/mysql/下找到*.cnf文件拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
==[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf== ==/etc/my.cnf==
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为/home/mysql/mysql.sock 。操作如下:
==vi==  ==my.cnf==  ==(====用====vi====工具编辑====my.cnf====文件,找到下列数据修改之====)==
==# The MySQL server==
==[mysqld]==  ==port== === 3306==
==#socket==  === /var/lib/mysql/mysql.sock====(原内容,为了更稳妥用====“#”====注释此行)==
==socket==  === /home/data/mysql/mysql.sock== ==(加上此行)==
6、修改MySQL启动脚本/etc/init.d/mysql
最后需要修改MySQL启动脚本/etc/init.d/mysql把其中datadir=/var/lib/mysql一行中等号右边的路径改成你现在的实际存放路径home/data/mysql。
==[root@test1 etc]# vi== ==/etc/init.d/mysql==
==#datadir=/var/lib/mysql====(注释此行)==
==datadir=/home/data/mysql== ==(加上此行)==
7、重新启动MySQL服务
/etc/init.d/mysql start启动sudo /etc/init.d/mysql start 停止sudo /etc/init.d/mysql stop 重启sudo /etc/init.d/mysql restart
或用reboot命令重启Linux
如果工作正常移动就成功了否则对照前面的7步再检查一下。还要注意目录的属主和权限。
四). 配置mysql数据库的INNODB存储引擎
1 . 查看mysql存储引擎情况 登录mysql数据库在mysql\>提示符下搞入show engines;命令。发现: InnoDB | YES说明此mysql数据库服务器支持InnoDB引擎。
2. 设置InnoDB为默认引擎在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。
3. 重启mysql服务器mysqladmin -u root -p shutdown(回车)sudo /etc/init.d/mysql start(回车)。
4. 登录mysql数据库在mysql\>提示符下搞入show engines;命令。如果出现 InnoDB |DEFAULT则表示我们 设置InnoDB为默认引擎成功。
ps: 这里我用重启命令sudo /etc/init.d/mysql restart出现错误信息, 所以用了上面步骤3那种关闭服务又启动的笨方法。
、MYSQL数据库表大小写问题 
vi /etc/mysql/my.cnf 
在[mysqld]后添加 
lower_case_table_names=0 区分大小写 
lower_case_table_names=1 不区分大小写 
重启MYSQL服务
MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下 
1.数据库名与表名是严格区分大小写的 
2.表的别名是严格区分大小写的 
3.列名与列的别名在所有的情况下均是忽略大小写的 
4.变量名也是严格区分大小写的 
MYSQL在WINDOWS下都不区分大小写 
、管理Mysql
一). ubuntu下mysql安装布局:
/usr/bin                      客户端程序和mysql_install_db
/db                             数据库和日志文件
/var/run mysqld        服务器
/etc/mysql mysql       配置文件my.cnf
/usr/share/mysql       字符集,基准程序和错误消息
/etc/init.d/mysql        启动mysql服务器
二). 设置mysql服务器随开关机自动启动和关闭
系统 > 系统管理 > 服务
进行到“服务设置”窗口后激活mysql数据库服务即可
三). 修改mysql数据库文件的存储目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步
1、home目录下建立data目录
==cd /home==
==mkdir data==
2、把MySQL服务进程停掉
==mysqladmin -u root -p shutdown==
3、把/var/lib/mysql整个目录移到/home/data
==mv /var/lib/mysql== ==/home/data/==
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件请到/usr/share/mysql/下找到*.cnf文件拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
==[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf== ==/etc/my.cnf==
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为/home/mysql/mysql.sock 。操作如下:
==vi==  ==my.cnf==  ==(====用====vi====工具编辑====my.cnf====文件,找到下列数据修改之====)==
==# The MySQL server==
==[mysqld]==  ==port== === 3306==
==#socket==  === /var/lib/mysql/mysql.sock====(原内容,为了更稳妥用====“#”====注释此行)==
==socket==  === /home/data/mysql/mysql.sock== ==(加上此行)==
6、修改MySQL启动脚本/etc/init.d/mysql
最后需要修改MySQL启动脚本/etc/init.d/mysql把其中datadir=/var/lib/mysql一行中等号右边的路径改成你现在的实际存放路径home/data/mysql。
==[root@test1 etc]# vi== ==/etc/init.d/mysql==
==#datadir=/var/lib/mysql====(注释此行)==
==datadir=/home/data/mysql== ==(加上此行)==
7、重新启动MySQL服务
/etc/init.d/mysql start启动sudo /etc/init.d/mysql start 停止sudo /etc/init.d/mysql stop 重启sudo /etc/init.d/mysql restart
或用reboot命令重启Linux
如果工作正常移动就成功了否则对照前面的7步再检查一下。还要注意目录的属主和权限。
四). 配置mysql数据库的INNODB存储引擎
1 . 查看mysql存储引擎情况 登录mysql数据库在mysql>提示符下搞入show engines;命令。发现: InnoDB | YES说明此mysql数据库服务器支持InnoDB引擎。
2. 设置InnoDB为默认引擎在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。
3. 重启mysql服务器mysqladmin -u root -p shutdown(回车)sudo /etc/init.d/mysql start(回车)。
4. 登录mysql数据库在mysql>提示符下搞入show engines;命令。如果出现 InnoDB |DEFAULT则表示我们 设置InnoDB为默认引擎成功。
ps: 这里我用重启命令sudo /etc/init.d/mysql restart出现错误信息, 所以用了上面步骤3那种关闭服务又启动的笨方法。
、MYSQL数据库表大小写问题
vi /etc/mysql/my.cnf
在[mysqld]后添加
lower_case_table_names=0 区分大小写
lower_case_table_names=1 不区分大小写
重启MYSQL服务
MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下
1.数据库名与表名是严格区分大小写的
2.表的别名是严格区分大小写的
3.列名与列的别名在所有的情况下均是忽略大小写的
4.变量名也是严格区分大小写的
MYSQL在WINDOWS下都不区分大小写
、管理Mysql
1、删除 mysql
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)
上面的其实有一些是多余的,建议还是按照顺序执行一遍
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
==2、安装 mysql======
1 sudo apt-get install mysql-server
2 sudo apt-get install mysql-client
3 sudo apt-get install php5-mysql(安装php5-mysql 是将php和mysql连接起来 ) 
====
==一旦安装完成MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:======
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
==2、安装 mysql======
1 sudo apt-get install mysql-server
2 sudo apt-get install mysql-client
3 sudo apt-get install php5-mysql(安装php5-mysql 是将php和mysql连接起来 )
====
==一旦安装完成MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:======
1 sudo netstat -tap | grep mysql
当您运行该命令时,您可以看到类似下面的行:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
如果服务器不能正常运行,您可以通过下列命令启动它:
当您运行该命令时,您可以看到类似下面的行:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
如果服务器不能正常运行,您可以通过下列命令启动它:
1 sudo /etc/init.d/mysql restart
3、进入mysql
$mysql -u root -p 管理员密码
配置 MySQL 的管理员密码:
1 sudo mysqladmin -u root password newpassword
[MySQL 导入慢的解决方法](http://www.gagahappy.com/mysqldump-import-slow/)
MySQL导出的SQL语句在导入时有可能会非常非常慢。在导出时合理使用几个参数可以大大加快导 入的速度。
-e 使用包括几个VALUES列表的多行INSERT语法;
max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。
注意max_allowed_packet和net_buffer_length不能比目标数据库的设定数值 大,否则可能出错。
首先确定目标库的参数值
mysql\>show variables like max_allowed_packet;
mysql\>show variables like net_buffer_length;
根据参数值书写mysqldump命令
E:\eis\>mysqldump -uroot -p eis_db goodclassification -e max_allowed_packet=1048576 net_buffer_length=16384 \>good3.sql
==三====.====从数据库导出数据库文件:==
==1.====将数据库====mydb====导出到====e:\mysql\mydb.sql====文件中:==
==打开开始====-\>====运行====-\>====输入====cmd==    ==进入命令行模式==
==c:\\>mysqldump -h localhost -u root -p mydb \>e:\mysql\mydb.sql==
==然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。==
==2.====将数据库====mydb====中的====mytable====导出到====e:\mysql\mytable.sql====文件中:==
==c:\\>mysqldump -h localhost -u root -p mydb mytable\>e:\mysql\mytable.sql==
==3.====将数据库====mydb====的结构导出到====e:\mysql\mydb_stru.sql====文件中:==
==c:\\>mysqldump -h localhost -u root -p mydb --add-drop-table \>e:\mysql\mydb_stru.sql==
==四====.====从外部文件导入数据到数据库中:==
==从====e:\mysql\mydb2.sql====中将文件中的====SQL====语句导入数据库中:==
==1.====从命令行进入====mysql====,然后用命令====CREATE DATABASE mydb2;====创建数据库====mydb2====。==
==2.====退出====mysql== ==可以输入命令====exit====;或者====quit======
==3.====在====CMD====中输入下列命令:==
==c:\\>mysql -h localhost -u root -p mydb2 \< e:\mysql\mydb2.sql==
==然后输入密码,就====OK====了。==
==五====.====下面谈一下关于导入文件大小限制问题的解决:==
==默认情况下:====mysql== ==对导入文件大小有限制的,最大为====2M====,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:==
==1.====在====php.ini====中修改相关参数:==
==影响====mysql====导入文件大小的参数有三个:==
    ==memory_limit=128M,upload_max_filesize=2M,post_max_size=8M==
==修改====upload_max_filesize=200 M==  ==这里修改满足你需要的大小,==
==可以同时修改其他两项====memory_limit=250M  post_max_size=200M==
3、进入mysql
$mysql -u root -p 管理员密码
配置 MySQL 的管理员密码:
1 sudo mysqladmin -u root password newpassword
[MySQL 导入慢的解决方法](http://www.gagahappy.com/mysqldump-import-slow/)
MySQL导出的SQL语句在导入时有可能会非常非常慢。在导出时合理使用几个参数可以大大加快导 入的速度。
-e 使用包括几个VALUES列表的多行INSERT语法;
max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。
注意max_allowed_packet和net_buffer_length不能比目标数据库的设定数值 大,否则可能出错。
首先确定目标库的参数值
mysql>show variables like max_allowed_packet;
mysql>show variables like net_buffer_length;
根据参数值书写mysqldump命令
E:\eis>mysqldump -uroot -p eis_db goodclassification -e max_allowed_packet=1048576 net_buffer_length=16384 >good3.sql
==三====.====从数据库导出数据库文件:==
==1.====将数据库====mydb====导出到====e:\mysql\mydb.sql====文件中:==
==打开开始====->====运行====->====输入====cmd==    ==进入命令行模式==
==c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql==
==然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。==
==2.====将数据库====mydb====中的====mytable====导出到====e:\mysql\mytable.sql====文件中:==
==c:\>mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql==
==3.====将数据库====mydb====的结构导出到====e:\mysql\mydb_stru.sql====文件中:==
==c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql==
==四====.====从外部文件导入数据到数据库中:==
==从====e:\mysql\mydb2.sql====中将文件中的====SQL====语句导入数据库中:==
==1.====从命令行进入====mysql====,然后用命令====CREATE DATABASE mydb2;====创建数据库====mydb2====。==
==2.====退出====mysql== ==可以输入命令====exit====;或者====quit======
==3.====在====CMD====中输入下列命令:==
==c:\>mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql==
==然后输入密码,就====OK====了。==
==五====.====下面谈一下关于导入文件大小限制问题的解决:==
==默认情况下:====mysql== ==对导入文件大小有限制的,最大为====2M====,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:==
==1.====在====php.ini====中修改相关参数:==
==影响====mysql====导入文件大小的参数有三个:==
    ==memory_limit=128M,upload_max_filesize=2M,post_max_size=8M==
==修改====upload_max_filesize=200 M==  ==这里修改满足你需要的大小,==
==可以同时修改其他两项====memory_limit=250M  post_max_size=200M==
==这样就可以导入====200M====以下的====.sql====文件了==
\> 来自 \<[http://blog.csdn.net/qingrx/article/details/7987030](http://blog.csdn.net/qingrx/article/details/7987030)\>
> 来自 <[http://blog.csdn.net/qingrx/article/details/7987030](http://blog.csdn.net/qingrx/article/details/7987030)>
![rootcocomap u mysqladmin u root p version Enter pa...](Exported%20image%2020260407231450-0.png)
![ysql show databases Sg Database I information perf...](Exported%20image%2020260407231452-1.png)
进入mysql
$mysql -u root -p 管理员密码
进入mysql
$mysql -u root -p 管理员密码
==进入MySQL Command line client下==
==查看当前使用的数据库:==
==mysql\>select database();==
==mysql\>status;==
==mysql\>show tables;==
==mysql\>show databases;//可以查看有哪些数据库,返回数据库名(databaseName)==
==mysql\>use databaseName;  //更换当前使用的数据库==
==mysql\>show tables; //返回当前数据库下的所有表的名称==
==或者也可以直接用以下命令==
==mysql\>show tables from databaseName;//databaseName可以用show databases得来==
==mysql查看表结构命令如下:==
==desc 表名;==
==show columns from 表名;==
==或者==
==describe 表名;==
==show create table 表名;==
==或者==
==use information_schema==
==select * from columns where table_name='表名';==
==查看警告:==
==Rows matched: 1  Changed: 0  Warnings: 1==
==mysql\> show warnings;==
\> 来自 \<[http://database.51cto.com/art/201011/234471.htm](http://database.51cto.com/art/201011/234471.htm)\>
==查看当前使用的数据库:==
==mysql>select database();==
==mysql>status;==
==mysql>show tables;==
==mysql>show databases;//可以查看有哪些数据库,返回数据库名(databaseName)==
==mysql>use databaseName;  //更换当前使用的数据库==
==mysql>show tables; //返回当前数据库下的所有表的名称==
==或者也可以直接用以下命令==
==mysql>show tables from databaseName;//databaseName可以用show databases得来==
==mysql查看表结构命令如下:==
==desc 表名;==
==show columns from 表名;==
==或者==
==describe 表名;==
==show create table 表名;==
==或者==
==use information_schema==
==select * from columns where table_name='表名';==
==查看警告:==
==Rows matched: 1  Changed: 0  Warnings: 1==
==mysql> show warnings;==
> 来自 <[http://database.51cto.com/art/201011/234471.htm](http://database.51cto.com/art/201011/234471.htm)>
![mysql use wordpress Database changed mysql show ta...](Exported%20image%2020260407231457-2.png) ![4. 4. aptget install mysqlserver aptget install ph...](Exported%20image%2020260407231502-3.png)
4]如何创建和删除一个数据库?
比如我要创建一个名为linux的数据库应该运行如下命令
mysql\> create database [数据库名];
mysql> create database [数据库名];
所以我们应该运行如下的命令来创建名为linux的数据库
mysql\> create database linux;
mysql> create database linux;
Query OK, 1 row affected (0.00 sec)
是不是建好了呢肯定是建好了因为都有OK了:)
查看是不是有linux这个数据库了呢
代码:
mysql\> show databases;
+----------+
| Database |
+----------+
| linux |
| mysql |
| test |
+----------+
代码:
mysql> show databases;
+----------+
| Database |
+----------+
| linux |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)
那我们如何删除一个数据库呢??
mysql\> drop database [数据库名];
比如我们要把刚才创建的linux数据库删除应该用下面的命令
mysql\> drop database linux;
那我们如何删除一个数据库呢??
mysql> drop database [数据库名];
比如我们要把刚才创建的linux数据库删除应该用下面的命令
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)
是不是已经删除了呢??
代码:
mysql\> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec) 
代码:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
5]如何操作一个数据库呢这个问题就比较多了建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库首先是要指定一个数据库为当前数据库应该用use命令
mysql\>use [数据库];
mysql>use [数据库];
比如我想指定linux这个数据库为当前数据库应该是
mysql\> use linux;
mysql> use linux;
Database changed
6]如何备份数据库??
比如我们要备份mysql中已经存在的名为linux的数据库要用到命令mysqldump
命令格式如下:
shell\> mysqldump -uroot -p linux \> /root/linux.sql
shell> mysqldump -uroot -p linux > /root/linux.sql
Enter password:在这里输入数据库的密码
通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root备份的文件名是linux.sql。其实备份的位置和文件名根据自己的情况来定。文件名可以自己来取路径也可以自己来安排
比如我想把linux的数据库备份到/home/beinan数据库的文件名为linuxsir031130.sql所以应该输入如下的命令。
shell\> mysqldump -uroot -p linux \> /home/beinan/linuxsir031130.sql
比如我想把linux的数据库备份到/home/beinan数据库的文件名为linuxsir031130.sql所以应该输入如下的命令。
shell> mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在这里输入数据库管理员root的数据库密码
这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql
综上所述,我们学习时要学会变通。:):)
5]如何把把备份的数据库导入到数据库中?
首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。
比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份导入名为linux的数据库中应该如下操作
shell\> mysql -uroot -p linux \< /home/beinan/linuxsir031130.sql
shell> mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在这里输入密码
如果机器好,数据库比较小,几分钟就好了。
6]其它一些比较常用的mysql指令
查看状态
mysql\> show status;
查看状态
mysql> show status;
查看进程
代码:
mysql\> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec) 
代码:
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)
查看表应该先指定一个数据库为当前数据库比如是名为linux的数据库
mysql\>use linux;
mysql\> show tables;
mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)
7]对mysql数据库常用命令的一点补充
几个常用的mysql相关的管理命令
mysql 命令基本文本的显示和使用的mysql数据库。前面已经简单的提过用法比如登录等。
mysqladmin 命令用来创建和维护mysql数据库的命令前面已经简单的提过
isamchk 是用来修复、检查和优化.ism后缀的数据库文件
mysqldump 是用于备份数据库,前面已经简单的说明过;
myisamchk 用来修复.myi后缀的数据库文件
比如我们要检查名为linux的数据库.myi数据库表是否存在问题应该用下面的命令
要把mysqld服务器停下来
shell\> ../share/mysql.server stop
然后执行
shell\> myisamchk ../var/linux/*.MYI
要把mysqld服务器停下来
shell> ../share/mysql.server stop
然后执行
shell> myisamchk ../var/linux/*.MYI
上面的命令的意思就是检查所有的.myi文件数据库的目录在../var/linux/目录中
如果有问题,应该用-r参数来修复
shell\> myisamchk -r ../var/linux/*.MYI
6]mysqlshow 命令:显示用户选择的数据库和表
shell\> mysqlshow -uroot -p [数据库名]
如果有问题,应该用-r参数来修复
shell> myisamchk -r ../var/linux/*.MYI
6]mysqlshow 命令:显示用户选择的数据库和表
shell> mysqlshow -uroot -p [数据库名]
比如我要查看名为linux的数据库应该是
shell\> mysqlshow -uroot -p linux
shell> mysqlshow -uroot -p linux
好了,到这里,你可能已经知道命令行下的所有基本操作了~
ps:补充一个。。
更改ROOT帐号名。
```sql
update set user="新名字" where user="旧名字";
\> 来自 \<[http://blog.csdn.net/princewong/article/details/2003658](http://blog.csdn.net/princewong/article/details/2003658)\>
```
> 来自 <[http://blog.csdn.net/princewong/article/details/2003658](http://blog.csdn.net/princewong/article/details/2003658)>

View File

@@ -1,18 +1,18 @@
安装php7我这里装了好多我也不知道哪些是非必需的
[plain] view plain copy
安装php7我这里装了好多我也不知道哪些是非必需的
[plain] view plain copy
apt-get install php7.0 php7.0-curl php7.0-gd php7.0-json php7.0-opcache php7.0-xml mcrypt php7.0-curl php7.0-cgi php7.0-xmlrpc php7.0-gd php-pear
重启apache2和mysql
[plain] view plain copy
systemctl restart apache2
重启apache2和mysql
[plain] view plain copy
systemctl restart apache2
systemctl restart mysql
测试php和apache2
[plain] view plain copy
vim /var/www/html/info.php
输入
[php] view plain copy
\<?php
phpinfo();
?\>
测试php和apache2
[plain] view plain copy
vim /var/www/html/info.php
输入
[php] view plain copy
<?php
phpinfo();
?>
保存后访问你的域名或者公网ipyour_server_ip/info.php看看有没有对应的信息有就说明成功了。

View File

@@ -1,80 +1,82 @@
WordPress的安装与配置
下载wordpress
[plain] view plain copy
wget https://wordpress.org/latest.zip
安装unzip:
[plain] view plain copy
apt-get install unzip
解压和后续操作
[plain] view plain copy
unzip -q latest.zip -d /var/www/html/
cd /var/www/html/wordpress
cp -a * ..
rm -r wordpress/
chown www-data:www-data -R /var/www/html/
创建上传目录:
[plain] view plain copy
mkdir -p /var/www/html/wp-content/uploads
WordPress的安装与配置
下载wordpress
[plain] view plain copy
wget https://wordpress.org/latest.zip
安装unzip:
[plain] view plain copy
apt-get install unzip
解压和后续操作
[plain] view plain copy
unzip -q latest.zip -d /var/www/html/
cd /var/www/html/wordpress
cp -a * ..
rm -r wordpress/
chown www-data:www-data -R /var/www/html/
创建上传目录:
[plain] view plain copy
mkdir -p /var/www/html/wp-content/uploads
chown www-data:www-data -R /var/www/html/wp-content/uploads
mysql相关操作
创建mysql账户
[plain] view plain copy
mysql -u root -p
[sql] view plain copy
CREATE DATABASE wordpress character set utf8 collate utf8_bin;
GRANT ALL PRIVILEGES on wordpress.* to 'wpuser'@'localhost' identified by 'your_password';
FLUSH PRIVILEGES;
mysql相关操作
创建mysql账户
[plain] view plain copy
mysql -u root -p
[sql] view plain copy
```sql
CREATE DATABASE wordpress character set utf8 collate utf8_bin;
```
GRANT ALL PRIVILEGES on wordpress.* to 'wpuser'@'localhost' identified by 'your_password';
FLUSH PRIVILEGES;
exit
编辑配置文件
[plain] view plain copy
cd /var/www/html
mv wp-config-sample.php wp-config.php
vim wp-config.php
[plain] view plain copy
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress'); /** MySQL database username */
define('DB_USER', 'wpuser'); /** MySQL database password */
define('DB_PASSWORD', 'your_password'); /** MySQL hostname */
编辑配置文件
[plain] view plain copy
cd /var/www/html
mv wp-config-sample.php wp-config.php
vim wp-config.php
[plain] view plain copy
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress'); /** MySQL database username */
define('DB_USER', 'wpuser'); /** MySQL database password */
define('DB_PASSWORD', 'your_password'); /** MySQL hostname */
define('DB_HOST', 'localhost');
设置固定链接:
如果是设置了虚拟主机的话这部分可能和下面的操作不一样我也不太清楚可以去google搜一下
[plain] view plain copy
vim /etc/apache2/sites-available/000-default.conf
[plain] view plain copy
[...]
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName server1.example.com
\<Directory /var/www/html/\>
AllowOverride All
\</Directory\>
[...]
就是在里面添加上ServerName到\</Directory\>这一段
允许URL的重写以及Apache2的重启
[plain] view plain copy
a2enmod rewrite
service apache2 restart
创建.htaccess文件
[plain] view plain copy
touch /var/www/html/.htaccess
chown :www-data /var/www/html/.htaccess
设置固定链接:
如果是设置了虚拟主机的话这部分可能和下面的操作不一样我也不太清楚可以去google搜一下
[plain] view plain copy
vim /etc/apache2/sites-available/000-default.conf
[plain] view plain copy
[...]
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName server1.example.com
<Directory /var/www/html/>
AllowOverride All
</Directory>
[...]
就是在里面添加上ServerName到</Directory>这一段
允许URL的重写以及Apache2的重启
[plain] view plain copy
a2enmod rewrite
service apache2 restart
创建.htaccess文件
[plain] view plain copy
touch /var/www/html/.htaccess
chown :www-data /var/www/html/.htaccess
chmod 664 /var/www/html/.htaccess
添加wordpress安全保护其实我也不太懂具体作用
访问 https://api.wordpress.org/secret-key/1.1/salt/
然后打开wp-config.php
[plain] view plain copy
vim /var/www/html/wp-config.php
[plain] view plain copy
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
添加wordpress安全保护其实我也不太懂具体作用
访问 https://api.wordpress.org/secret-key/1.1/salt/
然后打开wp-config.php
[plain] view plain copy
vim /var/www/html/wp-config.php
[plain] view plain copy
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
将其对应填入。

View File

@@ -1,28 +1,28 @@
==关于====mysql====的用户管理,笔记==
 
==1====、创建新用户==
==通过====root====用户登录之后创建==
==\>\>== ==grant all privileges on *.* to== ==testuser====@localhost identified by== =="123456"== ==;==  ==//==  ==创建新用户,用户名为====testuser====,密码为====123456== ====
==\>\>== ==grant all privileges on *.* to== ==testuser====@localhost identified by== =="123456"== ==;==  ==//==  ==设置用户====testuser====,可以在本地访问====mysql==
==\>\>== ==grant all privileges on *.* to== ==testuser====@"%" identified by== =="123456"== ==;==   ==//==  ==设置用户====testuser====,可以在远程访问====mysql==
==\>\>== ==flush privileges== ==;==  ==//==  ==mysql== ==新设置用户或更改密码后需用====flush privileges====刷新====MySQL====的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动====mysql====服务器,来使新设置生效==
==2====、设置用户访问数据库权限==
==\>\>== ==grant all privileges on== ==test_db.*== ==to== ==testuser@localhost identified by "123456" ;==  ==//==  ==设置用户====testuser====,只能访问数据库====test_db====,其他数据库均不能访问== ====
==\>\>== ==grant all privileges on== ==*.*== ==to== ==testuser@localhost identified by "123456" ;==  ==//==  ==设置用户====testuser====,可以访问====mysql====上的所有数据库== ====
==\>\>== ==grant all privileges on== ==test_db.user_infor== ==to== ==testuser@localhost identified by "123456" ;==  ==//==  ==设置用户====testuser====,只能访问数据库====test_db====的表====user_infor====,数据库中的其他表均不能访问== ====
==3====、设置用户操作权限==
==\>\>== ==grant== ==all privileges== ==on *.* to== ==testuser@localhost identified by "123456" WITH GRANT OPTION== ==;==  ==//====设置用户====testuser====,拥有所有的操作权限,也就是管理员== ====
==\>\> grant== ==select== ==on *.* to== ==testuser@localhost identified by "123456" WITH GRANT OPTION== ==;==  ==//====设置用户====testuser====,只拥有【查询】操作权限== ====
==\>\>== ==grant== ==select,insert== ==on *.* to== ==testuser@localhost identified by "123456"==  ==;==  ==//====设置用户====testuser====,只拥有【查询====\====插入】操作权限== ====
==\>\>== ==grant== ==select,insert,update,delete== ==on *.* to== ==testuser@localhost identified by "123456"==  ==;==  ==//====设置用户====testuser====,只拥有【查询====\====插入】操作权限== ====
==\>\>== ==REVOKE== ==select,insert== ==ON what FROM== ==testuser====//====取消用户====testuser====的【查询====\====插入】操作权限== ====
==4====、设置用户远程访问权限==
==\>\>== ==grant all privileges on *.* to== ==testuser@====“192.168.1.100”== ==identified by== =="123456"== ==;==  ==//====设置用户====testuser====,只能在客户端====IP====为====192.168.1.100====上才能远程访问====mysql== ====
==5====、关于====root====用户的访问设置==
==设置所有用户可以远程访问====mysql========修改====my.cnf====配置文件,将====bind-address = 127.0.0.1====前面加====“#”====注释掉====,这样就可以允许其他机器远程访问本机====mysql====了;==
==\>\>== ==grant all privileges on *.* to== ==root@"%" identified by== =="123456"== ==;==   ==//==  ==设置用户====root====,可以在远程访问====mysql==
==\>\>== ==select host,user from user;==   ==//====查询====mysql====中所有用户权限==
==关闭====root====用户远程访问权限==
==\>\>== ==delete from user where user="root" and host="%" ;==  ==//====禁止====root====用户在远程机器上访问====mysql==
==\>\>== ==flush privileges== ==;==  ==//====修改权限之后,刷新====MySQL====的系统权限相关表方可生效==
\> 来自 \<[https://www.cnblogs.com/candle806/p/4048651.html](https://www.cnblogs.com/candle806/p/4048651.html)\>
==关于====mysql====的用户管理,笔记==
==1====、创建新用户==
==通过====root====用户登录之后创建==
==>>== ==grant all privileges on *.* to== ==testuser====@localhost identified by== =="123456"== ==;==  ==//==  ==创建新用户,用户名为====testuser====,密码为====123456== ====
==>>== ==grant all privileges on *.* to== ==testuser====@localhost identified by== =="123456"== ==;==  ==//==  ==设置用户====testuser====,可以在本地访问====mysql==
==>>== ==grant all privileges on *.* to== ==testuser====@"%" identified by== =="123456"== ==;==   ==//==  ==设置用户====testuser====,可以在远程访问====mysql==
==>>== ==flush privileges== ==;==  ==//==  ==mysql== ==新设置用户或更改密码后需用====flush privileges====刷新====MySQL====的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动====mysql====服务器,来使新设置生效==
==2====、设置用户访问数据库权限==
==>>== ==grant all privileges on== ==test_db.*== ==to== ==testuser@localhost identified by "123456" ;==  ==//==  ==设置用户====testuser====,只能访问数据库====test_db====,其他数据库均不能访问== ====
==>>== ==grant all privileges on== ==*.*== ==to== ==testuser@localhost identified by "123456" ;==  ==//==  ==设置用户====testuser====,可以访问====mysql====上的所有数据库== ====
==>>== ==grant all privileges on== ==test_db.user_infor== ==to== ==testuser@localhost identified by "123456" ;==  ==//==  ==设置用户====testuser====,只能访问数据库====test_db====的表====user_infor====,数据库中的其他表均不能访问== ====
==3====、设置用户操作权限==
==>>== ==grant== ==all privileges== ==on *.* to== ==testuser@localhost identified by "123456" WITH GRANT OPTION== ==;==  ==//====设置用户====testuser====,拥有所有的操作权限,也就是管理员== ====
==>> grant== ==select== ==on *.* to== ==testuser@localhost identified by "123456" WITH GRANT OPTION== ==;==  ==//====设置用户====testuser====,只拥有【查询】操作权限== ====
==>>== ==grant== ==select,insert== ==on *.* to== ==testuser@localhost identified by "123456"==  ==;==  ==//====设置用户====testuser====,只拥有【查询====\====插入】操作权限== ====
==>>== ==grant== ==select,insert,update,delete== ==on *.* to== ==testuser@localhost identified by "123456"==  ==;==  ==//====设置用户====testuser====,只拥有【查询====\====插入】操作权限== ====
==>>== ==REVOKE== ==select,insert== ==ON what FROM== ==testuser====//====取消用户====testuser====的【查询====\====插入】操作权限== ====
==4====、设置用户远程访问权限==
==>>== ==grant all privileges on *.* to== ==testuser@====“192.168.1.100”== ==identified by== =="123456"== ==;==  ==//====设置用户====testuser====,只能在客户端====IP====为====192.168.1.100====上才能远程访问====mysql== ====
==5====、关于====root====用户的访问设置==
==设置所有用户可以远程访问====mysql========修改====my.cnf====配置文件,将====bind-address = 127.0.0.1====前面加====“#”====注释掉====,这样就可以允许其他机器远程访问本机====mysql====了;==
==>>== ==grant all privileges on *.* to== ==root@"%" identified by== =="123456"== ==;==   ==//==  ==设置用户====root====,可以在远程访问====mysql==
==>>== ==select host,user from user;==   ==//====查询====mysql====中所有用户权限==
==关闭====root====用户远程访问权限==
==>>== ==delete from user where user="root" and host="%" ;==  ==//====禁止====root====用户在远程机器上访问====mysql==
==>>== ==flush privileges== ==;==  ==//====修改权限之后,刷新====MySQL====的系统权限相关表方可生效==
> 来自 <[https://www.cnblogs.com/candle806/p/4048651.html](https://www.cnblogs.com/candle806/p/4048651.html)>

View File

@@ -1,14 +1,14 @@
远程连接密码 148880
120.78.214.77(公)
\>
Mysql root 1q2w3e4r
120.78.214.77(公)
>
Mysql root 1q2w3e4r
phpmyadmin 1q2w3e4r
Wordpress admin chill wuzhuoshan@163.com 1q2w3e4r
[ftp://cocomap.cn](ftp://cocomap.cn) chill 1q2w3e4r
网站统计——百度 ,双十二事变
网站统计——百度 ,双十二事变
[https://tongji.baidu.com/web/11004934/overview/index](https://tongji.baidu.com/web/11004934/overview/index)

View File

@@ -1,8 +1,8 @@
BCWP=EV
BCWS=PV
BAC 绩效测量基准 资金需求
道德与专业行为规范==\> 责任,尊重,公正,诚实
通用项目的生命周期4阶段==\>开始项目,组织与准备,执行项目工作,结束项目
项目经理的胜任力==\>技术项目管理,领导力,战略和商务能力
整合的三个层面==\>过程层面整合,认知层面整合,背景层面整合
BCWP=EV
BCWS=PV
BAC 绩效测量基准 资金需求
道德与专业行为规范==> 责任,尊重,公正,诚实
通用项目的生命周期4阶段==>开始项目,组织与准备,执行项目工作,结束项目
项目经理的胜任力==>技术项目管理,领导力,战略和商务能力
整合的三个层面==>过程层面整合,认知层面整合,背景层面整合

View File

@@ -1,4 +1,4 @@
责任
尊重
公正
责任
尊重
公正
诚实

View File

@@ -1,16 +1,16 @@
阶段关口的审查,是偏向紧后阶段是否可以开始,还是偏向紧前阶段是否可以结束
三种制约因素:范围、时间、成本(质量)
三种制约因素:范围、时间、成本(质量)
六种制约因素:范围、时间、成本、质量、资源、风险
增量型,迭代,定期,在规定的时间重复执行一些管理动作,渐进明细
增量型,迭代,定期,在规定的时间重复执行一些管理动作,渐进明细
敏捷项目管理适合产品开发开发需求多变2到4周
阶段关口,关键界面,项目整合的关键,最容易发生风险 流程和流程的衔接
人和人
人和部门
阶段关口,关键界面,项目整合的关键,最容易发生风险 流程和流程的衔接
人和人
人和部门
流程和流程的衔接,人和人,人和部门,技术工作和管理工作的衔
![input tools techniques 0 output](Exported%20image%2020260407225026-0.png)
![[20200929 - Ink.svg]]

View File

@@ -1,3 +1,3 @@
工作授权系统 确保我们的 工作 让正确的人在正确的时候按照正确的逻辑被执行
工作授权系统 确保我们的 工作 让正确的人在正确的时候按照正确的逻辑被执行
资源分解结构
![1 2 3 4 5 6 1 2 3 4](Exported%20image%2020260407225035-0.png)

View File

@@ -1,8 +1,8 @@
![OBS](Exported%20image%2020260407225049-0.png)
![httpwww.hxtdpx.comhtmlPMPPMPrzpmpinf02945.html](Exported%20image%2020260407225053-1.png)
![OBS](Exported%20image%2020260407225049-0.png)
![httpwww.hxtdpx.comhtmlPMPPMPrzpmpinf02945.html](Exported%20image%2020260407225053-1.png)
![httpwww.hxtdpx.comhtmlPMPPMPrzpmpinfo2947.html](Exported%20image%2020260407225102-2.png)
![httpwww.hxtdpx.comhtmlPMPPMPrzpmpinfo2947.html A B...](Exported%20image%2020260407225112-3.png) ![Exported image](Exported%20image%2020260407225125-4.png)
![00 Functional Or anization htt www.hxtd .com html ...](Exported%20image%2020260407225132-5.png)
![OO PMO](Exported%20image%2020260407225145-6.png)
![httpwww.hxtdpx.comhtmlPMPPMPrzpmpinfo2947.html A B...](Exported%20image%2020260407225112-3.png) ![Exported image](Exported%20image%2020260407225125-4.png)
![00 Functional Or anization htt www.hxtd .com html ...](Exported%20image%2020260407225132-5.png)
![OO PMO](Exported%20image%2020260407225145-6.png)
![J A B c A](Exported%20image%2020260407225152-7.png)

View File

@@ -1,4 +1,4 @@
责任
尊重
公正
责任
尊重
公正
诚实

View File

@@ -1,7 +1,7 @@
![Exported image](Exported%20image%2020260407225210-0.png)
1、项目的三大特征和二大特性分别是什么
答:
1、项目的三大特征和二大特性分别是什么
答:
项目的三大特征分别是:
- 临时性,指项目有明确的开始时间和明确的结束时间,不会无限期延续下去。
@@ -12,15 +12,15 @@
- 渐进明细,应该在连续积累中,分步骤开发,以便逐步明确项目的细节特征。
- 成果导向性,为了创造的产品服务或成果,可交付成果,(有形的产品,无形的服务,其他成果知识培训等)。
2、什么是商业价值又可分为哪两类每一个类别包含哪些常见内容
答:
PMI将商业价值定义为 从商业运作中获得可量化净效益(有形和无形的效益或者两者兼有)
主要分为有形和无形的效益。
有形的:货币资产,股东权益,公共事业,固定设施,工具,市场份额
2、什么是商业价值又可分为哪两类每一个类别包含哪些常见内容
答:
PMI将商业价值定义为 从商业运作中获得可量化净效益(有形和无形的效益或者两者兼有)
主要分为有形和无形的效益。
有形的:货币资产,股东权益,公共事业,固定设施,工具,市场份额
无形的:商誉,品牌认知度,公共利益,商标,战略一致性,声誉
3、项目立项的四大要素有哪些
3、项目立项的四大要素有哪些
答:
- 符合法规,法律或社会要求
@@ -28,22 +28,22 @@ PMI将商业价值定义为 从商业运作中获得可量化净效益(有形
- 执行、变更业务或技术战略
- 创造、改进或修复产品、过程或服务
4、什么是项目组合 ,项目集,项目,它们之间的关联和区别是什么?
答:
项目组合:是为看实现战略目标而组合在一起管理的项目、项目集、子项目组合和运营工作的集合。
项目集:是一组相互关联且被协调管理的项目、子项目集和项目集活动,以便获得分别管理所无法获得的效益。
项目: 是为了穿着独特的产品、服务、或成果而进行的临时性工作。
4、什么是项目组合 ,项目集,项目,它们之间的关联和区别是什么?
答:
项目组合:是为看实现战略目标而组合在一起管理的项目、项目集、子项目组合和运营工作的集合。
项目集:是一组相互关联且被协调管理的项目、子项目集和项目集活动,以便获得分别管理所无法获得的效益。
项目: 是为了穿着独特的产品、服务、或成果而进行的临时性工作。
运营:可以无计划,重复性的,有确定时间的 工作。
区别: 项目集管理和项目组合股那里的生命周期、活动、目标、重点、和效益都和项目股那里不同。
联系: 项目组合、项目集、项目、和运营都涉及相同的相关方,还可能需要使用相同的资源。 项目组合管理是主要排列所有备选项目的优先顺序,并选择一系列的排序靠前的、最有利于实现战略目标的正确项目来做。主要就是进项投资决策,项目组合经理往往由组织中的高级管理人员兼任。
项目集管理是要正确的地完成一系列相互配置的项目以获得最大的效益。管理项目见的内在联系。 5、项目组合管理和项目集管理的主要工作有哪些
答:
项目集管理
项目集管理指在项目集中应用知识、技能与原则来实现项目集的目标,获得分别管理项目集组成
部分所无法实现的利益和控制。项目集组成部分指项目集中的项目和其他项目集。项目管理注重项
目本身的相互依赖关系,以确定管理项目的最佳方法。项目集管理注重作为组成部分的项目与项目
集之间的依赖关系,以确定管理这些项目的最佳方法。项目集和项目间依赖关系的具体管理措施可
区别: 项目集管理和项目组合股那里的生命周期、活动、目标、重点、和效益都和项目股那里不同。
联系: 项目组合、项目集、项目、和运营都涉及相同的相关方,还可能需要使用相同的资源。 项目组合管理是主要排列所有备选项目的优先顺序,并选择一系列的排序靠前的、最有利于实现战略目标的正确项目来做。主要就是进项投资决策,项目组合经理往往由组织中的高级管理人员兼任。
项目集管理是要正确的地完成一系列相互配置的项目以获得最大的效益。管理项目见的内在联系。 5、项目组合管理和项目集管理的主要工作有哪些
答:
项目集管理
项目集管理指在项目集中应用知识、技能与原则来实现项目集的目标,获得分别管理项目集组成
部分所无法实现的利益和控制。项目集组成部分指项目集中的项目和其他项目集。项目管理注重项
目本身的相互依赖关系,以确定管理项目的最佳方法。项目集管理注重作为组成部分的项目与项目
集之间的依赖关系,以确定管理这些项目的最佳方法。项目集和项目间依赖关系的具体管理措施可
能包括:
- 调整对项目集和项目的目的和目标有影响的组织或战略方向;
@@ -56,10 +56,10 @@ PMI将商业价值定义为 从商业运作中获得可量化净效益(有形
- 将预算分配到项目集内的多个项目;
- 确保项目集及其包含的项目能够实现效益。
项目组合管理
项目组合是指为实现战略目标而组合在一起管理的项目、项目集、子项目组合和运营工作。
项目组合管理是指为了实现战略目标而对一个或多个项目组合进行的集中管理。项目组合中的项
目集或项目不一定彼此依赖或直接相关。
项目组合管理
项目组合是指为实现战略目标而组合在一起管理的项目、项目集、子项目组合和运营工作。
项目组合管理是指为了实现战略目标而对一个或多个项目组合进行的集中管理。项目组合中的项
目集或项目不一定彼此依赖或直接相关。
项目组合管理的目的是:
- 指导组织的投资决策。
@@ -69,5 +69,5 @@ PMI将商业价值定义为 从商业运作中获得可量化净效益(有形
- 提高实现预期投资回报的可能性。
- 实现对所有组成部分的综合风险预测的集中式管理。
此外,项目组合管理还可确定项目组合是否符合组织战略。
此外,项目组合管理还可确定项目组合是否符合组织战略。
要实现项目组合价值的最大化,需要精心检查项目组合的组成部分。

View File

@@ -1,18 +1,18 @@
![Exported image](Exported%20image%2020260407225214-0.png)
1、什么是项目生命周期它是由什么组成的
答:项目生命周期是指项目从开始到结束所经历的一系列阶段。
由 启动,规划,执行,监控,收尾五大过程组。
2、什么是项目生命周期管理法采用这种方法的最大好处是什么
答:所谓项目生命周期管理法,就是指将不同的项目不同项目阶段过程灵活选择合适的管理方法。
最大的好处是,可以灵活应对项目的包含的各种因素。可以将项目的各个阶段之间的关系顺序,迭代和交替有序灵活开展。
3、什么是项目阶段关口在阶段关口是紧前阶段是否达到结束标准还是紧后阶段是否达到开始标准哪一个更重要为什么
答:项目阶段关口,设立在项目阶段的结束点。
==在阶段关口是紧前阶段达到结束标准====比====紧后阶段达到开始标准====更加====重要==
因为,紧前阶段达到结束标准可以释放各种资源,项目风险降低,会沉淀成本
紧后阶段达到开始标准,代表未来….
4、项目生命周期有哪几种类型预测型生命周期适合什么样的项目适应型生命周期适合什么样的项目
答:项目生命周期是指项目从开始到结束所经历的一系列阶段。
由 启动,规划,执行,监控,收尾五大过程组。
2、什么是项目生命周期管理法采用这种方法的最大好处是什么
答:所谓项目生命周期管理法,就是指将不同的项目不同项目阶段过程灵活选择合适的管理方法。
最大的好处是,可以灵活应对项目的包含的各种因素。可以将项目的各个阶段之间的关系顺序,迭代和交替有序灵活开展。
3、什么是项目阶段关口在阶段关口是紧前阶段是否达到结束标准还是紧后阶段是否达到开始标准哪一个更重要为什么
答:项目阶段关口,设立在项目阶段的结束点。
==在阶段关口是紧前阶段达到结束标准====比====紧后阶段达到开始标准====更加====重要==
因为,紧前阶段达到结束标准可以释放各种资源,项目风险降低,会沉淀成本
紧后阶段达到开始标准,代表未来….
4、项目生命周期有哪几种类型预测型生命周期适合什么样的项目适应型生命周期适合什么样的项目
答:
- 预测型生命周期 ,适合传统瀑布型,适合项目一开始,使用的技术和需求都十分清晰的项目
@@ -20,34 +20,34 @@
- 增量型生命周期
- 适应型生命周期,敏捷型,适合那种一开始只知道部分需求和功能的技术的项目。
==需求明确,产品清晰,无需变更,风险较低的项目==
==需求明确,产品清晰,无需变更,风险较低的项目==
==需求不清,产品模糊,频繁变更,风险较高====的项目==
- 混合型生命周期
5、什么是迭代
答:迭代是指定期重复性的工作,在规定的时间重复执行一些管理动作
6、项目有哪五大过程组哪四大通用阶段?
答: 由 启动,规划,执行,监控,收尾五大过程组。
有 开始项目阶段,组织与准备阶段,执行项目工作阶段,结束项目阶段四大通用阶段。
7、什么是项目信息它分为几个维度分别出现在项目的哪些过程组
答:项目数据是在整个项目生命周期需要收集、分析、和转化的大量的数据。从各个过程收集项目数据,并在项目团内内共享。
==在各个过程中所收集的数据经过结合相关背景的分析、汇总转化为项目信息。==
==主要分为==
==工作绩效数据====:====主要出现在执行过程和监控过程==
==工作绩效信息:控制过程,监控==
==工作绩效报告:整体项目控制过程,整合管理==
==三个维度。==
8、什么是ITTO他们的典型组成因素有哪些
ITTO是指每个项目管理过程通过合适的项目管理工具和技术将一个或多个输入转化成一个或多个输出。
Input指一个过程的输入上个阶段的产物或各类项目文件组成
Technology和Tool,指工具,软件或模板;技术主要是 方法论或最佳实践
Output为输出。可交付成果更新后的项目文件或计划或总结报告。
典型的组合成因素
9、什么是效益管理计划它包括哪些主要内容
答:效益管理计划是描述了项目实现效益的方式和时间,以及应制定的效益衡量机制。
项目效益指为发起组织和项目预期受益方创造价值的行动、行为、产品、服务或成果的结果。
主要内容有:目变效益、战略一致性、实现效益的时间、效益责任人、测量指标、假设、风险。
10、在项目启动前有一个阶段叫什么名字这个阶段我们主要做哪些工作
答:在项目启动前的一个阶段叫项目前期准备工作。
5、什么是迭代
答:迭代是指定期重复性的工作,在规定的时间重复执行一些管理动作
6、项目有哪五大过程组哪四大通用阶段?
答: 由 启动,规划,执行,监控,收尾五大过程组。
有 开始项目阶段,组织与准备阶段,执行项目工作阶段,结束项目阶段四大通用阶段。
7、什么是项目信息它分为几个维度分别出现在项目的哪些过程组
答:项目数据是在整个项目生命周期需要收集、分析、和转化的大量的数据。从各个过程收集项目数据,并在项目团内内共享。
==在各个过程中所收集的数据经过结合相关背景的分析、汇总转化为项目信息。==
==主要分为==
==工作绩效数据====:====主要出现在执行过程和监控过程==
==工作绩效信息:控制过程,监控==
==工作绩效报告:整体项目控制过程,整合管理==
==三个维度。==
8、什么是ITTO他们的典型组成因素有哪些
ITTO是指每个项目管理过程通过合适的项目管理工具和技术将一个或多个输入转化成一个或多个输出。
Input指一个过程的输入上个阶段的产物或各类项目文件组成
Technology和Tool,指工具,软件或模板;技术主要是 方法论或最佳实践
Output为输出。可交付成果更新后的项目文件或计划或总结报告。
典型的组合成因素
9、什么是效益管理计划它包括哪些主要内容
答:效益管理计划是描述了项目实现效益的方式和时间,以及应制定的效益衡量机制。
项目效益指为发起组织和项目预期受益方创造价值的行动、行为、产品、服务或成果的结果。
主要内容有:目变效益、战略一致性、实现效益的时间、效益责任人、测量指标、假设、风险。
10、在项目启动前有一个阶段叫什么名字这个阶段我们主要做哪些工作
答:在项目启动前的一个阶段叫项目前期准备工作。
主要做需求评估、商业论证和效益管理计划。

View File

@@ -1,5 +1,5 @@
3、思考题事业环境因素分为哪两个类别分别包括哪些内容组织过程资产分为哪两个类别分别包括哪些内容
答:事业环境因素主要分为组织内部环境因素和组织外部环境因素
3、思考题事业环境因素分为哪两个类别分别包括哪些内容组织过程资产分为哪两个类别分别包括哪些内容
答:事业环境因素主要分为组织内部环境因素和组织外部环境因素
组织内部环境因素主要有:
- 制度环境(组织治理框架,组织结构,项目管理信息系统,人事管理制度,工作授权系统,沟通制度)
@@ -13,7 +13,7 @@
- 相关方环境(相关方期望,相关方文化,风险临界值)
- 物理环境(工作条件,气候条件,客观限制)
组织过程资产主要分过程、政策和程序 和 组织知识库两种
组织过程资产主要分过程、政策和程序 和 组织知识库两种
过程、政策和程序 组织过程资产主要有
- 具体的政策
@@ -23,8 +23,8 @@
- 工作模板
- 工作指南
- 共享知识库 
- 共享知识库
4、事业环境因素和组织过程资产最重要的区分方式是什么 
4、事业环境因素和组织过程资产最重要的区分方式是什么
\> 答:主要区分方式
> 答:主要区分方式

View File

@@ -1,7 +1,7 @@
1、什么是系统型简单型组织结构它有什么优点和缺点如何区分简约型和有机型组织结构
2、职能式组织结构是如何划分的它有哪些优点和缺点适合做什么样的类型的项目
3、协调员和联络员出现在什么组织结构中如何区分协调员和联络员
4、平衡矩阵组织结构有什么优点和缺点
5、项目式组织结构和矩阵型组织结构的最大区别是什么项目型组织结构的优点和缺点有哪些?
6、复合型组织结构除了项目经理还有哪些人是专职服务于项目的哪些人是兼职服务于项目的
1、什么是系统型简单型组织结构它有什么优点和缺点如何区分简约型和有机型组织结构
2、职能式组织结构是如何划分的它有哪些优点和缺点适合做什么样的类型的项目
3、协调员和联络员出现在什么组织结构中如何区分协调员和联络员
4、平衡矩阵组织结构有什么优点和缺点
5、项目式组织结构和矩阵型组织结构的最大区别是什么项目型组织结构的优点和缺点有哪些?
6、复合型组织结构除了项目经理还有哪些人是专职服务于项目的哪些人是兼职服务于项目的
7、预习PMO的类型和作用

View File

@@ -1,4 +1,4 @@
![Account Information Username Chi1120131212 550 cha...](Exported%20image%2020260407225227-0.png)
Pssword:
Pssword:
1q2w#E$R

View File

@@ -1,35 +1,35 @@
中文
项目1
中文
项目1
**城市环境空气质量预报预警平台** 这个项目包含了城市空气质量预报预警业务管理平台,统计模型预报,实况与预报发布平台,智能短信报送平台,视频会商系统的建设等。
**启动** 初始阶段我们做了什么准备;
**规划**:如何规划这个项目;
**实施**:我在这个项目里担任什么职务,这个项目是做什么用的,
**监控**:这个项目实施过程监督;
**启动** 初始阶段我们做了什么准备;
**规划**:如何规划这个项目;
**实施**:我在这个项目里担任什么职务,这个项目是做什么用的,
**监控**:这个项目实施过程监督;
**收尾**:这个项目目前是否已经验收,客户满意度如何。
开始:根据国家对城市空气质量预报信息化要求,调研空气质量的预报和发布需求,主要解决城市环境监测中心在数据预报、会商和数据发布流程以及信息化支撑而启动项目。
计划:编制项目管理计划,创建开发工作分解结构,主要分为预报业务平台,预报算法,预报发布平台,短信报送平台,视频会商系统等五大子系统分别编制时间进度计划,制定预算,人力资源管理、沟通和采购计划。
执行:作为项目经理带领项目团队预报业务平台,预报发布平台,短信报送平台和预报算法的集成研发,将视频会商系统进项外包管理,组织整个项目按照预定计划推进。
监控:每周五项目进度和问题汇总、月度评估后并向业主定期汇报项目状态,将业主需求变化推进项目变更,确保项目按照计划的推进。
开始:根据国家对城市空气质量预报信息化要求,调研空气质量的预报和发布需求,主要解决城市环境监测中心在数据预报、会商和数据发布流程以及信息化支撑而启动项目。
计划:编制项目管理计划,创建开发工作分解结构,主要分为预报业务平台,预报算法,预报发布平台,短信报送平台,视频会商系统等五大子系统分别编制时间进度计划,制定预算,人力资源管理、沟通和采购计划。
执行:作为项目经理带领项目团队预报业务平台,预报发布平台,短信报送平台和预报算法的集成研发,将视频会商系统进项外包管理,组织整个项目按照预定计划推进。
监控:每周五项目进度和问题汇总、月度评估后并向业主定期汇报项目状态,将业主需求变化推进项目变更,确保项目按照计划的推进。
结束:结束各子系统的项目活动,把研发过程和项目管理过程分别归档,按照合同要求将交付物打包整理移交给业主,开展项目验收会,验收报告盖章签字,总结整理经验教训。
![Initiating Planning S Executing Monitoring Closing](Exported%20image%2020260407225232-0.octet-stream)
中文:项目经验2 中海达监测云
开始:旧有的监测软件产品无法满足国土地灾、矿山、大坝等安全监测行业市场需求组织打造一款具备对安全监测设备的数据采集、审核、统计、查询、管理、专业分析和webgis展示服务的SAAS专业监测云平台启动了这个项目。
计划:将项目主要分为传感器数据采集数据处理web 综合分析平台前端展示等四个子模块分别研发工作结构分解WBS,编制进度计划,人力资源计划和质量计划。
执行:作为项目经理带领项目团队进行项目需求分析,原型设计,编写产品需求规格说明书,搭建和梳理出全新的监测软件产品的业务体系,根据监测产品需求来组织开发架构保障整个项目顺利完成。研发人员进行单元测试以及测试人员集成功能测试和性能测试。
监控:每周与研发汇总项目问题和进度并定期汇报项目状态给上级领导,开展项目需求评审,代码评审,产品架构评审和需求变更评审会议。
中文:项目经验2 中海达监测云
开始:旧有的监测软件产品无法满足国土地灾、矿山、大坝等安全监测行业市场需求组织打造一款具备对安全监测设备的数据采集、审核、统计、查询、管理、专业分析和webgis展示服务的SAAS专业监测云平台启动了这个项目。
计划:将项目主要分为传感器数据采集数据处理web 综合分析平台前端展示等四个子模块分别研发工作结构分解WBS,编制进度计划,人力资源计划和质量计划。
执行:作为项目经理带领项目团队进行项目需求分析,原型设计,编写产品需求规格说明书,搭建和梳理出全新的监测软件产品的业务体系,根据监测产品需求来组织开发架构保障整个项目顺利完成。研发人员进行单元测试以及测试人员集成功能测试和性能测试。
监控:每周与研发汇总项目问题和进度并定期汇报项目状态给上级领导,开展项目需求评审,代码评审,产品架构评审和需求变更评审会议。
结束:结束各子模块的项目活动,编写产品测试报告和性能测试报告,按照项目业务需求将交付物打包运营部门,开展产品试运行,试运行结束后对项目验收报告,总结经验教训归档代码和研发文档。
中文项目经验3 中海达解算云
开始:以前的gnss解算软件只能适合小型单个工程应用无法满足越来越大量的GNSS实时解算需求所以组织启动开发专注于gnss高精度定位技术在变形监测领域数据解算支撑平台、支持大量gnss数据接收、存储处理、分布式实时解算和事后分析的云平台。
计划: 我根据立项需求制定产品的GNSS解算产品研发路线图按照公司规定裁剪制定了项目管理计划 主导编制进度计划、质量管理计划,配置管理等实施计划。
执行:作为项目经理带领项目团队开展项目详细分析和原型开发,主导沟通编写产品需求规格说明书,协调架构师搭建GNSS解算的分布式研发框架根据项目管理计划来组织研发活动分了三个迭代反复执行。在内部测试测试之后开展集成测试和性能测试等活动。
监控和收尾:每周定期汇报项目状态给QA每月中旬沟通项目主要问题并沟通协调解决方案开展项目评审会议以保障项目项目质量和进度。最后编写项目测试报告和事业部验收报告 协调现场项目试运行。总结经验教训归档代码和算法经验,以便于下一个版本的迭代。

View File

@@ -1,5 +1,5 @@
**EF Core Migration**
 **手动命令行的方式**
**EF Core Migration**
 **手动命令行的方式**
Update-Database -Verbose -c safeMonitorDbContext
| | | |

View File

@@ -5,5 +5,5 @@
|.NET Core|Windows, Linux, macOS|是|构建跨平台命令行应用程序、ASP.NET Core应用程序、云服务|
|Xamarin|iOS, Android, macOS|是|构建iOS、Android移动应用程序、macOS桌面应用程序|
|.NET Standard|N/A|是|创建可以被所有.NET实现(如.NET Core和.NET Framework)所引用的类库|
\> 来自 \<[https://blog.csdn.net/chengbin0602/article/details/80424520](https://blog.csdn.net/chengbin0602/article/details/80424520)\>
> 来自 <[https://blog.csdn.net/chengbin0602/article/details/80424520](https://blog.csdn.net/chengbin0602/article/details/80424520)>

View File

@@ -6,7 +6,7 @@
水文测报云的项目方案
- [ ] 明天需要做什么?
- [ ] 真的吗

View File

@@ -6,7 +6,7 @@
水文测报云的项目方案
- [ ] 明天需要做什么?
- [ ] 真的吗

View File

@@ -1,14 +1,14 @@
- [ ] Hi-Monitor 英文版开发1人月
- [ ] 董航新橙北斗项目软件logo 修改(解算软件定制)
- [ ] 郭铁 去除中海达字样以及logo 软件版本
- [ ] 江伟重庆煤科院定制接口开发以及接口测试
- [ ] 云南莲花小区定制接口
- [ ] 彭锡山尾矿库接口推送开发 林泉
- [ ] 香港FTP推送以及数据推送
- [ ] 江伟405数据推送重庆老平台gnss /雨量/裂缝/地下水位)
- [ ] 江伟重庆新平台书推送(声光报警器,库水位)
- [ ] 其他产品兼容工作
- [ ] 内蒙古露天矿边坡数据推送定制
- [ ] 国贸监测云定制
- [ ] 广东地环总站数据定制开发(科研项目)
- [ ] Hi-Monitor 英文版开发1人月
- [ ] 董航新橙北斗项目软件logo 修改(解算软件定制)
- [ ] 郭铁 去除中海达字样以及logo 软件版本
- [ ] 江伟重庆煤科院定制接口开发以及接口测试
- [ ] 云南莲花小区定制接口
- [ ] 彭锡山尾矿库接口推送开发 林泉
- [ ] 香港FTP推送以及数据推送
- [ ] 江伟405数据推送重庆老平台gnss /雨量/裂缝/地下水位)
- [ ] 江伟重庆新平台书推送(声光报警器,库水位)
- [ ] 其他产品兼容工作
- [ ] 内蒙古露天矿边坡数据推送定制
- [ ] 国贸监测云定制
- [ ] 广东地环总站数据定制开发(科研项目)
- [ ] 湖北地环总站数据推送(贺江华)

View File

@@ -1,4 +1,4 @@
徐雪梅香港项目
国贸香港项目
墨西哥监测项目
徐雪梅香港项目
国贸香港项目
墨西哥监测项目
贵州项目gnss

View File

@@ -1,5 +1,5 @@
![Exported image](Exported%20image%2020260407230200-0.png)
![Exported image](Exported%20image%2020260407230200-0.png)
系统工程师全方位kaolv
检查表、流程控制要到位落于实处
系统工程师全方位kaolv
检查表、流程控制要到位落于实处
问题和经验库提炼为知识库

View File

@@ -1,7 +1,7 @@
![Exported image](Exported%20image%2020260407230206-0.png)
![Exported image](Exported%20image%2020260407230206-0.png)
需求跟踪矩阵/需求-功能矩阵
复杂度比较高,修复速度快
测试用例要贴近异常场景,
时序图很重要,数据流
需求跟踪矩阵/需求-功能矩阵
复杂度比较高,修复速度快
测试用例要贴近异常场景,
时序图很重要,数据流
DFMEA 建议打开到模块 可以。

View File

@@ -1,8 +1,8 @@
![Exported image](Exported%20image%2020260407230211-0.png)
![Exported image](Exported%20image%2020260407230211-0.png)
问题库,经验库——\>定期刷新到技术规范
问题库,经验库——>定期刷新到技术规范
问题提炼,让新人可以总揽问题库
跟技术线和项目线的 矩阵管理中? 是按照项目维度还是技术线的维度。
专职做问题管理的主要关注点是:分类和标准化管理,不是做问题的分析和解决。
跟技术线和项目线的 矩阵管理中? 是按照项目维度还是技术线的维度。
专职做问题管理的主要关注点是:分类和标准化管理,不是做问题的分析和解决。
人员梯队建设

View File

@@ -1,4 +1,4 @@
质量法典
质量法典
有经验的可靠的专家团队各个环节把关,有效的评审
制造问题+研发问题

View File

@@ -0,0 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>

View File

@@ -1,8 +1,8 @@
**所有不符合项的汇总,而不仅是产品问题****(8D ,5WHY,** **鱼骨图** **(可能的问题关联,明确关注面)** **数据统计分析方法****)**
**先开展鱼骨图做根因分析,基于鱼骨图做****5why****分析**
**区分流出原因和产生原因区别分析。**
**区分流出原因和产生原因区别分析。**
**跟踪措施**
![Exported image](Exported%20image%2020260407230141-0.png)

View File

@@ -1,14 +1,18 @@
1、如果采集程序正常采集而出现前端看不到最新数据。可能是原程序出现过滤bug。
1、如果采集程序正常采集而出现前端看不到最新数据。可能是原程序出现过滤bug。
2、打开数据库执行下列sql语句 查看雨量过滤表的数据情况。如果数据不齐全,就确认为数据过滤问题。
SELECT *
FROM [ZHDMTProj].[dbo].[YLJ_clean] where Style\>0
order by aDatetime desc
3、停止SG采集程序暂停数据入库。
4、找到开始缺失的过滤时间点。 执行下列语句删除影响程序运行的历史数据。用缺失时间点替换下面的2018-07-01 23:59:59.000
delete FROM [ZHDMTProj].[dbo].[YLJ_clean]
where aDatetime\>'2018-07-01 23:59:59.000'
SELECT *
```sql
FROM [ZHDMTProj].[dbo].[YLJ_clean] where Style>0
```
order by aDatetime desc
3、停止SG采集程序暂停数据入库。
4、找到开始缺失的过滤时间点。 执行下列语句,删除影响程序运行的历史数据。(用缺失时间点替换下面的2018-07-01 23:59:59.000
```sql
delete FROM [ZHDMTProj].[dbo].[YLJ_clean]
where aDatetime>'2018-07-01 23:59:59.000'
```
5、重启SG采集程序1分钟以内就可以完成重新过滤审核任务。
6、打开网站验证数据是否正常展示。

View File

@@ -1,7 +1,7 @@
蓝色预警(Ⅳ级应急响应,地质灾害发生可能性较小)
预警等级、防御措施及应急响应级别一览表
等级 颜色 色标 含 义 应急响应级别
蓝色预警 蓝色R=0,G=0,B=255 灾害发生可能性较小 Ⅳ级
黄色预警 黄色R=255,G=255,B=0 灾害发生可能性较大 ( 注意 ) Ⅲ级
橙色预警 橙色R=242,G=165,B=0 灾害发生可能性大(预警) Ⅱ级
蓝色预警(Ⅳ级应急响应,地质灾害发生可能性较小)
预警等级、防御措施及应急响应级别一览表
等级 颜色 色标 含 义 应急响应级别
蓝色预警 蓝色R=0,G=0,B=255 灾害发生可能性较小 Ⅳ级
黄色预警 黄色R=255,G=255,B=0 灾害发生可能性较大 ( 注意 ) Ⅲ级
橙色预警 橙色R=242,G=165,B=0 灾害发生可能性大(预警) Ⅱ级
红色预警 红色R=255,G=0,B=0 灾害发生可能性很大 (警报) Ⅰ级

View File

@@ -1,3 +1,3 @@
1. 经典平差:选择固定基准,网点位移是相对于固定点的变化量;
2. 秩亏自由网平差:选择全网重心基准,网点位移是相对于网的重心的变化量;
1. 经典平差:选择固定基准,网点位移是相对于固定点的变化量;
2. 秩亏自由网平差:选择全网重心基准,网点位移是相对于网的重心的变化量;
3. 拟稳平差:选择局部重心基准,网点位移是相对于拟稳点的重心的变化量。

View File

@@ -1,9 +1,9 @@
前端展示的曲线值为 孔口到 水面的距离。
前端展示的曲线值为 孔口到 水面的距离。
报警值设置为 从大到小。
SG中需要配置一个 孔口高程的值,然后数据库存的是孔口高程减去仪器测量的水深。
SG中需要配置一个 孔口高程的值,然后数据库存的是孔口高程减去仪器测量的水深。
如果不配置的话,就会出现负值。
![Exported image](Exported%20image%2020260407230251-0.png)
![0 0](Exported%20image%2020260407230253-1.png) ![m 21s 41 1 2 9 97 191 9 28 57 18L55 172 21 152 75 ...](Exported%20image%2020260407230255-2.png)

View File

@@ -1,2 +1,2 @@
![4008285656 8986 0317 4520 5378 259G CID 10649](Exported%20image%2020260407230310-0.jpeg)
![4008285656 8986 0317 4520 5378 259G CID 10649](Exported%20image%2020260407230310-0.jpeg)
![4G 10649 4G CHINA TELECOM](Exported%20image%2020260407230315-1.jpeg)

View File

@@ -1,3 +1,3 @@
Svn :192.168.1.120
User:wuzhuoshan
Svn :192.168.1.120
User:wuzhuoshan
Password:1q2w#E

View File

@@ -1,82 +1,82 @@
10.10.200.211:9300 remote port 9300
外网
59.42.53.226:6300
开放端口 6300-6310
6303-6305
-------------------
管理员
10.10.200.97APP支持远程桌面
root/zhdbds.123
zhdms/zhdbds.123
-----------------------
10.10.200.175DataBase
root/zhdbds.123
[http://10.10.200.175/harbor](http://10.10.200.175/harbor)
外网
59.42.53.226:6300
开放端口 6300-6310
6303-6305
-------------------
管理员
10.10.200.97APP支持远程桌面
root/zhdbds.123
zhdms/zhdbds.123
-----------------------
10.10.200.175DataBase
root/zhdbds.123
[http://10.10.200.175/harbor](http://10.10.200.175/harbor)
admin and Harbor12345
Postgresql 12
Postgresql 12
postgres /zhdbds.123
Harbor 同步aliyun 账号密码
Harbor 同步aliyun 账号密码
412556459@qq.com/zhdbds.123
| | |
|---|---|
|AccessKeyID <br>LTAI4Fu2zws87eYHTPDi2E74|AccessKeySecret <br>==UPGdz6P1Jfm13UZsI2EAYl6OAsXRiN==|
kafka-manager
kafka-manager
admin/zhdbds.123
\> [http://10.10.200.175:9000/](http://10.10.200.175:9000/)
> [http://10.10.200.175:9000/](http://10.10.200.175:9000/)
[http://218.20.222.234:30041/](http://218.20.222.234:30041/)
Gitlab
[http://218.20.222.234:30041/](http://218.20.222.234:30041/)
Gitlab
root/zhdbds.123
虚拟机管理地址10.10.200.210
虚拟机管理地址10.10.200.210
账号root    密码Dengxie123
10.10.200.214
zhdgps/zhdbds.123
Administrator /we2beblack*
监测开发服务器 218.20.222.234:3000110.10.200.214:30001
用户名Administrator
密码: we2beblack*
10.10.200.214
zhdgps/zhdbds.123
Administrator /we2beblack*
监测开发服务器 218.20.222.234:3000110.10.200.214:30001
用户名Administrator
密码: we2beblack*
端口 30001-30010
Pg 10.10.200.214:5432
postgres
Pg 10.10.200.214:5432
postgres
we2beblack*
原测试服务器
远程桌面地址
218.20.222.234:305010.10.200.7:3050
用户名Administrator
密码: ZhdGps-2019
3001-3020
3050-3059
原测试服务器
远程桌面地址
218.20.222.234:305010.10.200.7:3050
用户名Administrator
密码: ZhdGps-2019
3001-3020
3050-3059
Ftp 3001 和 3055-3059
[10.10.200.78](http://javascript:;)
[10.10.200.78](http://javascript:;)
30020-30050
集团定位老服务器3
IP172.16.35.7/59.42.52.138 11221-11250 远程IP和端口218.107.6.164:3333
用户名Administrator 远程登陆密码ZHDxtgc_zhdgps
登录密码:
数据库SA 密码zhdgps_123456
广州中定服务器 172.16.35.7
VNet二代固件升级1 59.42.52.138 外网端口2121 内网端口20
VNet二代固件升级1 59.42.52.138 外网端口2122 内网端口21
VNet二代固件升级2 59.42.52.138 外网端口10000-10009 内网端口10000-10009
曾锦杰——CFG_TCP 59.42.52.142 60010-60015
预留——CFG_TCP 59.42.52.142 60016-60019
VNet升级目录E:\ZHD_UPDATE_SERVER\VNet2's
集团定位老服务器3
IP172.16.35.7/59.42.52.138 11221-11250 远程IP和端口218.107.6.164:3333
用户名Administrator 远程登陆密码ZHDxtgc_zhdgps
登录密码:
数据库SA 密码zhdgps_123456
广州中定服务器 172.16.35.7
VNet二代固件升级1 59.42.52.138 外网端口2121 内网端口20
VNet二代固件升级1 59.42.52.138 外网端口2122 内网端口21
VNet二代固件升级2 59.42.52.138 外网端口10000-10009 内网端口10000-10009
曾锦杰——CFG_TCP 59.42.52.142 60010-60015
预留——CFG_TCP 59.42.52.142 60016-60019
VNet升级目录E:\ZHD_UPDATE_SERVER\VNet2's
218.107.6.164 11211-11220 11213用于湖南智联的远程控制

View File

@@ -1,7 +1,7 @@
[http://192.168.1.250:9000](http://192.168.1.250:9000)
PDM账号wuzhuoshan
[http://192.168.1.250:9000](http://192.168.1.250:9000)
PDM账号wuzhuoshan
密码12345
2018年剩余编码 452545264527
2019年编码
2018年剩余编码 452545264527
2019年编码
从 1965到 2015共50个

View File

@@ -0,0 +1,3 @@
用户密码
13174513171
123456

View File

@@ -1,4 +1,4 @@
[https://dev.dcloud.net.cn/](http://javascript:;) 
support@[zhdbds.com](http://javascript:;)     
[https://dev.dcloud.net.cn/](http://javascript:;)
support@[zhdbds.com](http://javascript:;)
zhdbdsuniapp

View File

@@ -1,5 +1,5 @@
个人电脑10.10.200.45
1060-1064
远程端口50062
59.42.53.226:50062
个人电脑10.10.200.45
1060-1064
远程端口50062
59.42.53.226:50062
开放端口50061-50065

View File

@@ -1,12 +1,12 @@
公司固定邮箱163
账户zhd18613098128@[163.com](http://javascript:;)
公司固定邮箱163
账户zhd18613098128@[163.com](http://javascript:;)
密码Zhdbds123456
xtgcsyb@163.com
xtgcsyb@163.com
密码 zhdgps
客户端授权码
客户端授权码
zhdbds123
support@zhdbds.com
support@zhdbds.com
Aa999999

View File

@@ -1,10 +1,10 @@
FTP用户名byu5028050001
FTP密码zhdgps@123
FTP用户名byu5028050001
FTP密码zhdgps@123
FTP登录主机地址 byu5028050001.my3w.com
数据库名bdm288811201_db
数据库类型mysql 5.1.73
数据库地址bdm288811201.my3w.com
数据库账户bdm288811201
数据库bdm288811201_db
数据库类型mysql 5.1.73
数据库地址bdm288811201.my3w.com
数据库账户bdm288811201
数据库密码zhdgps@123

View File

@@ -1,5 +1,5 @@
加密系统
加密系统
账号wuzs.hi-target.com.cn密码666666
卸载360密码 zhd123456!

View File

@@ -1,2 +1,2 @@
UI面试
UI面试
C# 高级工程师

View File

@@ -1,10 +1,10 @@
--查询分机号:#97 836
20190603
使用端口E36 分机号 809
--查询分机号:#97 836
20190603
使用端口E36 分机号 809
拨打长途号码99+0+ 手机号码
OA
移动端登录地址http://itoa.zhdgps.com:89
拨打广州手机号码: 前面加99 +手机号码

View File

@@ -1,3 +1,3 @@
[http://192.168.200.236:8081/U9/](http://192.168.200.236:8081/U9/)
U9账户
[http://192.168.200.236:8081/U9/](http://192.168.200.236:8081/U9/)
U9账户
系统工程产品研发部报销账户 654321

View File

@@ -1,2 +1,2 @@
[Welcome - Nexus Repository Manager](http://192.168.200.238:8081/)
[Welcome - Nexus Repository Manager](http://192.168.200.238:8081/)
Admin/zhdgps123

View File

@@ -1,3 +1,3 @@
账号wuzhuoshan
密码1q2w3e4r
账号wuzhuoshan
密码1q2w3e4r
人社局

View File

@@ -1,9 +1,9 @@
Appleid
info@zhdbds.com
Appleid
info@zhdbds.com
Zhdbds_123456
![1 wangvvang 2 zhonghaida 3 liaodinghai](Exported%20image%2020260407230355-0.png)
![1 wangvvang 2 zhonghaida 3 liaodinghai](Exported%20image%2020260407230355-0.png)
注册 ID 32VX5X2YMW
在我们验证您有权签订法律协议后,会通过电子邮件向您发送有关如何完成注册的说明。
注册 ID 32VX5X2YMW
在我们验证您有权签订法律协议后,会通过电子邮件向您发送有关如何完成注册的说明。
![Developer Apple Developer Enterprise Program hfflD...](Exported%20image%2020260407230356-1.png)

View File

@@ -1,3 +1,3 @@
萤石云
账号18613098128
萤石云
账号18613098128
密码Zhdbds_123456

View File

@@ -1,8 +1,8 @@
zhdbds
zhdbds
zhdbds_123456
贵州解算云
[https://222.85.224.102:7000/](https://222.85.224.102:7000/)
root
贵州解算云
[https://222.85.224.102:7000/](https://222.85.224.102:7000/)
root
P2ssw0rd

View File

@@ -1,4 +1,4 @@
Test项目
管理员
Test
?qd\RV:i\Z}\<PgDj6'%x
Test项目
管理员
Test
?qd\RV:i\Z}<PgDj6'%x

View File

@@ -1,87 +1,87 @@
114服务器
zhdzzfw.COM
114服务器
zhdzzfw.COM
114 新的管理员密码 zhdbds@123
**Himonitor2.0**
**admin**
**Himonitor2.0**
**admin**
**zhdbds_123**
阿里云
广州中海达定位
阿里云
广州中海达定位
zhddw63946188188,,
web远程控制Zhdbds
118.190.41.197
端口9999-Vnet远程控制 10000-10003
administrator
端口9999-Vnet远程控制 10000-10003
administrator
zhdbds@321
118.190.41.197
Administrator
zhdbds&*(123
Zhdgps
118.190.41.197
Administrator
zhdbds&*(123
Zhdgps
We2beblack*
172.16.36.247
172.16.36.247
we2beblack*
Webdeploy
用户名 zhdbds
Webdeploy
用户名 zhdbds
Zhdbds_321
247
administrator we2beblack*(易老师共用)
zhdgps zhdbds.123 (监测技术公用)
zhdbds we2beblack*(后端用)
214
administrator we2beblack*
zhdgps zhdbds.123
246
247
administrator we2beblack*(易老师共用)
zhdgps zhdbds.123 (监测技术公用)
zhdbds we2beblack*(后端用)
214
administrator we2beblack*
zhdgps zhdbds.123
246
**administrator we2beblack***
**ftp://ms.zhdbds.com/**
**username:msftp**
**ftp://ms.zhdbds.com/**
**username:msftp**
**password:Ftp@zhdgps**
[Ftp://ms.zhdbds.com](Ftp://ms.zhdbds.com)
Username: msftp
Password: ftp@123
**172.16.36.249****(** **远程连接密码 884454**
\> **来自** **\<****https://ecs.console.aliyun.com/vnc/index.htm?spm=5176.2020520101.107.d515.c19a4df5vZ1NPI&instanceId=i-m5efjfnoa7n7dfkk8652&regionId=cn-qingdao****\>**
118 两个远程账户
++++解算软件和技术用
Administrator
Zhdbds&*(123
118
administrator
[Ftp://ms.zhdbds.com](Ftp://ms.zhdbds.com)
Username: msftp
Password: ftp@123
**172.16.36.249****(** **远程连接密码 884454**
> **来自** **<****https://ecs.console.aliyun.com/vnc/index.htm?spm=5176.2020520101.107.d515.c19a4df5vZ1NPI&instanceId=i-m5efjfnoa7n7dfkk8652®ionId=cn-qingdao****>**
118 两个远程账户
++++解算软件和技术用
Administrator
Zhdbds&*(123
118
administrator
zhd_123bds
++++++++++++++++++++++++++++
zhdgps
we2beblack*
++++++++++++++++++++++++++++
zhdgps
we2beblack*
监测云相关使用
47.104.30.82     27017   {user: "zhd_safemongo", pwd: "j07TEsu8W71FFvSM", roles: [{ role: "dbOwner", db: "zhd_safemongo_db" }
贵州服务器
47.104.30.82
贵州服务器
47.104.30.82
zhd_haidaankong_jx03_!
[www.apizza.net](http://www.apizza.net)
监测云接口文档编写
support@zhdbds.com
zhdbds
[www.apizza.net](http://www.apizza.net)
监测云接口文档编写
support@zhdbds.com
zhdbds
zhdbds_123
guizhou2020
172.16.36.251
47.104.158.63:251
guizhou2020
172.16.36.251
47.104.158.63:251
Rootguizhou@2021
47.104.158.63:248
![hdak hdak hdak tnZ 172. 16. 36. 250 47. 104. 30. 8...](Exported%20image%2020260407230346-0.png)

View File

@@ -4,9 +4,9 @@
zhdbds_sms 阿里云短信服务
\> 来自 \<[https://ram.console.aliyun.com/?spm=a2c4g.11186623.2.12.74a55f814KPrrd#/user/list](https://ram.console.aliyun.com/?spm=a2c4g.11186623.2.12.74a55f814KPrrd#/user/list)\>
> 来自 <[https://ram.console.aliyun.com/?spm=a2c4g.11186623.2.12.74a55f814KPrrd#/user/list](https://ram.console.aliyun.com/?spm=a2c4g.11186623.2.12.74a55f814KPrrd#/user/list)>
攀枝花盐边项目
攀枝花盐边项目
yanbian_sms
| | |

View File

@@ -1,109 +1,109 @@
合作模式
解决方案导入
合作模式
解决方案导入
河北邯郸10多个水文专职销售培训
概要情况: 擅长精密仪器,不止河流声层析,精密仪器,全断面
陈超:产品
流程:
产品介绍: 超大断面流量,,点线面,到体测量。
特点:实时、全尺度断面(100-5KM)、适应复杂流场环境.. 稳定性,易安装
陈超:产品
流程:
产品介绍: 超大断面流量,,点线面,到体测量。
特点:实时、全尺度断面(100-5KM)、适应复杂流场环境.. 稳定性,易安装
适应性强、准确度高、稳定性好、实时性优(秒级)、安装简便(无需类似时差法指向性)。
研发中心介绍:
研发中心介绍:
产线参观:
声层析流速反演
1代量产RATS-125Khz (50-700m)
1代量产RATS-125Khz (50-700m)
2代产品 TZSX-MATS 灌渠精细化河口、海洋场景4个细分 1% 多基站。 20m/S 多声线和分层测量。 可追溯。 多种通讯方式,和环境场景扩展(多泥沙、冰封、断面大, 二三维温流场,基于实测数据的反演可视化)
3代产品研发中。 流速速度场。 难点 断面面积测量30%的底面面积变化。
基于声呐的断面扫描,实时测量。…
3代产品研发中。 流速速度场。 难点 断面面积测量30%的底面面积变化。
基于声呐的断面扫描,实时测量。…
含泥沙量的反演计算。
二三维流速场反演,
二三维流速场反演,
三维流场可视化
张总:负责人
郑红:教授(南京信息工程大学)
江河声层析测量系统 及其发展。
现状、
设备太多、需要流量流场的自动在线监测设备,自动化水平差。
提升流量监测的精确、稳定性
流量
江河声层析测量系统 及其发展。
现状、
设备太多、需要流量流场的自动在线监测设备,自动化水平差。
提升流量监测的精确、稳定性
流量
高端的国产化;
断面采样,非水平, 4基站以上。多声线。 代表流速,比时差法更有代表性
断面采样,非水平, 4基站以上。多声线。 代表流速,比时差法更有代表性
广东远动? 界面实现。。
J总
贝加尔湖:窄深河流
J总
贝加尔湖:窄深河流
国内:宽浅河流
流量
0、代表流速还是 加权平均流速? 断面平均流速
1、标定、率定 声层析、可以自己反演复核、 标定而不率定。 过水断面,断面。
2、测量含泥沙困难 100KG范围。 黄河 3-100KG 含沙量测量。 25KHZ以下低频设置。 时间尺度变化快,就算测出来,也没有人可以比测验证。 全断面含沙量检测、或泥沙对声波信号的有不同影响。波长太长,泥沙敏感度不够。 正向还是背向散射
3、数据的合理性和一致性。 客户的担忧。
午后效应? 温度场变化?
声线盲区?测不到。声传播环境检测, 最坏情况下的最好去规避处理:选址安装,有在线数据质量分析软件
亮点:二维流态?
低慢流速场景应用如何?无完整断面测流验证报告,没有做实际对应测试报告。原理上主要取决于时间精度和信噪比和信号提取方式。。广东可以做到 0.006m/s
十二五进入 水文市场2010年 中小河流普查…
十三五进入 大江大河
声纳类ADCP 测量速度。
测绘类,多波束、单波速,水下地形测量。
导入新的品类,沟通合作模式沟通。
1、合作模式厂家、设备产业化,产品,迭代设备,比较少做市场话。售前售后支持。解决方案。(软硬件和安装实施)
合作方案由我们提出,他们来做评估.
迈致:产品、解决方案(含软件)、培训资料,标准化安装工艺,
流量
0、代表流速还是 加权平均流速? 断面平均流速
1、标定、率定 声层析、可以自己反演复核、 标定而不率定。 过水断面,断面。
2、测量含泥沙困难 100KG范围。 黄河 3-100KG 含沙量测量。 25KHZ以下低频设置。 时间尺度变化快,就算测出来,也没有人可以比测验证。 全断面含沙量检测、或泥沙对声波信号的有不同影响。波长太长,泥沙敏感度不够。 正向还是背向散射
3、数据的合理性和一致性。 客户的担忧。
午后效应? 温度场变化?
声线盲区?测不到。声传播环境检测, 最坏情况下的最好去规避处理:选址安装,有在线数据质量分析软件
亮点:二维流态?
低慢流速场景应用如何?无完整断面测流验证报告,没有做实际对应测试报告。原理上主要取决于时间精度和信噪比和信号提取方式。。广东可以做到 0.006m/s
十二五进入 水文市场2010年 中小河流普查…
十三五进入 大江大河
声纳类ADCP 测量速度。
测绘类,多波束、单波速,水下地形测量。
导入新的品类,沟通合作模式沟通。
1、合作模式厂家、设备产业化,产品,迭代设备,比较少做市场话。售前售后支持。解决方案。(软硬件和安装实施)
合作方案由我们提出,他们来做评估.
迈致:产品、解决方案(含软件)、培训资料,标准化安装工艺,
海达:做 市场、销售、可以贴牌,(客户白名单)。
数据对接标准接口通信对接。
1、数据上报到上级平台
1、数据上报到上级平台
2、和自有平台的页面或数据集成
功耗:
5秒 一天耗时 15W 25HZ
功耗:
5秒 一天耗时 15W 25HZ
待机功率 很低毫W级。
生物附着 的影响:降低表面活跃能,涂层,机械刮手,喷枪. 持续养护。
软件也在重构开发
后处理算法正在算法
处于开发阶段, 6-7月份后处理 可以使用。
生物附着 的影响:降低表面活跃能,涂层,机械刮手,喷枪. 持续养护。
软件也在重构开发
后处理算法正在算法
处于开发阶段, 6-7月份后处理 可以使用。
2年软件团队 大概 3 +14 个 算法类
可以定制开发。,不是特别成熟..
一代可以完成测流在平台实现。有做2年3-5年的测试验证了。
可以定制开发。,不是特别成熟..
一代可以完成测流在平台实现。有做2年3-5年的测试验证了。
二代在终端实现大部分,远程配置在平台,他们有自己的规划。
精度大概是 通常是2% 新产品不超过5%。
精度大概是 通常是2% 新产品不超过5%。
系统偏差,多组数据的比对分析,是否能通过数据检验。
1、产品形态4个产品1代标准产品对接技术保障。2代产品持续迭代未定型。可以做客户定制产品介入前期调研。脱离广东的产品打出自己的产品有融资和政府补贴。
2、贴牌形式贴牌,需要有的一定的量,投入有限。联合品牌? 给融资讲故事…
3、价格体系历史比较乱需要重新计算需要给地方水文数据支撑客户能接受 偏科研项目。
1、产品形态4个产品1代标准产品对接技术保障。2代产品持续迭代未定型。可以做客户定制产品介入前期调研。脱离广东的产品打出自己的产品有融资和政府补贴。
2、贴牌形式贴牌,需要有的一定的量,投入有限。联合品牌? 给融资讲故事…
3、价格体系历史比较乱需要重新计算需要给地方水文数据支撑客户能接受 偏科研项目。
根据价格对产品做性能折中。 价格决定指标。
海达:成熟稳定,满足客户需求,需要大量精力做客户教育导入。
满足市场的,价格机制。 互相协助。
海达:成熟稳定,满足客户需求,需要大量精力做客户教育导入。
满足市场的,价格机制。 互相协助。
定价简单化,标准化。普适性。尽快标准化。
贴牌流程: 价格和量 阶梯联动。 量,目前心里还没底。 汛期前大概可摸底大概有多少量的商机。

View File

@@ -5,101 +5,101 @@
3. 整体解决方式实施
二、考察内容:
吊舱价格M350 4W (含软件),纯硬件的再合计。
大疆标准云台 2000
吊舱价格M350 4W (含软件),纯硬件的再合计。
大疆标准云台 2000
当前状态:雷达负载供应商选型:
轻、小、多合一
无人机测流技术可行性考察,产品可靠性 。 高灵敏度的产品信息M300\>?
无人机测流技术可行性考察,产品可靠性 。 高灵敏度的产品信息M300>?
7. 产品:质量、性能,生产能力
8. 供应商团队:
9. 配合力度,边界(软硬件)、资料
10. 可行性: 软件不建议用/-\> 有一些参考资料 ,技术路线对接 ?固件/算法?
10. 可行性: 软件不建议用/-> 有一些参考资料 ,技术路线对接 ?固件/算法?
11. 合作保障方面: 安排对接人员, 可以提供什么支撑》达到什么力度? 定制扩展?
12. 打开具体来看产品资料来看。
13. 流速板子有可能变更2季度会变更新的高灵敏板子。无人机不会改。提供资料。
新产品:手持电波流速仪 贴牌?。(高灵敏流速仪 0.03m/s实测 稳定0.1m/s=\> 硬件是他们实现。联合开发, APP 我们定制(通信协议)?合作授权,类似珠江委员会合作那样。 蓝牙… 平台集成
最快四季度。
=\> 提供相关的概要说明? 概要框架和内容。内部项目流程审核。判断技术可行性走内部IPD集成产品流程。
短期:标准品现有导入? 想法?
13. 流速板子有可能变更2季度会变更新的高灵敏板子。无人机不会改。提供资料。
新产品:手持电波流速仪 贴牌?。(高灵敏流速仪 0.03m/s实测 稳定0.1m/s=> 硬件是他们实现。联合开发, APP 我们定制(通信协议)?合作授权,类似珠江委员会合作那样。 蓝牙… 平台集成
最快四季度。
=> 提供相关的概要说明? 概要框架和内容。内部项目流程审核。判断技术可行性走内部IPD集成产品流程。
短期:标准品现有导入? 想法?
中长期:电波流速联合合作开发?
调研报告:
调研报告:
需要提供资料,评估分析技术可行性。 产品可靠性
高灵敏的产品的产品供货计划: 2季度 给样品。
1、片上雷达
2、高灵敏度的产品结构和上一代保持不变。p2p
1、片上雷达
2、高灵敏度的产品结构和上一代保持不变。p2p
3、超声波时差法 ? 灌区? 精力问题
对接人:
杜-产品经理。
对接人:
杜-产品经理。
张工: 研发定制
APP 交互协议 Modbus 485协议
测试报告? 深度融合
山东+浙江
APP 交互协议 Modbus 485协议
测试报告? 深度融合
山东+浙江
一起跑?
产品优势: 硬件
区分 软/硬
1、交互协议
2、测试报告
3、产品研发周期问题。
DJI 接口去年更改 24年初。
1、交互协议
2、测试报告
3、产品研发周期问题。
DJI 接口去年更改 24年初。
24年底才有大概样机 ,要定制云台。
4、产品情况介绍
西藏水文 2
黑龙江水文 8
4、产品情况介绍
西藏水文 2
黑龙江水文 8
已卖10套左右。
摄像头魔幻是自己的。
1、使用DJI标准云台还用不了。要改结构
结构可以定制。 要开模。(配重)
周期 2个月 。 外壳
2、他们的定制云台支持M350 一个多月。
1、使用DJI标准云台还用不了。要改结构
结构可以定制。 要开模。(配重)
周期 2个月 。 外壳
2、他们的定制云台支持M350 一个多月。
云台供货周期 1.5月 ,局限性较大。
外观和客户接受程度,事业部决策。
外观和客户接受程度,事业部决策。
三种模式 商务谈。
魔幻也这样。 100多套。
都是默认参数
云台:
设定 俯仰 55度
都是默认参数
云台:
设定 俯仰 55度
横滚角 +3度范围内。
别飞机: 转rj45 雷达协议
Dji 雷达协议 =\>
别飞机: 转rj45 雷达协议
Dji 雷达协议 =>
测试项目:
1、测试环境搭建使用跑步机+转速表 去测 流速(或 撒点水)给个建议。
2、给个开发板 调试。
3、作业流程整理含云台参数
1、测试环境搭建使用跑步机+转速表 去测 流速(或 撒点水)给个建议。
2、给个开发板 调试。
3、作业流程整理含云台参数
4、测试报告
输出会议纪要
雷达作业工作流程:
1、上电后一直雷达工作
2、悬停后 发送重启指令 (1s),清理历史数据。
发送重启 测流指令,
雷达作业工作流程:
1、上电后一直雷达工作
2、悬停后 发送重启指令 (1s),清理历史数据。
发送重启 测流指令,
3、 发送表面采集指令。
嵌入式 6个人 。安卓找外包
嵌入式 6个人 。安卓找外包
嵌入式2个程序一个地址。34 流速主机、水位从机。
功耗6W
功耗6W
1、视频使用 低速通道,可以改高速通道。
没有在无人机的场景的具体使用工况,相关测试报告,没有参照性能测试报告
没有在无人机的场景的具体使用工况,相关测试报告,没有参照性能测试报告
流速和水位的测试报告,也有第三方检测报告(横车场景 水位、流速)

View File

@@ -1,3 +1,3 @@
123.146.162.87:13389
123.146.162.87:13389
这个登陆密码:zyy13658237822
![18 06 abc, 123 192 168 3 100 P 123 146 162 87 1338...](Exported%20image%2020260407230538-0.jpeg)

View File

@@ -1,3 +1,3 @@
**36.34.167.155**
**密码**
**36.34.167.155**
**密码**
**BXSGPS007.**

View File

@@ -1,5 +1,5 @@
- [x] 种子数据存储确认sqlite3 和 到PG
- [x] 种子数据导入方法()
- [ ] 数据库种子初始化变成界面操作(登录,登录后检测系统是否种子是否初始化,没有的化跳入初始化页面)
- [ ] 跨应用程序缓存和共享数据实现
- [x] 种子数据存储确认sqlite3 和 到PG
- [x] 种子数据导入方法()
- [ ] 数据库种子初始化变成界面操作(登录,登录后检测系统是否种子是否初始化,没有的化跳入初始化页面)
- [ ] 跨应用程序缓存和共享数据实现
- [ ] Gnss 数据模拟器基于himonitor 的历史观测数据回放

View File

@@ -1,22 +1,22 @@
- [x] 李然——基于多传感器融合变形监测数据采集模块
- [x] 洪生勇——基于多传感器融合变形监测数据统计模块
- [x] 孙伟冰——基于内部位移的变形监测数据展示模块
- [x] 刘蓝轩——基于多传感器的变形监测仪器联动管理模块
- [ ] 吴卓山——基于多传感器的变形监测数据处理体系模块
- [ ] 基于多传感器融合地灾监测数据处理模块
- [x] 李然——基于多传感器融合变形监测数据采集模块
- [x] 洪生勇——基于多传感器融合变形监测数据统计模块
- [x] 孙伟冰——基于内部位移的变形监测数据展示模块
- [x] 刘蓝轩——基于多传感器的变形监测仪器联动管理模块
- [ ] 吴卓山——基于多传感器的变形监测数据处理体系模块
- [ ] 基于多传感器融合地灾监测数据处理模块
- [x] 专利编写沟通
- [ ] 新版app著作权提前申请
- [x] .net后端代码规范10月任务分配
- [x] 代码迁移
- [x] 铜陵321地质队项目迁移完成
- [x] 宜化猇亭数据采集恢复新版socketsocket 禁用性能采集
- [x] 成都理工短信服务开通沟通(已进行)
- [x] 新疆新源需求沟通回复(时间:下周三)
- [ ] 七台河项目反馈给销售
- [x] 协助清根北京冬奥比测
- [x] 系统配置项处理
- [x] 移动APP 框架搭建以及开发流程
- [x] 移动app高德地图展示
- [x] 灾后展示项目申请立项以及软著申请
- [x] 董航成都理工项目技术支持
- [ ] 新版app著作权提前申请
- [x] .net后端代码规范10月任务分配
- [x] 代码迁移
- [x] 铜陵321地质队项目迁移完成
- [x] 宜化猇亭数据采集恢复新版socketsocket 禁用性能采集
- [x] 成都理工短信服务开通沟通(已进行)
- [x] 新疆新源需求沟通回复(时间:下周三)
- [ ] 七台河项目反馈给销售
- [x] 协助清根北京冬奥比测
- [x] 系统配置项处理
- [x] 移动APP 框架搭建以及开发流程
- [x] 移动app高德地图展示
- [x] 灾后展示项目申请立项以及软著申请
- [x] 董航成都理工项目技术支持
- [x] 手机uni-app 框架搭建,登录启用

View File

@@ -1,16 +1,16 @@
- [x] 短信服务开通以及申请
- [x] 铜陵项目处理
- [x] 10月PBC编写 提交
- [x] 后端数据获取鉴权问题
- [x] UI沟通
- [x] 广州翰南项目技术支持
- [x] 新源项目数据删除恢复
- [x] 新源项目数据库清理与系统数据恢复
- [x] 新疆薛磊原型系统查看
- [x] 第三期新晋管理人员培训
- [x] .net后端代码规范
- [x] 项目详细计划更新
- [ ] 新版app著作权提前申请
- [x] 新源项目数据删除恢复
- [x] 铜陵项目处理
- [x] 10月PBC编写 提交
- [x] 后端数据获取鉴权问题
- [x] UI沟通
- [x] 广州翰南项目技术支持
- [x] 新源项目数据删除恢复
- [x] 新源项目数据库清理与系统数据恢复
- [x] 新疆薛磊原型系统查看
- [x] 第三期新晋管理人员培训
- [x] .net后端代码规范
- [x] 项目详细计划更新
- [ ] 新版app著作权提前申请
- [x] 新源项目数据删除恢复
- [x] 新疆薛磊原型系统查看

Some files were not shown because too many files have changed in this diff Show More