1. 现在主要有两大主流系统: unix系统/window系统
2. 
3. unix系统(不开源,适用于小型机)
4. |-linux(开源,免费,适用于pc server)
5. |-Android
6. |-Appale OS
7. 因为linux开源,很多公司都是可以获得linux源代码(文件系统,cpu,内存,IO,网络资源的管理和调集)
8. 
9.  linux简介:
10. 基于posix(分区规范:比如/root /opt)和unix的多用户,多任务,支持多线程和多cpu的操作系统
11. linux存在着许多不同的版本,均使用linux内核,可以安装在手机,平板,路由和各种计算机中。
12. 
13.  服务器介绍:
14. |-软件:服务器软件 tomcat
15. |-硬件:计算机 高性能计算机
16. |-小型机 贵 好 稳定 (适用于:银行 电信,政府)
17. |-pc server 便宜不稳定 不可靠 高性能的个人电脑(x86)
18. |-塔式
19. |-机架式
20. |-刀片式
21. linux主要发行的版本:
22. |-国外主要发行版本:
23. red hat,SuSE,Turbo
24. |-国内主要发行版本:
25. 红旗,中标普华,蓝点
26. 服务器使用:
27. RedHat
28. |-Centos是redhat的免费版本,功能大致相同,只是缺少一些系统管理工具
29. SuSE
30. |-OpenSuSE
31. 
32. 
33. 安装linux:
34. 在VMWare/Virtual Box中虚拟出来一个linux CentOS系统
35. 
36.  查看ip命令行:
37. window:ipconfig/all
38. linux:ifconfig -a
39. 
40. 配置linuxIP并使用xshell工具连接:
41. linuxIP配置+虚拟机设置中的网络适配器
42. 
43. 
44.  防火墙:
45.  service iptables stop (重启后默认开启)
46.  chkconfig iptables off (重启后不再自启动)
47.  
48. 快照:(保存当前linux状态,包括环境以及安装软件)
49. 
50. linux参数详解:
51. -a 所有的意思
52. -R 遍历当前文件夹下的子文件时使用
53. -p 在创建多级文件夹的时候,若文件夹不存在则创建
54. 
55. 
56.  linux基础命令:
57. ls/ll 查看当前目录下的文件
58. pwd 查看当前路径(print work directory)
59. cd /etc(绝对/相对路径) 
60. 切换绝对路径(基于根本目录):cd /etc/sysconfig
61. 切换相对路径(基于当前路径):cd ../文件名称
62. cd .. 返回上一级目录
63. cd / 切换到根目录
64. cd ~/cd 空格 切换到家目录(基本同上)
65. touch 文件名 创建空文件
66. cp /etc/sysconfig /root拷贝文件/etc目录下的sysconfig到/root目录下
67. cp -R /etc /root拷贝目录/etc目录下的所有文件到/root目录下
68. mv /etc/sysconfig /root移动目录/etc目录下的sysconfig到/root目录下
69. mv jdk1 jdk 将文件夹jdk1改名为jdk
70. mkdir demo 创建demo的文件夹
71. rmdir demo删除demo的空文件夹  
72. rm -rf demo递归删除demo的目录
73. cat demo查看demo文件内容
74. more demo查看demo文件内容(按空格翻屏,按回车翻一行)
75. less demo查看demo文件内容(pageup向前翻屏,pagedown向后翻屏)
76. head demo查看demo文件内容头10行
77. head -n 20 demo查看demo文件内容头20行
78. tail -n 30 demo查看demo文件内容后30行
79. vi文本编辑器
80. vi 路径+文件名称
81. vi编辑器的两种模式:命令模式(输入命令)和编辑模式(编辑文本)
82. dd 可以删除当前行
83. ndd 删除多行内容
84. yy 可以复制当前行
85. p 粘贴
86. /搜索内容 查找该文本中的搜索内容n查找下一个
87. 先esc再输入下面的命令退出
88. :wq 保存推出
89. :wq 强制保存推出
90. 
91.  用户/组管理命令:
92. 简介:
93. 一个用户可以属于多个组(分为主组[1个]和属组[多个])
94. 每一个用户都有一个唯一标识UID(无符号整数)
95. 每个用户至少属于一个组GID(UID/GID均为独立编号)
96. groupadd demo 创建组(/etc/group下增加一行记录该组信息)
97. groupadd -g 5000 demo 
98. useradd demo创建用户demo(①:/etc/passwd下增加一行记录该组信息,且自动为用户创建相应的主目录/home/demo,用户的口令同时存放于/etc/shadow文件中②:单独创建用户默认会取已存在组的最大值+1为当前新创建用户的GID)
99. useradd -u 666 -g group1 -G group2 demo组为已存在,才可以创建。(666:UID,-g:已存在主组,-G:属组,
100. demo:新创建用户名)
101. userdel -r demo 
102. groupdel -r demo 
103. su demo 从root用户切换到demo用户
104. passwd demo/passwd设置/修改demo的密码(如果当前处于root用户,passwd demo则指定修改demo用户密码,passwd修改当前用户)
105. passwd -l demo 
106. passwd -u demo 
107. passwd -d demo 
108. usermod -u 600 -g 600 demo修改已存在的用户demo的UID和GID
109. id demo  显示用户的UID/GID等信息
110. chown demo demo.txt 
111. chown -R demo demo.txt 递归改变demo.txt文件的属主为demo
112. chgrp demo demo.txt  
113. chgrp -R demo demo.txt递归改变demo.txt文件的属主为demo
114. 
115. linux中权限结构:
116. -rw-r--r--. 1 root root 169971490 Aug 13 03:58 jdk-8u144-linux-x64.rpm
117. 解析(linux权限按照:文件创建者,同组用户,其他用户):
118. -:表示文件   d:表示目录
119. rw-:文件创建者具有read+write的权限
120. r--:同组用户具有read的权限
121. r--:其他用户具有read的权限
122. 
123. 介绍一下执行权限:
124. 加入了执行权限的文件可以运行,命令或者程序这样的文件都应该加入执行权限。
125. 
126. 修改文件权限(命令方式):
127. chmod命令(u:针对属主,g:针对属组,o:针对其他用户,a:针对所有用户)
128. 
129. 
130. 举例:
131. chmod u+x demo 
132. chmod g-w,o=x demo  
133. 
134. 修改文件权限(数字方式):
135. echo  "demo" 相当于java中的输出语句
136. chmod命令(r:read读命令=4,w:write写命令=2,x:execute执行命令=1)
137. 举例:
138. chmod 764 文件创建者具有rwx权限,同组用户具有rw权限,其他用户具有r权限
139. 
140. i节点(相当于java当中超链接/电脑快捷方式):
141. i节点分为软连接(常用)和硬链接
142. ln -s /demo/demo1/demo2 toDemo创建toDemo快捷方式代替路径/demo/demo1/demo2
143. 
144. 查找命令:
145. which cp 查找cp命令的位置(/bin目录下)
146. whereis ln 查找ln命令的位置
147. find -name demo 
148. find -size 8 查找大小为8K的文件
149. find /var -type d -print查找var目录下类型为目录的文件输出(-print:可省略)
150. find . -cmin -5 
151. find . -ctime -5 
152. find /demo -perm (+/-)755查找demo目录下权限为755的文件(+:符合755中任意一种权限即可,-:至少满足权限为755的文件,777也可)
153. 
154.  文件内容操作命令:
155. grep ‘111’ /logs/*.log查找logs文件夹下所有以.log结尾的文件中包含111字符的文件
156. grep -v ‘111’ /logs/*.log 查找logs文件夹下所有以.log结尾的文件中不包含111字符的文件
157. | 管道命令(左边命令|右边命令->左边命令的结果集作为右边命令的输入参数)
158. 例如:
159. ls -l |grep 'demo' 
160. wc demo(word count)查看demo文件中行数(参数-l),单词数(参数-w),以及字符数(参数-c)
161. sort demo 将demo文件内容以顺序输出
162. sort -r demo 将demo文件呃逆荣以倒序输出
163. diff demo1 demo2 
164. cut -d: -f1 /etc/passwd 找到/etc/passwd文件中以:分隔的第一个字符(即查找当前所有用户名信息)
165. 
166. 压缩和打包命令(-c:打包/创建 -v:显示处理过程 -f:用来指定文件名):
167. tar -cvf demo.tar demo将demo文件打包成demo.tar
168. tar -zcvf demo.tar demo将demo文件打包成demo.tar(拓展名是.gz)
169. tar -xvf demo.tar demo 将demo文件解压成demo.tar 
170. tar -zxvf demo.tar demo 将demo文件解压成demo.tar(拓展名是.gz)
171. 
172. 网卡配置命令
173. ifconfig -a 查看网卡配置情况
174. ifconfig eth0 查看第一块网卡信息
175. ifconfig -eth0 up 
176. ifconfig -eth0 down 
177. service network restart 重新加载网络配置
178. 
179.  软件安装方式(4种方式)
180. rpm安装   
181. 查询系统中所有已安装的软件
182. rpm -qa 
183. 查询指定的软件是否安装
184. rpm -qa |grep jdk
185. 查询已安装软件的安装文件列表(文件名称是全名)
186. rpm -ql java-1.8.0-openjdk-1.8.0.141-2.b16.el6_9.x86_64
187. ①rpm安装
188. rpm -ivh jdk-8u101-linux-x64.rpm
189. 强制安装(不一定会完全覆盖,可能由于版本问题,安装路径更改)
190. rpm -ivh -forcejdk-8u101-linux-x64.rpm
191. 忽略依赖安装
192. rpm -ivh -nodepsjdk-8u101-linux-x64.rpm
193. 卸载(普通用户只能执行查询操作):
194. 先查询后卸载
195. rpm -qa |grep jdk
196. rpm -e jdk(软件名称)
197. ②yum安装(基于互联网安装)
198. yum install 软件名称
199. 好处:必须连接外网,自动安装依赖(先将依赖工具安装,再安装目标软件)。
200. yum下软件之前先进行yum安装加速(智能的根据下载速度会在主库和镜像中自动选择一个最快的yum库,进而提高效率)
201. yum install yum-fastestmirror
202. ③tar 解压缩 直接使用(二进制内容 binary code)
203. 解压tomcat
204. tar -zxvf apache-tomcat-7.0.69.tar.gz
205. ④源码安装:tar 解压缩 源码编译后(二进制内容 binary code)
206. .confiure mak make install(后面框架学习redis中会讲解到,后续会补充。)
207. 查看进程
208. ps -aux |grep java
209. ps -f |grep java
210. kill -9 进程号(杀掉进程)
211. top(动态监测系统中进程)
212. cpu占用率较高原因:死锁,并发
213. 到这里基本的linux命令学习基本告一段落
214. 构建多网卡操作
215. 新建一块桥接网卡
216. 1. 编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth1(外网)
 DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp  //动态获取IP 同时动态获得DNS
#IPADDR=192.168.0.8
#NETMASK=255.255.255.0
2. 编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth1(内网)
 DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.8
NETMASK=255.255.255.0217. 3. service networkrestart
218. 虚拟网络中建立多台计算机(clone)
219. 1.    该宿主(母机)需要在关机的情况下,进行clone。(关机命令:halt)
220. 解决clone机中eht自动增长为3,4问题
221. rm -rf /etc/udev/rules.d/70-persistence-net.rule
222. vi /etc/sysconfig/network-scripts/ifcfg-eth0
223. vi /etc/sysconfig/network-scripts/ifcfg-eth1修改ip
224. reboot/service network restart
225. 远程多服务之间的cp命令
226. scp 文件名称 192.168.0.158:/root
227. 
228. web应用系统架构
229.