📝 Writing docs.
parent
ef59980501
commit
df3f204076
78
README.md
78
README.md
|
@ -1,16 +1,54 @@
|
|||
# OS
|
||||
|
||||
## [linux 教程](docs/linux/README.md)
|
||||
## 内容
|
||||
|
||||
## [shell 教程](docs/shell.md)
|
||||
### [Linux](docs/linux/README.md)
|
||||
|
||||
## [python 教程](docs/python.md)
|
||||
- [查看 Linux 命令帮助信息](docs/linux/01.查看Linux命令帮助信息.md) - 关键词:`help`, `whatis`, `info`, `which`, `whereis`, `man`
|
||||
- [Linux 文件目录管理](docs/linux/02.Linux文件目录管理.md) - 关键词:`cd`, `ls`, `pwd`, `mkdir`, `rmdir`, `tree`, `touch`, `ln`, `rename`, `stat`, `file`, `chmod`, `chown`, `locate`, `find`, `cp`, `mv`, `rm`
|
||||
- [Linux 文件内容查看命令](docs/linux/03.Linux文件内容查看编辑.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`
|
||||
- [Linux 文件压缩与解压命令](docs/linux/Linux文件压缩与解压命令.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
|
||||
- [Linux 用户管理命令](docs/linux/Linux用户管理命令.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
|
||||
- [Linux 系统管理命令](docs/linux/Linux系统管理命令.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`
|
||||
- [Linux 性能管理命令](docs/linux/Linux性能管理命令.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
|
||||
- [Linux 进程管理命令](docs/linux/Linux进程管理命令.md) - 关键词:`ps`, `kill`, `systemctl`, `service`, `crontab`
|
||||
- [Linux 网络应用命令](docs/linux/Linux网络应用命令.md) - 关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `iptables`
|
||||
- [Linux 网络测试命令](docs/linux/Linux网络测试命令.md) - 关键词:`host`, `nslookup`, `nc`/`netcat`, `dig`, `ping`, `traceroute`, `netstat`
|
||||
- [yum 命令](docs/linux/yum.md)
|
||||
- [linux 监控](docs/linux/linux监控.md)
|
||||
- [samba 使用详解](docs/linux/samba使用详解.md)
|
||||
- [命令行的艺术(转载)](docs/linux/命令行的艺术.md)
|
||||
|
||||
## [vim 教程](docs/vim/README.md)
|
||||
### [Shell](docs/shell.md)
|
||||
|
||||
## [git 教程](docs/git/README.md)
|
||||
### [Python](docs/python.md)
|
||||
|
||||
## [docker 教程](docs/docker/README.md)
|
||||
### [Vim](docs/vim/README.md)
|
||||
|
||||
### [Git](docs/git/README.md)
|
||||
|
||||
- [快速指南(quickstart)](docs/git/git-quickstart.md)
|
||||
|
||||
#### git 基础篇(basics)
|
||||
|
||||
- [安装(installation)](docs/git/basics/git-installation.md)
|
||||
- [配置(configuration)](docs/git/basics/git-configuration.md)
|
||||
|
||||
#### git 进阶篇(advanced)
|
||||
|
||||
- [git-flow 工作流](docs/git/advanced/git-flow.md)
|
||||
|
||||
#### git 附录(appendix)
|
||||
|
||||
- [常见问题(faq)](docs/git/appendix/git-faq.md)
|
||||
- [命令(command)](docs/git/appendix/git-command.md)
|
||||
- [资源(resource)](docs/git/appendix/git-resource.md)
|
||||
|
||||
### [Docker](docs/docker/README.md)
|
||||
|
||||
### Windows
|
||||
|
||||
- [Windows 工具](docs/windows/Windows工具.md)
|
||||
|
||||
## 部署
|
||||
|
||||
|
@ -20,19 +58,19 @@
|
|||
|
||||
### 常见软件安装配置详述
|
||||
|
||||
> *`CODES`:安装配置脚本,按照说明安装使用即可。*
|
||||
> _`CODES`:安装配置脚本,按照说明安装使用即可。_
|
||||
>
|
||||
> *`DOCS`: 安装配置文档,说明安装的方法以及一些注意事项。*
|
||||
> _`DOCS`: 安装配置文档,说明安装的方法以及一些注意事项。_
|
||||
|
||||
* JDK 安装和配置:| [CODES](codes/deploy/tool/jdk) | [DOCS](docs/deploy/tool/jdk/install-jdk.md) |
|
||||
* Jenkins 安装和配置:| [CODES](codes/deploy/tool/jenkins) | [DOCS](docs/deploy/tool/mongodb/install-jenkins.md) |
|
||||
* Kafka 安装和配置:| [CODES](codes/deploy/tool/kafka) | [DOCS](docs/deploy/tool/kafka/install-kafka.md) |
|
||||
* Maven 安装和配置:| [CODES](codes/deploy/tool/maven) | [DOCS](docs/deploy/tool/maven/install-maven.md) |
|
||||
* Mongodb 安装和配置:| [CODES](codes/deploy/tool/mongodb) | [DOCS](docs/deploy/tool/mongodb/install-mongodb.md) |
|
||||
* Nginx 安装和配置:| [CODES](codes/deploy/tool/nginx) | [DOCS](docs/deploy/tool/nginx/install-nginx.md) |
|
||||
* Nodejs 安装和配置:| [CODES](codes/deploy/tool/nodejs) | [DOCS](docs/deploy/tool/nodejs/install-nodejs.md) |
|
||||
* Redis 安装和配置:| [CODES](codes/deploy/tool/redis) | [DOCS](docs/deploy/tool/redis/install-redis.md) |
|
||||
* RocketMQ 安装和配置:| [CODES](codes/deploy/tool/rocketmq) | [DOCS](docs/deploy/tool/rocketmq/install-rocketmq.md) |
|
||||
* Tomcat 安装和配置:| [CODES](codes/deploy/tool/tomcat) | [DOCS](docs/deploy/tool/tomcat/install-tomcat.md) |
|
||||
* Zookeeper 安装和配置:| [CODES](codes/deploy/tool/zookeeper) | [DOCS](docs/deploy/tool/zookeeper/install-zookeeper.md) |
|
||||
* Svn 安装和配置:| [DOCS](docs/deploy/tool/svn/install-svn.md) |
|
||||
- JDK 安装和配置:| [CODES](codes/deploy/tool/jdk) | [DOCS](docs/deploy/tool/jdk/install-jdk.md) |
|
||||
- Jenkins 安装和配置:| [CODES](codes/deploy/tool/jenkins) | [DOCS](docs/deploy/tool/mongodb/install-jenkins.md) |
|
||||
- Kafka 安装和配置:| [CODES](codes/deploy/tool/kafka) | [DOCS](docs/deploy/tool/kafka/install-kafka.md) |
|
||||
- Maven 安装和配置:| [CODES](codes/deploy/tool/maven) | [DOCS](docs/deploy/tool/maven/install-maven.md) |
|
||||
- Mongodb 安装和配置:| [CODES](codes/deploy/tool/mongodb) | [DOCS](docs/deploy/tool/mongodb/install-mongodb.md) |
|
||||
- Nginx 安装和配置:| [CODES](codes/deploy/tool/nginx) | [DOCS](docs/deploy/tool/nginx/install-nginx.md) |
|
||||
- Nodejs 安装和配置:| [CODES](codes/deploy/tool/nodejs) | [DOCS](docs/deploy/tool/nodejs/install-nodejs.md) |
|
||||
- Redis 安装和配置:| [CODES](codes/deploy/tool/redis) | [DOCS](docs/deploy/tool/redis/install-redis.md) |
|
||||
- RocketMQ 安装和配置:| [CODES](codes/deploy/tool/rocketmq) | [DOCS](docs/deploy/tool/rocketmq/install-rocketmq.md) |
|
||||
- Tomcat 安装和配置:| [CODES](codes/deploy/tool/tomcat) | [DOCS](docs/deploy/tool/tomcat/install-tomcat.md) |
|
||||
- Zookeeper 安装和配置:| [CODES](codes/deploy/tool/zookeeper) | [DOCS](docs/deploy/tool/zookeeper/install-zookeeper.md) |
|
||||
- Svn 安装和配置:| [DOCS](docs/deploy/tool/svn/install-svn.md) |
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
### 设置 Linux 启动模式
|
||||
|
||||
1. 停机(记得不要把 initdefault 配置为 0,因为这样会使 Linux 不能启动)
|
||||
2. 单用户模式,就像 Win9X 下的安全模式
|
||||
3. 多用户,但是没有 NFS
|
||||
4. 完全多用户模式,准则的运行级
|
||||
5. 通常不用,在一些特殊情况下可以用它来做一些事情
|
||||
6. X11,即进到 X-Window 系统
|
||||
7. 重新启动 (记得不要把 initdefault 配置为 6,因为这样会使 Linux 不断地重新启动)
|
||||
|
||||
设置方法:
|
||||
|
||||
```sh
|
||||
$ sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab
|
||||
```
|
|
@ -0,0 +1,121 @@
|
|||
# Mysql 安装
|
||||
|
||||
系统环境:Centos7
|
||||
|
||||
## 安装配置
|
||||
|
||||
通过 rpm 包安装
|
||||
|
||||
centos 的 yum 源中默认是没有 mysql 的,所以我们需要先去官网下载 mysql 的 repo 源并安装。
|
||||
|
||||
### 安装 mysql yum 源
|
||||
|
||||
官方下载地址:https://dev.mysql.com/downloads/repo/yum/
|
||||
|
||||
(1)下载 yum 源
|
||||
|
||||
```sh
|
||||
$ wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
|
||||
```
|
||||
|
||||
(2)安装 yum repo 文件并更新 yum 缓存
|
||||
|
||||
```sh
|
||||
$ rpm -ivh mysql80-community-release-el7-1.noarch.rpm
|
||||
```
|
||||
|
||||
执行结果:
|
||||
|
||||
会在 /etc/yum.repos.d/ 目录下生成两个 repo 文件
|
||||
|
||||
```sh
|
||||
ls | grep mysql
|
||||
mysql-community.repo
|
||||
mysql-community-source.repo
|
||||
```
|
||||
|
||||
更新 yum:
|
||||
|
||||
```
|
||||
yum clean all
|
||||
yum makecache
|
||||
```
|
||||
|
||||
(3)查看 rpm 安装状态
|
||||
|
||||
```sh
|
||||
$ yum repolist enabled | grep mysql.*
|
||||
mysql-connectors-community/x86_64 MySQL Connectors Community 65
|
||||
mysql-tools-community/x86_64 MySQL Tools Community 69
|
||||
mysql80-community/x86_64 MySQL 8.0 Community Server 33
|
||||
```
|
||||
|
||||
### 安装 mysql 服务器
|
||||
|
||||
```sh
|
||||
$ yum install mysql-community-server
|
||||
```
|
||||
|
||||
### 启动 mysql 服务
|
||||
|
||||
```sh
|
||||
# 启动 mysql 服务
|
||||
$ systemctl start mysqld.service
|
||||
|
||||
# 查看运行状态
|
||||
$ systemctl status mysqld.service
|
||||
|
||||
# 开机启动
|
||||
$ systemctl enable mysqld
|
||||
$ systemctl daemon-reload
|
||||
```
|
||||
|
||||
### 初始化数据库密码
|
||||
|
||||
查看一下初始密码
|
||||
|
||||
```sh
|
||||
$ grep "password" /var/log/mysqld.log
|
||||
2018-09-30T03:13:41.727736Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: %:lt+srWu4k1
|
||||
```
|
||||
|
||||
执行命令:
|
||||
|
||||
```sh
|
||||
mysql -uroot -p
|
||||
```
|
||||
|
||||
输入临时密码,进入 mysql
|
||||
|
||||
```sh
|
||||
ALTER user 'root'@'localhost' IDENTIFIED BY 'Tw#123456';
|
||||
```
|
||||
|
||||
注:密码强度默认为中等,大小写字母、数字、特殊符号,只有修改成功后才能修改配置再设置更简单的密码
|
||||
|
||||
### 配置远程访问
|
||||
|
||||
```
|
||||
GRANT ALL ON *.* TO 'root'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
```
|
||||
|
||||
### 跳过登录认证
|
||||
|
||||
```
|
||||
vim /etc/my.cnf
|
||||
```
|
||||
|
||||
在 [mysqld] 下面加上 skip-grant-tables
|
||||
|
||||
作用是登录时跳过登录认证,换句话说就是 root 什么密码都可以登录进去。
|
||||
|
||||
执行 `service mysqld restart`,重启 mysql
|
||||
|
||||
## 参考资料
|
||||
|
||||
https://www.cnblogs.com/xiaopotian/p/8196464.html
|
||||
https://www.cnblogs.com/bigbrotherer/p/7241845.html
|
||||
https://blog.csdn.net/managementandjava/article/details/80039650
|
||||
http://www.manongjc.com/article/6996.html
|
||||
https://www.cnblogs.com/xyabk/p/8967990.html
|
|
@ -1,29 +1,74 @@
|
|||
# Docker 安装
|
||||
|
||||
本教程基于 `Docker 1.13.1`。
|
||||
> 本教程基于 `Docker 1.37`。
|
||||
>
|
||||
> Docker 有两种可安装版本:
|
||||
>
|
||||
> - [Community Edition (CE)](https://www.docker.com/community-edition/),即 Docker 社区版,适合学习。
|
||||
> - [Enterprise Edition (EE)](https://www.docker.com/enterprise-edition),即 Docker 企业版,适合企业级开发使用。
|
||||
|
||||
Docker 有两种可安装版本:
|
||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
||||
|
||||
* [Community Edition (CE)](https://www.docker.com/community-edition/),即 Docker 社区版,适合学习。
|
||||
* [Enterprise Edition (EE)](https://www.docker.com/enterprise-edition),即 Docker 企业版,适合企业级开发使用。
|
||||
- [Windows 下安装 Docker](#windows-下安装-docker)
|
||||
- [安装参考](#安装参考)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## Windows 下安装 Docker
|
||||
|
||||
安装 Docker Toolbox 步骤:
|
||||
|
||||
(1)双击运行安装包
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926103056.png)
|
||||
|
||||
(2)点击需要安装的程序,建议全安装
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926103147.png)
|
||||
|
||||
(3)安装附加选项,建议选择前三个
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926103213.png)
|
||||
|
||||
(4)安装结果
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926102959.png)
|
||||
|
||||
### 可能遇到的问题
|
||||
|
||||
问题 1 - bash.exe 找不到
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926104526.png)
|
||||
|
||||
打开快捷方式的属性窗口,在目标栏设置如下:
|
||||
|
||||
```
|
||||
"C:\Program Files\Git\bin\bash.exe" --login -i "D:\Tools\DockerToolbox\start.sh"
|
||||
```
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926105007.png)
|
||||
|
||||
问题 2 - Hyper-V 冲突
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180926105357.png)
|
||||
|
||||
## 安装参考
|
||||
|
||||
**Enterprise Edition (EE)**
|
||||
|
||||
* https://docs.docker.com/install/windows/docker-ee/
|
||||
* https://docs.docker.com/install/linux/docker-ee/ubuntu/
|
||||
* https://docs.docker.com/install/linux/docker-ee/rhel/
|
||||
* https://docs.docker.com/install/linux/docker-ee/centos/
|
||||
* https://docs.docker.com/install/linux/docker-ee/oracle/
|
||||
* https://docs.docker.com/install/linux/docker-ee/suse/
|
||||
- https://docs.docker.com/install/windows/docker-ee/
|
||||
- https://docs.docker.com/install/linux/docker-ee/ubuntu/
|
||||
- https://docs.docker.com/install/linux/docker-ee/rhel/
|
||||
- https://docs.docker.com/install/linux/docker-ee/centos/
|
||||
- https://docs.docker.com/install/linux/docker-ee/oracle/
|
||||
- https://docs.docker.com/install/linux/docker-ee/suse/
|
||||
|
||||
**Community Edition (CE)**
|
||||
|
||||
* https://docs.docker.com/docker-for-mac/install/
|
||||
* https://docs.docker.com/docker-for-windows/install/
|
||||
* https://docs.docker.com/install/linux/docker-ce/ubuntu/
|
||||
* https://docs.docker.com/install/linux/docker-ce/debian/
|
||||
* https://docs.docker.com/install/linux/docker-ce/centos/
|
||||
* https://docs.docker.com/install/linux/docker-ce/fedora/
|
||||
* https://docs.docker.com/install/linux/docker-ce/binaries/
|
||||
- https://docs.docker.com/docker-for-mac/install/
|
||||
- https://docs.docker.com/docker-for-windows/install/
|
||||
- https://docs.docker.com/install/linux/docker-ce/ubuntu/
|
||||
- https://docs.docker.com/install/linux/docker-ce/debian/
|
||||
- https://docs.docker.com/install/linux/docker-ce/centos/
|
||||
- https://docs.docker.com/install/linux/docker-ce/fedora/
|
||||
- https://docs.docker.com/install/linux/docker-ce/binaries/
|
||||
|
|
|
@ -1,243 +1,124 @@
|
|||
<!-- TOC -->
|
||||
# Docker
|
||||
|
||||
- [Docker 快速指南](#docker-%E5%BF%AB%E9%80%9F%E6%8C%87%E5%8D%97)
|
||||
- [Orientation](#orientation)
|
||||
- [概念](#%E6%A6%82%E5%BF%B5)
|
||||
- [Docker 的优点](#docker-%E7%9A%84%E4%BC%98%E7%82%B9)
|
||||
- [容器和镜像](#%E5%AE%B9%E5%99%A8%E5%92%8C%E9%95%9C%E5%83%8F)
|
||||
- [容器和虚拟机](#%E5%AE%B9%E5%99%A8%E5%92%8C%E8%99%9A%E6%8B%9F%E6%9C%BA)
|
||||
- [Containers](#containers)
|
||||
- [Dockerfile](#dockerfile)
|
||||
- [创建并运行一个镜像](#%E5%88%9B%E5%BB%BA%E5%B9%B6%E8%BF%90%E8%A1%8C%E4%B8%80%E4%B8%AA%E9%95%9C%E5%83%8F)
|
||||
- [共享镜像](#%E5%85%B1%E4%BA%AB%E9%95%9C%E5%83%8F)
|
||||
- [Services](#services)
|
||||
- [Swarms](#swarms)
|
||||
- [Stacks](#stacks)
|
||||
- [Deploy](#deploy)
|
||||
- [常用命令行](#%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A1%8C)
|
||||
- [资料](#%E8%B5%84%E6%96%99)
|
||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
||||
|
||||
- [镜像(Images)](#镜像images)
|
||||
- [容器(Container)](#容器container)
|
||||
- [网络(Networks)](#网络networks)
|
||||
- [仓管中心和仓库(Registry & Repository)](#仓管中心和仓库registry--repository)
|
||||
- [Dockerfile](#dockerfile)
|
||||
- [卷标(Volumes)](#卷标volumes)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
# Docker 快速指南
|
||||
## 镜像(Images)
|
||||
|
||||
## Orientation
|
||||
- [`docker image ls`](https://github.com/yeasy/docker_practice/blob/master/image/list.md) - 查看所有镜像。
|
||||
- [`docker image rm`](https://github.com/yeasy/docker_practice/blob/master/image/rm.md) - 删除本地镜像。
|
||||
- `docker import` - 从压缩文件中创建镜像。
|
||||
- `docker export` - 导出既有容器。
|
||||
- `docker build` - 从 Dockerfile 创建镜像。
|
||||
- `docker commit` - 为容器创建镜像,如果容器正在运行则会临时暂停。
|
||||
- `docker rmi` - 删除镜像。
|
||||
- `docker load` - 通过 STDIN 从压缩包加载镜像,包括镜像和标签(images and tags) (0.7 起).
|
||||
- `docker save` - 通过 STDOUT 保存镜像到压缩包,包括所有的父层,标签和版本(parent layers, tags & versions) (0.7 起).
|
||||
- `docker history` - 查看镜像历史记录。
|
||||
- `docker tag` - 给镜像命名打标(tags) (本地或者仓库)。
|
||||
|
||||
### 概念
|
||||
## 容器(Container)
|
||||
|
||||
Docker 是一个让开发者或系统管理员使用容器来**开发**、**部署**和**运行**应用的平台。
|
||||
### 生命周期
|
||||
|
||||
#### 容器和镜像
|
||||
- `docker create` - 创建一个容器但是不启动。
|
||||
- `docker rename` - 允许重命名容器。
|
||||
- `docker run` - 在同一个操作中创建并启动一个容器。
|
||||
- `docker rm` - 删除容器。
|
||||
- `docker update` - 更新容器的资源限制。
|
||||
|
||||
镜像是一个可执行的包,这个包中含有运行一个应用所需要的一切:代码、运行环境、库、环境变量、配置文件。
|
||||
### 启动和停止
|
||||
|
||||
容器是一个镜像的实例。镜像和容器的关系就好像面向对象语言中类和对象的关系。
|
||||
- `docker start` - 启动容器。
|
||||
- `docker stop` - 停止运行中的容器。
|
||||
- `docker restart` - 停止之后再启动容器。
|
||||
- `docker pause` - 暂停运行中的容器,将其 "冻结" 在当前状态。
|
||||
- `docker unpause` - 结束容器暂停状态。
|
||||
- `docker wait` - 阻塞,到运行中的容器停止为止。
|
||||
- `docker kill` - 向运行中容器发送 SIGKILL 指令。
|
||||
- `docker attach` - 链接到运行中容器。
|
||||
|
||||
### 容器和虚拟机
|
||||
### 信息
|
||||
|
||||
一个容器在Linux上本地运行,并与其他容器共享主机的内核。它运行一个独立的进程,不占用任何其他可执行文件的内存,使其轻量化。
|
||||
- `docker ps` - 查看运行中的所有容器。
|
||||
- `docker logs` - 从容器中获取日志。(你也可以使用自定义日志驱动,不过在 1.10 中,它只支持 json-file 和 journald)
|
||||
- `docker inspect` - 查看某个容器的所有信息(包括 IP 地址)。
|
||||
- `docker events` - 从容器中获取事件(events)。
|
||||
- `docker port` - 查看容器的公开端口。
|
||||
- `docker top` - 查看容器中活动进程。
|
||||
- `docker stats` - 查看容器的资源使用情况统计信息。
|
||||
- `docker diff` - 查看容器的 FS 中有变化文件信息。
|
||||
|
||||
相比之下,虚拟机(VM)运行一个完整的“客户”操作系统,通过虚拟机管理程序虚拟访问主机资源。一般来说,虚拟机提供的环境比大多数应用程序需要的资源更多。
|
||||
### 导入 / 导出
|
||||
|
||||
![containers-and-vm.png](containers-and-vm.png)
|
||||
docker cp 在容器和本地文件系统之间复制文件或文件夹。
|
||||
docker export 将容器的文件系统切换为压缩包(tarball archive stream)输出到 STDOUT。
|
||||
|
||||
## Containers
|
||||
### 执行命令
|
||||
|
||||
在以往的开发中,运行一个应用,首先需要准备好它的运行环境。
|
||||
docker exec 在容器中执行命令。
|
||||
|
||||
使用 Docker,可以将应用的运行环境(如 JDK、Maven等)打包为一个可移植的镜像。然后,运行应用的同时,运行基础运行环境镜像。
|
||||
## 网络(Networks)
|
||||
|
||||
这种可移植的镜像定义在一个叫做 `Dockerfile` 的文件。
|
||||
### 生命周期
|
||||
|
||||
### Dockerfile
|
||||
- `docker network create`
|
||||
- `docker network rm`
|
||||
|
||||
Dockerfile定义了容器内环境中发生的事情。访问网络接口和磁盘驱动器等资源是在此环境中虚拟化的,与系统的其余部分隔离,因此您需要将端口映射到外部世界,并明确要将哪些文件“复制”到那个环境。但是,在完成这些之后,您可以预期,在此Dockerfile中定义的应用程序构建在运行时的行为完全相同。
|
||||
### 信息
|
||||
|
||||
### 创建并运行一个镜像
|
||||
- `docker network ls`
|
||||
- `docker network inspect`
|
||||
|
||||
(1)创建一个目录
|
||||
### 链接
|
||||
|
||||
```sh
|
||||
mkdir -p /home/zp/dockerdemo
|
||||
cd /home/zp/dockerdemo
|
||||
```
|
||||
- `docker network connect`
|
||||
- `docker network disconnect`
|
||||
|
||||
(2)定义一个 Dockerfile
|
||||
## 仓管中心和仓库(Registry & Repository)
|
||||
|
||||
```docker
|
||||
# Use an official Python runtime as a parent image
|
||||
FROM python:2.7-slim
|
||||
- `docker login` - 登入仓管中心。
|
||||
- `docker logout` - 登出仓管中心。
|
||||
- `docker search` - 从仓管中心检索镜像。
|
||||
- `docker pull` - 从仓管中心拉去镜像到本地。
|
||||
- `docker push` - 从本地推送镜像到仓管中心。
|
||||
|
||||
# Set the working directory to /app
|
||||
WORKDIR /app
|
||||
## Dockerfile
|
||||
|
||||
# Copy the current directory contents into the container at /app
|
||||
ADD . /app
|
||||
- .dockerignore
|
||||
- FROM 为其他指令设置基础镜像(Base Image)。
|
||||
- MAINTAINER 为生成的镜像设置作者字段。
|
||||
- RUN 在当前镜像的基础上生成一个新层并执行命令。
|
||||
- CMD 设置容器默认执行命令。
|
||||
- EXPOSE 告知 Docker 容器在运行时所要监听的网络端口。注意:并没有实际上将端口设置为可访问。
|
||||
- ENV 设置环境变量。
|
||||
- ADD 将文件,文件夹或者远程文件复制到容器中。缓存无效。尽量用 COPY 代替 ADD。
|
||||
- COPY 将文件或文件夹复制到容器中。
|
||||
- ENTRYPOINT 将一个容器设置为可执行。
|
||||
- VOLUME 为外部挂载卷标或其他容器设置挂载点(mount point)。
|
||||
- USER 设置执行 RUN / CMD / ENTRYPOINT 命令的用户名。
|
||||
- WORKDIR 设置工作目录。
|
||||
- ARG 定义编译时(build-time)变量。
|
||||
- ONBUILD 添加触发指令,当该镜像被作为其他镜像的基础镜像时该指令会被触发。
|
||||
- STOPSIGNAL 设置通过系统向容器发出退出指令。
|
||||
- LABEL 将键值对元数据(key/value metadata)应用到你的镜像,容器,或者守护进程。
|
||||
|
||||
# Install any needed packages specified in requirements.txt
|
||||
RUN pip install --trusted-host pypi.python.org -r requirements.txt
|
||||
## 卷标(Volumes)
|
||||
|
||||
# Make port 80 available to the world outside this container
|
||||
EXPOSE 80
|
||||
### 生命周期
|
||||
|
||||
# Define environment variable
|
||||
ENV NAME World
|
||||
- `docker volume create`
|
||||
- `docker volume rm`
|
||||
|
||||
# Run app.py when the container launches
|
||||
CMD ["python", "app.py"]
|
||||
```
|
||||
### 信息
|
||||
|
||||
> 代理服务器在启动并运行后可以阻止与您的网络应用程序的连接。如果您位于代理服务器的后面,请使用 `ENV` 命令为您的代理服务器指定主机和端口,将以下行添加到 Dockerfile 中:
|
||||
>
|
||||
> ```docker
|
||||
> # Set proxy server, replace host:port with values for your servers
|
||||
> ENV http_proxy host:port
|
||||
> ENV https_proxy host:port
|
||||
> ```
|
||||
|
||||
(3)创建一个 app
|
||||
|
||||
这里以创建一个 python 应用为例。
|
||||
|
||||
在 Dockerfile 同目录下新建 `requirements.txt` 文件和 `app.py` 文件。
|
||||
|
||||
创建一个 `requirements.txt` 文件
|
||||
|
||||
```
|
||||
Flask
|
||||
Redis
|
||||
```
|
||||
|
||||
创建一个 `app.py` 文件
|
||||
|
||||
```py
|
||||
from flask import Flask
|
||||
from redis import Redis, RedisError
|
||||
import os
|
||||
import socket
|
||||
|
||||
# Connect to Redis
|
||||
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.route("/")
|
||||
def hello():
|
||||
try:
|
||||
visits = redis.incr("counter")
|
||||
except RedisError:
|
||||
visits = "<i>cannot connect to Redis, counter disabled</i>"
|
||||
|
||||
html = "<h3>Hello {name}!</h3>" \
|
||||
"<b>Hostname:</b> {hostname}<br/>" \
|
||||
"<b>Visits:</b> {visits}"
|
||||
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host='0.0.0.0', port=80)
|
||||
```
|
||||
|
||||
(4)构建应用
|
||||
|
||||
创建一个 Docker 镜像,执行命令:
|
||||
|
||||
```sh
|
||||
docker build -t friendlyhello .
|
||||
```
|
||||
|
||||
查看 Docker 镜像,执行命令:
|
||||
|
||||
```sh
|
||||
$ docker image ls
|
||||
|
||||
REPOSITORY TAG IMAGE ID
|
||||
friendlyhello latest 326387cea398
|
||||
```
|
||||
|
||||
(5)运行 app
|
||||
|
||||
使用 `-p` 将您的机器的端口4000映射到容器的已发布端口80
|
||||
|
||||
```sh
|
||||
docker run -d -p 4000:80 friendlyhello
|
||||
```
|
||||
|
||||
然后,可以访问 http://localhost:4000
|
||||
|
||||
### 共享镜像
|
||||
|
||||
(1)注册登录
|
||||
|
||||
在 [cloud.docker.com](https://cloud.docker.com/) 注册账户,然后使用 Docker ID 登录。
|
||||
|
||||
```sh
|
||||
docker login
|
||||
```
|
||||
|
||||
> 注册 Docker ID ,要访问 google ,国内无法访问。要命。
|
||||
|
||||
(2)给镜像打标签
|
||||
|
||||
```
|
||||
docker tag image username/repository:tag
|
||||
```
|
||||
|
||||
例:
|
||||
|
||||
```
|
||||
docker tag friendlyhello john/get-started:part2
|
||||
```
|
||||
|
||||
(3)发布镜像
|
||||
|
||||
```
|
||||
docker push username/repository:tag
|
||||
```
|
||||
|
||||
(4)从远程仓库拉取并运行镜像
|
||||
|
||||
```
|
||||
docker run -p 4000:80 username/repository:tag
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
## Swarms
|
||||
|
||||
## Stacks
|
||||
|
||||
## Deploy
|
||||
|
||||
## 常用命令行
|
||||
|
||||
```sh
|
||||
docker # 列出所有 Docker 命令
|
||||
|
||||
docker version # 显示 docker 版本
|
||||
docker info # 显示 docker 信息
|
||||
|
||||
docker build -t friendlyhello . # 使用当前目录下的 Dockerfile 创建 Docker 镜像
|
||||
docker run -p 4000:80 friendlyhello # 运行 "friendlyname" ,并映射端口 4000 到 80
|
||||
docker run -d -p 4000:80 friendlyhello # 同样的事,但是使用分离的模式
|
||||
|
||||
docker container --help # 列出 docker container 相关命令
|
||||
docker container ls # 列出所有运行的容器
|
||||
docker container ls -a # 列出所有的容器
|
||||
docker container stop <hash> # 优雅的停止所有指定的容器
|
||||
docker container kill <hash> # 强制停止所有指定的容器
|
||||
docker container rm <hash> # 从本机中溢出指定的容器
|
||||
docker container rm $(docker container ls -a -q) # 移除所有容器
|
||||
|
||||
docker image --help # 列出 docker image 相关命令
|
||||
docker image ls -a # 列出本机中所有的镜像
|
||||
docker image rm <image id> # 从本机中溢出指定的镜像
|
||||
docker image rm $(docker image ls -a -q) # 移除本机中所有镜像
|
||||
docker login # 使用您的 Docker ID 登录以从 Docker Hub push 和 pull 图像。
|
||||
docker tag <image> username/repository:tag # 标记 <image> 以上传到注册中心
|
||||
docker push username/repository:tag # 上传标记过的镜像到注册中心
|
||||
docker run username/repository:tag # 运行一个注册中心上的镜像
|
||||
```
|
||||
|
||||
## 资料
|
||||
|
||||
* https://docs.docker.com/get-started/
|
||||
- `docker volume ls`
|
||||
- `docker volume inspect`
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# Jenkins
|
||||
|
||||
> Jenkins 全部整理归纳在 [**jenkins**](https://github.com/dunwu/jenkins) 项目中。
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Linux 文件编辑命令
|
||||
title: Linux 文件内容查看编辑
|
||||
date: 2018/02/27
|
||||
categories:
|
||||
- linux
|
||||
|
@ -8,16 +8,109 @@ tags:
|
|||
- command
|
||||
---
|
||||
|
||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
||||
# Linux 文件内容查看编辑
|
||||
|
||||
- [流编辑器 - sed](#流编辑器---sed)
|
||||
- [文本编辑器 - vi](#文本编辑器---vi)
|
||||
> 关键词:`cat`, `head`, `tail`, `more`, `less`
|
||||
|
||||
<!-- TOC depthFrom:2 depthTo:3 -->
|
||||
|
||||
- [Linux 文件内容查看编辑要点](#linux-文件内容查看编辑要点)
|
||||
- [命令常见用法](#命令常见用法)
|
||||
- [cat](#cat)
|
||||
- [head](#head)
|
||||
- [tail](#tail)
|
||||
- [more](#more)
|
||||
- [less](#less)
|
||||
- [sed](#sed)
|
||||
- [vi](#vi)
|
||||
- [grep](#grep)
|
||||
- [参考资料](#参考资料)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
# Linux 文件编辑命令
|
||||
## Linux 文件内容查看编辑要点
|
||||
|
||||
## 流编辑器 - sed
|
||||
- 连接文件并打印到标准输出设备 - 使用 [cat](#cat)
|
||||
- 显示指定文件的开头若干行 - 使用 [head](#head)
|
||||
- 显示指定文件的末尾若干行,常用于实时打印日志文件内容 - 使用 [tail](#tail)
|
||||
- 显示文件内容,每次显示一屏 - 使用 [more](#more)
|
||||
- 显示文件内容,每次显示一屏 - 使用 [less](#less)
|
||||
- 自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等 - 使用 [sed](#sed)
|
||||
- 文本编辑器 - 使用 [vi](#vi)
|
||||
- 使用正则表达式搜索文本,并把匹配的行打印出来 - 使用 [grep](#grep)
|
||||
|
||||
## 命令常见用法
|
||||
|
||||
### cat
|
||||
|
||||
> cat 命令用于连接文件并打印到标准输出设备上。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/cat
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
cat m1 # 在屏幕上显示文件 ml 的内容
|
||||
cat m1 m2 # 同时显示文件 ml 和 m2 的内容
|
||||
cat m1 m2 > file # 将文件 ml 和 m2 合并后放入文件 file 中
|
||||
```
|
||||
|
||||
### head
|
||||
|
||||
> head 命令用于显示文件的开头内容。在默认情况下,head 命令显示文件的头部 10 行内容。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/head
|
||||
|
||||
### tail
|
||||
|
||||
> tail 命令用于显示文件的尾部内容。在默认情况下,tail 命令显示文件的尾部 10 行内容。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/tail
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
tail file # 显示文件file的最后10行
|
||||
tail -n +20 file # 显示文件file的内容,从第20行至文件末尾
|
||||
tail -c 10 file # 显示文件file的最后10个字符
|
||||
```
|
||||
|
||||
### more
|
||||
|
||||
> more 命令是一个基于 vi 编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持 vi 中的关键字定位操作。more 名单中内置了若干快捷键,常用的有 H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
|
||||
>
|
||||
> 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:
|
||||
>
|
||||
> - 按 Space 键:显示文本的下一屏内容。
|
||||
> - 按 Enier 键:只显示文本的下一行内容。
|
||||
> - 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
|
||||
> - 按 H 键:显示帮助屏,该屏上有相关的帮助信息。
|
||||
> - 按 B 键:显示上一屏内容。
|
||||
> - 按 Q 键:退出 rnore 命令。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/more
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
# 显示文件 file 的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。
|
||||
more -dc file
|
||||
|
||||
# 显示文件 file 的内容,每 10 行显示一次,而且在显示之前先清屏。
|
||||
more -c -10 file
|
||||
```
|
||||
|
||||
### less
|
||||
|
||||
less 命令的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。用 less 命令显示文件时,用 PageUp 键向上翻页,用 PageDown 键向下翻页。要退出 less 程序,应按 Q 键。
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
less /var/log/shadowsocks.log
|
||||
```
|
||||
|
||||
### sed
|
||||
|
||||
> sed 是一种流编辑器,它是文本处理工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
|
||||
>
|
||||
|
@ -54,13 +147,13 @@ sed '$d' file
|
|||
sed '/^test/'d file
|
||||
```
|
||||
|
||||
## 文本编辑器 - vi
|
||||
### vi
|
||||
|
||||
> vi 命令是 UNIX 操作系统和类 UNIX 操作系统中最通用的全屏幕纯文本编辑器。Linux 中的 vi 编辑器叫 vim,它是 vi 的增强版(vi Improved),与 vi 编辑器完全兼容,而且实现了很多增强功能。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/vi
|
||||
|
||||
### 补充说明
|
||||
#### 补充说明
|
||||
|
||||
**vi 命令** 是 UNIX 操作系统和类 UNIX 操作系统中最通用的全屏幕纯文本编辑器。Linux 中的 vi 编辑器叫 vim,它是 vi 的增强版(vi Improved),与 vi 编辑器完全兼容,而且实现了很多增强功能。
|
||||
|
||||
|
@ -105,13 +198,13 @@ O:在当前行前面插入一空行;
|
|||
:set nonumber:在命令模式下,用于在最左端不显示行号;
|
||||
```
|
||||
|
||||
### 语法
|
||||
#### 语法
|
||||
|
||||
```
|
||||
vi(选项)(参数)
|
||||
```
|
||||
|
||||
### 选项
|
||||
#### 选项
|
||||
|
||||
```
|
||||
+<行号>:从指定行号的行开始先是文本内容;
|
||||
|
@ -127,11 +220,11 @@ vi(选项)(参数)
|
|||
-s:安静模式,不现实指令的任何错误信息。
|
||||
```
|
||||
|
||||
### 参数
|
||||
#### 参数
|
||||
|
||||
文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
|
||||
|
||||
### 知识扩展
|
||||
#### 知识扩展
|
||||
|
||||
vi 编辑器有三种工作方式:命令方式、输入方式和 ex 转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。
|
||||
|
||||
|
@ -157,6 +250,18 @@ vi 和 ex 编辑器的功能是相同的,二者的主要区别是用户界面
|
|||
|
||||
![vi.jpg](http://man.linuxde.net/wp-content/uploads/2013/11/vi.jpg)
|
||||
|
||||
### grep
|
||||
|
||||
> grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/grep
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
## 参考资料
|
||||
|
||||
- [Linux 命令大全](http://man.linuxde.net/)
|
|
@ -1,92 +0,0 @@
|
|||
---
|
||||
title: Linux 文件内容查看命令
|
||||
date: 2018/02/27
|
||||
categories:
|
||||
- linux
|
||||
tags:
|
||||
- linux
|
||||
- command
|
||||
---
|
||||
|
||||
# Linux 文件内容查看命令
|
||||
|
||||
> 关键词:`cat`, `head`, `tail`, `more`, `less`
|
||||
|
||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
||||
|
||||
- [连接文件并打印到标准输出设备 - cat](#连接文件并打印到标准输出设备---cat)
|
||||
- [显示指定文件的开头若干行 - head](#显示指定文件的开头若干行---head)
|
||||
- [显示指定文件的末尾若干行 - tail](#显示指定文件的末尾若干行---tail)
|
||||
- [显示文件内容,每次显示一屏 - more](#显示文件内容每次显示一屏---more)
|
||||
- [显示文件内容,每次显示一屏 - less](#显示文件内容每次显示一屏---less)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## 连接文件并打印到标准输出设备 - cat
|
||||
|
||||
> cat 命令用于连接文件并打印到标准输出设备上。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/cat
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
cat m1 # 在屏幕上显示文件 ml 的内容
|
||||
cat m1 m2 # 同时显示文件 ml 和 m2 的内容
|
||||
cat m1 m2 > file # 将文件 ml 和 m2 合并后放入文件 file 中
|
||||
```
|
||||
|
||||
## 显示指定文件的开头若干行 - head
|
||||
|
||||
> head 命令用于显示文件的开头内容。在默认情况下,head 命令显示文件的头部 10 行内容。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/head
|
||||
|
||||
## 显示指定文件的末尾若干行 - tail
|
||||
|
||||
> tail 命令用于显示文件的尾部内容。在默认情况下,tail 命令显示文件的尾部 10 行内容。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/tail
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
tail file # 显示文件file的最后10行
|
||||
tail -n +20 file # 显示文件file的内容,从第20行至文件末尾
|
||||
tail -c 10 file # 显示文件file的最后10个字符
|
||||
```
|
||||
|
||||
## 显示文件内容,每次显示一屏 - more
|
||||
|
||||
> more 命令是一个基于 vi 编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持 vi 中的关键字定位操作。more 名单中内置了若干快捷键,常用的有 H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
|
||||
>
|
||||
> 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:
|
||||
>
|
||||
> - 按 Space 键:显示文本的下一屏内容。
|
||||
> - 按 Enier 键:只显示文本的下一行内容。
|
||||
> - 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
|
||||
> - 按 H 键:显示帮助屏,该屏上有相关的帮助信息。
|
||||
> - 按 B 键:显示上一屏内容。
|
||||
> - 按 Q 键:退出 rnore 命令。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/more
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
# 显示文件 file 的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。
|
||||
more -dc file
|
||||
|
||||
# 显示文件 file 的内容,每 10 行显示一次,而且在显示之前先清屏。
|
||||
more -c -10 file
|
||||
```
|
||||
|
||||
## 显示文件内容,每次显示一屏 - less
|
||||
|
||||
less 命令的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。用 less 命令显示文件时,用 PageUp 键向上翻页,用 PageDown 键向下翻页。要退出 less 程序,应按 Q 键。
|
||||
|
||||
示例:
|
||||
|
||||
```sh
|
||||
less /var/log/shadowsocks.log
|
||||
```
|
|
@ -156,6 +156,7 @@ echo $difference seconds.
|
|||
> mount 命令用于挂载文件系统到指定的挂载点。此命令的最常用于挂载 cdrom,使我们可以访问 cdrom 中的数据,因为你将光盘插入 cdrom 中,Linux 并不会自动挂载,必须使用 Linux mount 命令来手动完成挂载。
|
||||
>
|
||||
> 参考:http://man.linuxde.net/mount
|
||||
> https://blog.csdn.net/weishujie000/article/details/76531924
|
||||
|
||||
示例:
|
||||
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
|
||||
- [查看 Linux 命令帮助信息](01.查看Linux命令帮助信息.md) - 关键词:`help`, `whatis`, `info`, `which`, `whereis`, `man`
|
||||
- [Linux 文件目录管理](02.Linux文件目录管理.md) - 关键词:`cd`, `ls`, `pwd`, `mkdir`, `rmdir`, `tree`, `touch`, `ln`, `rename`, `stat`, `file`, `chmod`, `chown`, `locate`, `find`, `cp`, `mv`, `rm`
|
||||
- [Linux 文件内容查看命令](Linux文件内容查看命令.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`
|
||||
- [Linux 文件编辑命令](Linux文件编辑命令.md) - 关键词:`sed`, `vi`
|
||||
- [Linux 文件内容查看命令](03.Linux文件内容查看编辑.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`
|
||||
- [Linux 文件压缩与解压命令](Linux文件压缩与解压命令.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
|
||||
- [Linux 用户管理命令](Linux用户管理命令.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
|
||||
- [Linux 系统管理命令](Linux系统管理命令.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
# Windows 工具
|
||||
|
||||
> 所谓,工欲善其事,必先利其器。使用好工具常常能给办公效率带来飞跃式的提升。这里整理总结了,我在工作学习中接触过的好工具。
|
||||
>
|
||||
> 关键词:tool, 工具, 效率
|
||||
|
||||
<!-- TOC depthFrom:2 depthTo:3 -->
|
||||
|
||||
- [1. 文件管理工具](#1-文件管理工具)
|
||||
- [1.1. Clover](#11-clover)
|
||||
- [1.2. Everything](#12-everything)
|
||||
- [1.3. Wox](#13-wox)
|
||||
- [1.4. Q-dir](#14-q-dir)
|
||||
- [1.5. Fences](#15-fences)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## 1. 文件管理工具
|
||||
|
||||
### 1.1. Clover
|
||||
|
||||
> [Clover](http://cn.ejie.me/) 是 Windows Explorer 资源管理器的一个扩展,为其增加类似谷歌 Chrome 浏览器的多标签页功能。
|
||||
|
||||
<div align="center">
|
||||
<img src="http://cn.ejie.me/images/clover.jpg" width="640" />
|
||||
</div>
|
||||
|
||||
### 1.2. Everything
|
||||
|
||||
> [Everything](http://www.voidtools.com/) 可以立即在 windows 系统中找到制定名称的文件和文件夹。
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180930174548.png)
|
||||
|
||||
### 1.3. Wox
|
||||
|
||||
> [Wox](https://github.com/Wox-launcher/Wox) 是一款简单易用的 Windows 启动器。可以把它视为 windows 版的 Alfred。
|
||||
|
||||
![](https://camo.githubusercontent.com/9db33546d3a905a9ad915e0948d3ba3f47f57b64/687474703a2f2f692e696d6775722e636f6d2f4474784e424a692e676966)
|
||||
|
||||
### 1.4. Q-dir
|
||||
|
||||
> [Q-dir](http://www.softpedia.com/get/File-managers/Q-Dir.shtml) 是轻量的文件管理器,特点鲜明,各种布局视图切换灵活,默认四个小窗口组成一个大窗口,操作快捷。
|
||||
|
||||
![](http://oyz7npk35.bkt.clouddn.com/images/20180920180930174437.png)
|
||||
|
||||
### 1.5. Fences
|
||||
|
||||
> [Fences](https://www.stardock.com/products/fences/) 也被称为栅栏桌面,是著名的 Stardock 公司推出的一款软件,用来分类和组织桌面上的图标一款软件。
|
||||
|
||||
![](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1538311775699&di=70a9d04f067844d1881031761b6ca67c&imgtype=0&src=http%3A%2F%2Fgss0.baidu.com%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2F962bd40735fae6cd16fbebdb0eb30f2442a70f38.jpg)
|
Loading…
Reference in New Issue