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.
80. 用户/组管理命令:
81. 简介:
82. 一个用户可以属于多个组(分为主组[1个]和属组[多个])
83. 每一个用户都有一个唯一标识UID(无符号整数)
84. 每个用户至少属于一个组GID(UID/GID均为独立编号)
85. groupadd demo 创建组(/etc/group下增加一行记录该组信息)
86. groupadd -g 5000 demo
87. useradd demo创建用户demo(①:/etc/passwd下增加一行记录该组信息,且自动为用户创建相应的主目录/home/demo,用户的口令同时存放于/etc/shadow文件中②:单独创建用户默认会取已存在组的最大值+1为当前新创建用户的GID)
88. useradd -u 666 -g group1 -G group2 demo组为已存在,才可以创建。(666:UID,-g:已存在主组,-G:属组,
89. demo:新创建用户名)
90. userdel -r demo
91. groupdel -r demo
92. su demo 从root用户切换到demo用户
93. passwd demo/passwd设置/修改demo的密码(如果当前处于root用户,passwd demo则指定修改demo用户密码,passwd修改当前用户)
94. passwd -l demo
95. passwd -u demo
96. passwd -d demo
97. usermod -u 600 -g 600 demo修改已存在的用户demo的UID和GID
98. id demo 显示用户的UID/GID等信息
99. chown demo demo.txt
100. chown -R demo demo.txt 递归改变demo.txt文件的属主为demo
101. chgrp demo demo.txt
102. chgrp -R demo demo.txt递归改变demo.txt文件的属主为demo
103.
104. linux中权限结构:
105. -rw-r--r--. 1 root root 169971490 Aug 13 03:58 jdk-8u144-linux-x64.rpm
106. 解析(linux权限按照:文件创建者,同组用户,其他用户):
107. -:表示文件 d:表示目录
108. rw-:文件创建者具有read+write的权限
109. r--:同组用户具有read的权限
110. r--:其他用户具有read的权限
111.
112. 介绍一下执行权限:
113. 加入了执行权限的文件可以运行,命令或者程序这样的文件都应该加入执行权限。
114.
115. 修改文件权限(命令方式):
116. chmod命令(u:针对属主,g:针对属组,o:针对其他用户,a:针对所有用户)
117.
118.
119. 举例:
120. chmod u+x demo
121. chmod g-w,o=x demo
122.
123. 修改文件权限(数字方式):
124. echo "demo" 相当于java中的输出语句
125. chmod命令(r:read读命令=4,w:write写命令=2,x:execute执行命令=1)
126. 举例:
127. chmod 764 文件创建者具有rwx权限,同组用户具有rw权限,其他用户具有r权限
128.
129. i节点(相当于java当中超链接/电脑快捷方式):
130. i节点分为软连接(常用)和硬链接
131. ln -s /demo/demo1/demo2 toDemo创建toDemo快捷方式代替路径/demo/demo1/demo2
132.
133. 查找命令:
134. which cp 查找cp命令的位置(/bin目录下)
135. whereis ln 查找ln命令的位置
136. find -name demo
137. find -size 8 查找大小为8K的文件
138. find /var -type d -print查找var目录下类型为目录的文件输出(-print:可省略)
139. find . -cmin -5
140. find . -ctime -5
141. find /demo -perm (+/-)755查找demo目录下权限为755的文件(+:符合755中任意一种权限即可,-:至少满足权限为755的文件,777也可)
142.
143. 文件内容操作命令:
144. grep ‘111’ /logs/*.log查找logs文件夹下所有以.log结尾的文件中包含111字符的文件
145. grep -v ‘111’ /logs/*.log 查找logs文件夹下所有以.log结尾的文件中不包含111字符的文件
146. | 管道命令(左边命令|右边命令->左边命令的结果集作为右边命令的输入参数)
147. 例如:
148. ls -l |grep 'demo'
149. wc demo(word count)查看demo文件中行数(参数-l),单词数(参数-w),以及字符数(参数-c)
150. sort demo 将demo文件内容以顺序输出
151. sort -r demo 将demo文件呃逆荣以倒序输出
152. diff demo1 demo2
153. cut -d: -f1 /etc/passwd 找到/etc/passwd文件中以:分隔的第一个字符(即查找当前所有用户名信息)
154.
155. 压缩和打包命令(-c:打包/创建 -v:显示处理过程 -f:用来指定文件名):
156. tar -cvf demo.tar demo将demo文件打包成demo.tar
157. tar -zcvf demo.tar demo将demo文件打包成demo.tar(拓展名是.gz)
158. tar -xvf demo.tar demo 将demo文件解压成demo.tar
159. tar -zxvf demo.tar demo 将demo文件解压成demo.tar(拓展名是.gz)
160.
161. 网卡配置命令
162. ifconfig -a 查看网卡配置情况
163. ifconfig eth0 查看第一块网卡信息
164. ifconfig -eth0 up
165. ifconfig -eth0 down
166. service network restart 重新加载网络配置
167.
168. 软件安装方式(4种方式)
169. rpm安装
170. 查询系统中所有已安装的软件
171. rpm -qa
172. 查询指定的软件是否安装
173. rpm -qa |grep jdk
174. 查询已安装软件的安装文件列表(文件名称是全名)
175. rpm -ql java-1.8.0-openjdk-1.8.0.141-2.b16.el6_9.x86_64
176. ①rpm安装
177. rpm -ivh jdk-8u101-linux-x64.rpm
178. 强制安装(不一定会完全覆盖,可能由于版本问题,安装路径更改)
179. rpm -ivh -forcejdk-8u101-linux-x64.rpm
180. 忽略依赖安装
181. rpm -ivh -nodepsjdk-8u101-linux-x64.rpm
182. 卸载(普通用户只能执行查询操作):
183. 先查询后卸载
184. rpm -qa |grep jdk
185. rpm -e jdk(软件名称)
186. ②yum安装(基于互联网安装)
187. yum install 软件名称
188. 好处:必须连接外网,自动安装依赖(先将依赖工具安装,再安装目标软件)。
189. yum下软件之前先进行yum安装加速(智能的根据下载速度会在主库和镜像中自动选择一个最快的yum库,进而提高效率)
190. yum install yum-fastestmirror
191. ③tar 解压缩 直接使用(二进制内容 binary code)
192. 解压tomcat
193. tar -zxvf apache-tomcat-7.0.69.tar.gz
194. ④源码安装:tar 解压缩 源码编译后(二进制内容 binary code)
195. .confiure mak make install(后面框架学习redis中会讲解到,后续会补充。)
196. 查看进程
197. ps -aux |grep java
198. ps -f |grep java
199. kill -9 进程号(杀掉进程)
200. top(动态监测系统中进程)
201. cpu占用率较高原因:死锁,并发
202. 到这里基本的linux命令学习基本告一段落
203. 虚拟网络中建立多态计算机(clone)