-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
ZhanTianYou
authored and
ZhanTianYou
committed
Sep 18, 2018
1 parent
2ed3417
commit 909e0b3
Showing
19 changed files
with
2,688 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
--- | ||
## 1 Linux发展 | ||
|
||
0. Unix宣布私有化 | ||
1. Andrew S. Tanenbau教授参考UNIX设计开发了Minix | ||
2. Linus Torvalds 根据Minix开发了Linux根发布 | ||
3. 用芬兰吉祥物**企鹅**作为Linux标志 | ||
|
||
--- | ||
## 2 版本 | ||
|
||
Linux版本分为内核版本和发行版本 | ||
|
||
- Linux内核版本是Linux的核心版本,是官方的发布的,官网为:`http://www.kernel.org/` | ||
- Linux发行版本是由各个厂商基于内核开发并发布的,主要包括: | ||
- redhat 服务器,没有图形界面 | ||
- centOS 和redhat一致,完全免费 | ||
- ubuntu 有图形界面,个人版本 | ||
- fedora 有redhat公司开发,个人版本 | ||
|
||
--- | ||
## 3 开源软件 | ||
|
||
开放源代码的软件,比如 | ||
|
||
- PHP | ||
- python | ||
- apache | ||
- nginx | ||
- MySQL | ||
- Ruby | ||
- MongoDB | ||
|
||
--- | ||
## 4 Linux的应用领域 | ||
|
||
### 企业服务器 | ||
|
||
www.netcraft.com 网站可以查看目前服务器的市场占比 | ||
|
||
### 嵌入式开发 | ||
|
||
- Android就是基于Linux | ||
- 机顶盒 | ||
|
||
--- | ||
## 5 Linux与Windows的不同 | ||
|
||
- Linux严格区分大小写 | ||
- Linux中所有内容以文件的形式保存,包括硬件 | ||
- Linux不靠扩展名区分文件类型,但是有一些约定俗成的扩展名,可以帮助管理员更好的区分文件类型,让Linux更高效率的处理文件,比如下面扩展名(需要注意的是,这些扩展名不是必须的) | ||
- 压缩包:`*.gz、*.bz2、*.tar.bz2、*.tgz`等 | ||
- 二进制软件包:`*.rpm` | ||
- 网页文件:`*.html、*.php` | ||
- 脚本文件:`*.sh` | ||
- 配置文件:`*.conf` | ||
|
||
--- | ||
## 6 字符界面的优势 | ||
|
||
一般用于企业服务器的Linux版本不会有推行界面,只有字符界面,为什么呢? | ||
|
||
1. 字符界面占用系统资源更少 | ||
2. 安全性更高,做的事越少,犯错的几率也就越小 | ||
|
||
|
||
--- | ||
## 7 使用虚拟机安装Linux | ||
|
||
对于初学者推荐优先使用虚拟机模拟Linux系统,因为Linux相对于Windows上手难度较高。 | ||
|
||
虚拟机推荐: | ||
|
||
- VMware | ||
- VirtualBox | ||
|
||
**安装时的网卡设置:** | ||
|
||
- 桥接网卡 虚拟机与真机通信利用真实的本地网卡,配置简单,虚拟机会占用真实网段的IP | ||
- NAT 虚拟机上网,不能跟其他真机通讯 | ||
- HOST-ONLY 不能上网,不能通讯。 | ||
|
||
**技巧** | ||
- 创建快照,保存状态,方便恢复 | ||
- 克隆系统 | ||
|
||
--- | ||
## 8 系统分区 | ||
|
||
- 主分区:最多四个 | ||
- 扩展分区 | ||
- 最多只能有一个 | ||
- 主分区+扩展分区最多能有4个 | ||
- 不能写入数据,只能包含逻辑分区 | ||
- 逻辑分区 | ||
|
||
**格式化:** | ||
|
||
- 格式化不是为了清空数据,而是为了写入文件系统。 | ||
|
||
格式化做的事: | ||
|
||
- 把磁盘分成一个一个的数据块(block),默认为`4kb` | ||
- 文件列表 | ||
|
||
|
||
|
||
--- | ||
## 9 Linux系统各文件夹作用 | ||
|
||
``` | ||
/bin 二进制可执行命令 | ||
/dev 设备特殊文件 | ||
/etc 系统管理和配置文件 | ||
/etc/rc.d 启动的配置文件和脚本 | ||
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 | ||
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 | ||
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 | ||
/tmp 公用的临时文件存储点 | ||
/root 系统管理员的主目录(特权阶级) | ||
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。 | ||
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 | ||
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 | ||
/var 某些大文件的溢出区,比方说各种服务的日志文件 | ||
/usr 即unix system resource最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含: | ||
|---/usr/x11r6 存放x window的目录 | ||
|---/usr/bin 众多的应用程序 | ||
|---/usr/sbin 超级用户的一些管理程序 | ||
|---/usr/doc linux文档 | ||
|---/usr/include linux下开发和编译应用程序所需要的头文件 | ||
|---/usr/lib 常用的动态链接库和软件包的配置文件 | ||
|---/usr/man 帮助文档 | ||
|---/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 | ||
|---/usr/local/bin 本地增加的命令 | ||
|---/usr/local/lib 本地增加的库 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,220 @@ | ||
## 1 安装 ubuntu(双系统) | ||
|
||
预备设置:windiws关闭快速启动,bios关闭安全启动。 | ||
|
||
1. U盘启动 | ||
2. uefi警告时选择`后退` | ||
3. 分区为: | ||
- `/Boot`(引导分区) ,1000M ,主分区 | ||
- `/`(根分区) ,30760M ,这里不要设置的太小,毕竟可能安装许多软件 | ||
- 交换分区,8000M。 | ||
- `/home`(用户目录), 剩余所有容量 | ||
4. 安装完毕 | ||
5. 进入windows10,使用easyBCD添加引导项:`grub2-自动选择` | ||
|
||
|
||
--- | ||
## 2 ubuntu环境搭建与相关配置 | ||
|
||
### install unity tools | ||
|
||
``` | ||
sudo add-apt-repository ppa:freyja-dev/unity-tweak-tool-daily | ||
sudo apt-get update | ||
sudo apt-get install unity-tweak-tool | ||
``` | ||
|
||
### install aptitude | ||
|
||
aptitude工具是基于apt的一款安装工具,优点是可以自动解决安装和卸载时候的依赖关系。 | ||
|
||
``` | ||
sudo apt install aptitude | ||
``` | ||
|
||
### 安装工具 | ||
|
||
``` | ||
sudo aptitude install shutter//安装截屏软件shutter | ||
sudo apt install docky//docky工具栏:使用 apt/apt-get 可能需要重启才能生效,用aptitude安装后可以直接使用 | ||
``` | ||
|
||
### 安装主题 | ||
|
||
``` | ||
//主题 | ||
sudo add-apt-repository ppa:noobslab/themes | ||
sudo apt-get update | ||
sudo apt-get install flatabulous-theme | ||
//配套图标 | ||
sudo add-apt-repository ppa:noobslab/icons | ||
sudo apt-get update | ||
sudo apt-get install ultra-flat-icons | ||
``` | ||
|
||
### install jdk | ||
|
||
``` | ||
//首先安装软件包管理工具 | ||
sudo apt-get install python-software-properties | ||
sudo apt-get install software-properties-common | ||
//Oracle | ||
sudo add-apt-repository ppa:webupd8team/java | ||
sudo apt-get update | ||
sudo apt-get install oracle-java8-installer | ||
//open jdk | ||
sudo apt-get update | ||
sudo apt-get install openjdk-8-jdk | ||
``` | ||
|
||
### wiznote | ||
|
||
``` | ||
sudo add-apt-repository ppa:wiznote-team //添加官方源 | ||
sudo apt-get update //更新源 | ||
sudo apt-get install wiznote //安装为知笔记 | ||
``` | ||
|
||
### oh-my-zsh | ||
|
||
``` | ||
sudo apt-get install zsh | ||
``` | ||
|
||
### vim | ||
|
||
``` | ||
sudo apt-get install vim-gtk | ||
vim /etc/vim/vimrc #编辑配置文件,加入以下配置 | ||
set nu | ||
set tabstop | ||
set cursorline | ||
set ruler | ||
``` | ||
|
||
### dos2unix | ||
|
||
``` | ||
sudo apt-get install dos2unix | ||
``` | ||
|
||
### Tomcat | ||
|
||
从官网下载tomcat,然后解压即可,远程连接时要开放对应的端口。 | ||
|
||
```shell | ||
# 创建tomcat存放目录,比如 /usr/local 目录下 | ||
cd /usr/local | ||
mkdir tomcat | ||
|
||
# 下载tomcat | ||
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz | ||
|
||
# 解压 | ||
tar -xvf apache-tomcat-8.5.31.tar.gz | ||
|
||
# 启动tomcat(记得开放8080端口) | ||
./startup.sh | ||
./shutdown.sh | ||
``` | ||
|
||
|
||
### MySQL | ||
|
||
``` | ||
apt-get update | ||
apt-get install mysql-server mysql-client | ||
测试是否安装成功:netstat -tap | grep mysql | ||
启动MySQL服务:service mysql start | ||
停止MySQL服务:service mysql stop | ||
服务状态:service mysql status | ||
修改 MySQL 的管理员密码:mysqladmin -u root password newpassword | ||
正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)取消本地监需要修改 my.cnf 文件: | ||
1 vim /etc/mysql/my.cnf,把 bind-address = 127.0.0.1注释掉,如果配置文件中没有bind-address = 127.0.0.1,则添加下面内容: | ||
[mysqld] | ||
bind-address = 0.0.0.0 | ||
2 重启MySQL服务器 | ||
3 重新登录 mysql -uroot -p | ||
4 在mysql命令行中运行下面两个命令 | ||
grant all privileges on *.* to 'root'@'%' identified by '远程登录的密码'; | ||
flush privileges; | ||
5 检查MySQL服务器占用端口 netstat -nlt|grep 3306 | ||
数据库存放目录: /var/lib/mysql/ | ||
相关配置文件存放目录:/usr/share/mysql | ||
相关命令存放目录:/usr/bin(mysqladmin mysqldump等命令 | ||
启动脚步存放目录:/etc/rc.d/init.d/ | ||
``` | ||
|
||
sql授权说明 | ||
|
||
语法:`grant 权限1,权限2, ... 权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';` | ||
|
||
- `权限1,权限2,... 权限n` 代表 `select、insert、update、delete、create、drop、index、alter、grant、references、reload、shutdown、process、file` 等14个权限。 | ||
- 当`权限1,权限2,... 权限n` 被 `all privileges` 或者 `all` 代替时,表示赋予用户全部权限。 | ||
- 当 `数据库名称.表名称` 被 `*.*` 代替时,表示赋予用户操作服务器上所有数据库所有表的权限。 | ||
- 用户地址可以是localhost,也可以是IP地址、机器名和域名。也可以用 `'%'` 表示从任何地址连接。 | ||
- '连接口令',远程连接时使用的密码,不能为空,否则创建失败。 | ||
|
||
>privileges 即特权的意思。 | ||
### Nginx | ||
|
||
|
||
```shell | ||
# 先下载安装 nginx 和 nginx-rtmp 编译依赖工具 | ||
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev | ||
|
||
# 下载 nginx 和 nginx-rtmp源码(wget是一个从网络上自动下载文件的自由工具) | ||
wget http://nginx.org/download/nginx-1.7.5.tar.gz | ||
|
||
# 解压 nginx | ||
tar -zxvf nginx-1.7.5.tar.gz | ||
|
||
# 切换到 nginx-目录 | ||
cd nginx-1.7.5 | ||
|
||
# 编译安装nginx | ||
make | ||
sudo make install | ||
|
||
# 安装nginx init脚本 | ||
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx | ||
sudo chmod +x /etc/init.d/nginx | ||
|
||
# 开启启动nginx | ||
sudo update-rc.d nginx defaults | ||
|
||
# 启动和停止nginx 服务,生成配置文件 | ||
sudo service nginx start | ||
sudo service nginx stop | ||
sudo service nginx restart | ||
``` | ||
|
||
|
||
### 开放端口号 | ||
|
||
``` | ||
查看哪些端口被打开 netstat -anp | ||
关闭端口号:iptables -I INPUT -p tcp --drop 端口号 -j DROP | ||
iptables -I OUTPUT -p tcp --dport 端口号 -j DROP | ||
打开端口号:iptables -I INPUT -ptcp --dport 端口号 -j ACCEPT | ||
将修改永久保存到防火墙中:iptables-save | ||
关闭/打开防火墙(需要重启系统) | ||
开启: chkconfig iptables on | ||
关闭: chkconfig iptables off | ||
``` | ||
|
||
--- | ||
## 引用 | ||
|
||
- [Ubuntu 16.04安装Java JDK](http://topspeedsnail.com/ubuntu16-install-java-jdk/) | ||
- [Windows10+Ubuntu双系统安装[多图]](http://www.jianshu.com/p/2eebd6ad284d) | ||
- [Ubuntu 16.04主题美化和软件推荐(oh-my-zsh)](http://www.linuxidc.com/Linux/2016-09/135165p2.htm) | ||
- [Ubuntu美化系列文章](http://www.jianshu.com/u/b3288a70ead9) |
Oops, something went wrong.