1
0
forked from x/ContextOS

Merge branch '1.0' of github.com:shylinux/context into 1.0

This commit is contained in:
shaoying 2018-09-18 14:17:29 +08:00
commit ab58f8e608
4 changed files with 146 additions and 32 deletions

View File

@ -51,13 +51,12 @@ function menu() {
var max = 0;
var min = 1000;
var list = [];
var hs = ["h2", "h3"];
var hs = ["h2", "h3", "h4"];
for (var i = 0; i < hs.length; i++) {
var head = document.getElementsByTagName(hs[i]);
for (var j = 0; j < head.length; j++) {
head[j].id = "head"+head[j].offsetTop;
head[j].onclick = function(event) {
}
head[j].onclick = function(event) {}
list.push({"level": hs[i], "position": head[j].offsetTop, "title": head[j].innerText, "hash": head[j].id})
if (head[j].offsetTop > max) {
max = head[j].offsetTop;
@ -85,17 +84,22 @@ function menu() {
}
}
var index2 = -1;
var index3 = 0;
var index = [-1, 0, 0]
for (var i = 0; i < list.length; i++) {
if (list[i].level == "h2") {
index2++;
index3=0;
index[0]++;
index[1]=0;
index[2]=0;
} else if (list[i].level == "h3") {
index[1]++;
index[2]=0;
} else {
index3++;
list[i].index3 = index3;
index[2]++;
}
list[i].index2 = index2;
list[i].index4 = index[2];
list[i].index3 = index[1];
list[i].index2 = index[0];
}
var m = document.getElementsByClassName("menu");
@ -104,7 +108,10 @@ function menu() {
var text = list[j].index2+"."
if (list[j].level == "h3") {
text += list[j].index3
}
} else if (list[j].level == "h4") {
text += list[j].index3+"."+list[j].index4
}
text += " "
text += list[j].title;

View File

@ -144,7 +144,10 @@ p {
text-decoration:none;
}
.menu .h3 {
padding-left: 10px;
padding-left: 20px;
}
.menu .h4 {
padding-left: 40px;
}
.link {
margin-top:10px;

View File

@ -14,15 +14,17 @@ Linux系统的应用十分广泛有很多流行的桌面操作系统与移动
严格上意义上讲Linux只是一个系统内核没法直接使用还需要各种应用软件。
GNU是一个软件基金组织提供了各种各样免费开源的自由软件。
debian就是把Linux内核与GNU软件打包成一个完整的操作系统并且提供了软件包管理工具可以很方便的下载各种应用软件。
ubuntu在debian的基础上提供了更加友好的桌面系统降低了使用难度。
apache也是一个著名的软件基金组织赞助了一系列的开源软件尤其是服务器相关的软件所以推动了WEB繁荣发展。
Debian就是把Linux内核与GNU软件打包成一个完整的操作系统并且提供了软件包管理工具可以很方便的下载各种应用软件。
Ubuntu在Debian的基础上提供了更加友好的桌面系统降低了使用难度。
Apache也是一个著名的软件基金组织赞助了一系列的开源软件尤其是服务器相关的软件所以推动了WEB繁荣发展。
Mozilla是一个软件社区开发了浏览器Firefox提供了一系列的Web技术与文档推动了WEB繁荣发展。
- [Linux官网](https://www.linux.org/)
- [GNU官网](https://www.gnu.org/)
- [debian官网](https://www.debian.org/)
- [Debian官网](https://www.debian.org/)
- [Ubuntu官网](https://www.ubuntu.com/)
- [Apache官网](https://www.apache.org/)
- [Mozilla官网](https://developer.mozilla.org/)
电脑端常见的操作系统是MacOSX与Windows。
所以使用Linux常用的方式有
@ -32,7 +34,27 @@ apache也是一个著名的软件基金组织赞助了一系列的开源软
- 本地安装虚拟机当然最主要的还是在自己电脑上安装一下可以选择各种虚拟机软件安装如VMWare或VirtualBox像应用软件一样安装操作系统。最近流行的Docker容器技术也可以尝试一下。
#### 软件管理
apt是debian与ubuntu的软件管理工具Linux之所以这么流行就是因为有大量优秀的开源软件与免费软件可以自由的获取与使用。
Linux之所以这么流行就是因为有大量优秀的开源软件与免费软件可以自由的获取与使用。
apt是Debian的软件管理工具只需要一条命令即可下载所需的软件。
软件包,是开发人员将程序、文档、脚本、配置等相关打包在一起,方便软件的分发与部署。
软件源,是专门存放软件包的服务器,用户可以在线搜索、查看、下载各种软件包。
软件包之间会存在依赖关系使用apt下载软件包时会检测软件包的依赖关系自动下载并安装相关的软件包。
最常用的两条命令是update与install更新软件信息列表和安装软件包。
更新软件包信息列表,从软件源服务器上下载软件包的信息列表。安装软件时,会根据这些信息下载相关软件包。
需要经常更新一下。
```
$ sudo apt-get update
```
安装软件包只需输入软件包名就可以自动下载并安装相关软件。如下安装vim。
```
$ sudo apt-get install vim
```
当不知道软件包的完整名字时可以使用search命令如下搜索docker。
```
$ apt-cache search docker
```
- 软件源 /etc/apt/sources.list
- 软件包清单 /var/lib/apt/lists
@ -47,10 +69,71 @@ apt是debian与ubuntu的软件管理工具Linux之所以这么流行就是
- 查看软件包 apt-cache show
#### 帮助信息
Linux有大量的软件与工具每个软件都有自己的使用方法与参数。
一下子记住这么多信息是不可能的,所以需要快速找到相关的帮助信息。
最直接的帮助信息是软件自带,输入参数-h或是--help就可以查看参数列表及相关信息。如下查看命令ps的帮助信息。
```
$ ps --help
```
另外查看更详细的使用信息使用man命令。man手册使用交互式查看文档可以翻页可以搜索。
```
$ man ps
```
使用whatis可以查看命令的简要描述信息。
```
$ whatis ps
```
查看命令所在的文件。
```
$ which ps
```
当不知道命令的完整名字时,可以使用模糊搜索。
```
$ apropos nice
```
很多软件都有自己的官网,如果还需要更多的信息,可以去官网查阅在线的文档。
#### 远程登录
很多时候运行环境并不在本机,需要去远程登录设备,如访问服务器,如连接开发板。
这时就会用到ssh工具ssh是security shell的简写提供加密通信的远程连接。可以远程执行各种命令传输文件等。
ssh参数指定所需要用户名与主机地址即可。
```
$ ssh shy@10.0.0.10
```
如果使用密码认证,每次都需要输入密码,很是麻烦,尤其是开发环境也在远程设备上,需要频繁的输入密码。
可以使用ssh-keygen命令生成密钥对使用密钥文件登录。
```
$ ssh-keygen
```
密钥生成后用ssh-copy-id命令将公钥上传到远程主机。下次再用ssh登录时就不用再输入密码了。
```
$ ssh-copy-id shy@10.0.0.10
```
有时候需要上传或是下载文件scp命令像cp命令一样简单可以直接在本机与远程主机传输文件。
与cp不同的是远程文件名前需要加上用户名与主机地址。
将远程主机的文件下载到本地。
```
$ scp shy@10.0.0.10:/home/shy/.vimrc vimrc
```
将本地文件上传到远程主机。
```
$ scp vimrc shy@10.0.0.10:/home/shy/.vimrc
```
当需传输更多文件时可以使用sftp命令交互式的访问远程目录。使用get下载文件put上传文件。
```
$ sftp shy@10.0.0.10
```
- 私钥文件 ~/.ssh/id_rsa
- 公钥文件 ~/.ssh/id_rsa.pub
- 授权公钥 ~/.ssh/authorized_keys
- man
- whatis
- apropos
#### 本地化
@ -109,20 +192,28 @@ apt是debian与ubuntu的软件管理工具Linux之所以这么流行就是
#### 内核管理
#### 系统启动
system
#### 远程登录
- ssh
- scp
- sftp
- ssh-keygen -t rsa
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
- ssh-copy-id
- ~/.ssh/authorized_keys
### Nginx
nginx是一种Web服务器尤其是反向代理与负载均衡功能在高并发的服务器上应用广泛。更多信息参考[nginx官网](http://nginx.org/)
安装nginx
```
$ sudo apt-get install nginx
```
启动nginx
```
$ sudo nginx
```
访问nginx
```
$ curl localhost
```
nginx通过丰富的配置文件启用各种功能。查看nginx相关的文件。
```
$ nginx -V
```
### Python
Mac上自带python不需要安装。Ubuntu上也自带python。更多信息参考[python官网](https://www.python.org/)

View File

@ -63,6 +63,19 @@ shy-MacBook-Pro.local
$ wget http://www.baidu.com
```
### zsh使用
Mac上自带zsh不用安装但Ubuntu上需要自己安装一下。
```
$ sudo apt-get install zsh
```
原生的zsh不是很好用可以安装一个[zsh插件管理器](https://github.com/robbyrussell/oh-my-zsh)。
更多信息可以查看[ohmyzsh官网](https://ohmyz.sh/)。
```
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
```
如果在Ubuntu上没有安装curl可以安装一下。
```
$ sudo apt-get install curl
```
### tmux使用
### docker使用