Linux框架学习(keep update)


[html] view plain copy
  1. 现在主要有两大主流系统: unix系统/window系统
  2. unix系统(不开源,适用于小型机)
  3. |-linux(开源,免费,适用于pc server)
  4. |-Android
  5. |-Appale OS
  6. 因为linux开源,很多公司都是可以获得linux源代码(文件系统,cpu,内存,IO,网络资源的管理和调集)
  7. linux简介:
  8. 基于posix(分区规范:比如/root /opt)和unix的多用户,多任务,支持多线程和多cpu的操作系统
  9. linux存在着许多不同的版本,均使用linux内核,可以安装在手机,平板,路由和各种计算机中。
  10. 服务器介绍:
  11. |-软件:服务器软件 tomcat
  12. |-硬件:计算机 高性能计算机
  13. |-小型机 贵 好 稳定 (适用于:银行 电信,*)
  14. |-pc server 便宜不稳定 不可靠 高性能的个人电脑(x86)
  15. |-塔式
  16. |-机架式
  17. |-刀片式
  18. linux主要发行的版本:
  19. |-国外主要发行版本:
  20. red hat,SuSE,Turbo
  21. |-国内主要发行版本:
  22. 红旗,中标普华,蓝点
  23. 服务器使用:
  24. RedHat
  25. |-Centos是redhat的免费版本,功能大致相同,只是缺少一些系统管理工具
  26. SuSE
  27. |-OpenSuSE

  28. 安装linux:
  29. 在VMWare/Virtual Box中虚拟出来一个linux CentOS系统
  30. 查看ip命令行:
  31. window:ipconfig/all
  32. linux:ifconfig -a

  33. 配置linuxIP并使用xshell工具连接:
  34. linuxIP配置+虚拟机设置中的网络适配器

  35. 防火墙:
  36. service iptables stop (重启后默认开启)
  37. chkconfig iptables off (重启后不再自启动)
  38. 快照:(保存当前linux状态,包括环境以及安装软件)
  39. Linux框架学习(keep update)

  40. linux参数详解:
  41. -a 所有的意思
  42. -R 遍历当前文件夹下的子文件时使用
  43. -p 在创建多级文件夹的时候,若文件夹不存在则创建

  44. linux基础命令:
  45. ls/ll 查看当前目录下的文件
  46. pwd 查看当前路径(print work directory)
  47. cd /etc(绝对/相对路径) 切换目录
  48. 切换绝对路径(基于根本目录):cd /etc/sysconfig
  49. 切换相对路径(基于当前路径):cd ../文件名称
  50. cd .. 返回上一级目录
  51. cd / 切换到根目录
  52. cd ~/cd 空格 切换到家目录(基本同上)
  53. touch 文件名 创建空文件
  54. cp /etc/sysconfig /root拷贝文件/etc目录下的sysconfig到/root目录下
  55. cp -R /etc /root拷贝目录/etc目录下的所有文件到/root目录下
  56. mv /etc/sysconfig /root移动目录/etc目录下的sysconfig到/root目录下
  57. mv jdk1 jdk 将文件夹jdk1改名为jdk
  58. mkdir demo 创建demo的文件夹
  59. rmdir demo删除demo的空文件夹  
  60. rm -rf demo递归删除demo的目录
  61. cat demo查看demo文件内容
  62. more demo查看demo文件内容(按空格翻屏,按回车翻一行)
  63. less demo查看demo文件内容(pageup向前翻屏,pagedown向后翻屏)
  64. head demo查看demo文件内容头10行
  65. head -n 20 demo查看demo文件内容头20行
  66. tail -n 30 demo查看demo文件内容后30行
  67. vi文本编辑器
  68. vi 路径+文件名称
  69. vi编辑器的两种模式:命令模式(输入命令)和编辑模式(编辑文本)
  70. dd 可以删除当前行
  71. ndd 删除多行内容
  72. yy 可以复制当前行
  73. p 粘贴
  74. /搜索内容 查找该文本中的搜索内容n查找下一个
  75. 先esc再输入下面的命令退出
  76. :wq 保存推出
  77. :wq 强制保存推出
  78. 用户/组管理命令:
  79. 简介:
  80. 一个用户可以属于多个组(分为主组[1个]和属组[多个])
  81. 每一个用户都有一个唯一标识UID(无符号整数)
  82. 每个用户至少属于一个组GID(UID/GID均为独立编号)
  83. groupadd demo 创建组(/etc/group下增加一行记录该组信息)
  84. groupadd -g 5000 demo 创建GID=5000的组demo
  85. useradd demo创建用户demo(①:/etc/passwd下增加一行记录该组信息,且自动为用户创建相应的主目录/home/demo,用户的口令同时存放于/etc/shadow文件中②:单独创建用户默认会取已存在组的最大值+1为当前新创建用户的GID)
  86. useradd -u 666 -g group1 -G group2 demo组为已存在,才可以创建。(666:UID,-g:已存在主组,-G:属组,
  87. demo:新创建用户名)
  88. userdel -r demo 删除用户demo同时删除其主目录
  89. groupdel -r demo 删除组名称为demo的组
  90. su demo 从root用户切换到demo用户
  91. passwd demo/passwd设置/修改demo的密码(如果当前处于root用户,passwd demo则指定修改demo用户密码,passwd修改当前用户)
  92. passwd -l demo 禁止用户登陆
  93. passwd -u demo 恢复用户登陆
  94. passwd -d demo 删除用户
  95. usermod -u 600 -g 600 demo修改已存在的用户demo的UID和GID
  96. id demo  显示用户的UID/GID等信息
  97. chown demo demo.txt 改变demo.txt文件的属主为demo
  98. chown -R demo demo.txt 递归改变demo.txt文件的属主为demo
  99. chgrp demo demo.txt  将demo.txt的属组改为demo
  100. chgrp -R demo demo.txt递归改变demo.txt文件的属主为demo

  101. linux中权限结构:
  102. -rw-r--r--. 1 root root 169971490 Aug 13 03:58 jdk-8u144-linux-x64.rpm
  103. 解析(linux权限按照:文件创建者,同组用户,其他用户):
  104. -:表示文件   d:表示目录
  105. rw-:文件创建者具有read+write的权限
  106. r--:同组用户具有read的权限
  107. r--:其他用户具有read的权限

  108. 介绍一下执行权限:
  109. 加入了执行权限的文件可以运行,命令或者程序这样的文件都应该加入执行权限。

  110. 修改文件权限(命令方式):
  111. chmod命令(u:针对属主,g:针对属组,o:针对其他用户,a:针对所有用户)
  112.   (r:read读权限,w:write写权限,x:execute可执行权限)
  113.   (+:增加权限,-:去掉权限,=:只有什么权限)
  114. 举例:
  115. chmod u+x demo 文件创建者u对demo文件增加可执行权限
  116. chmod g-w,o=x demo  同组用户去掉写权限,其他用户只有可执行权限

  117. 修改文件权限(数字方式):
  118. echo  "demo" 相当于java中的输出语句
  119. chmod命令(r:read读命令=4,w:write写命令=2,x:execute执行命令=1)
  120. 举例:
  121. chmod 764 文件创建者具有rwx权限,同组用户具有rw权限,其他用户具有r权限

  122. i节点(相当于java当中超链接/电脑快捷方式):
  123. i节点分为软连接(常用)和硬链接
  124. ln -s /demo/demo1/demo2 toDemo创建toDemo快捷方式代替路径/demo/demo1/demo2
  125. 查找命令:
  126. which cp 查找cp命令的位置(/bin目录下)
  127. whereis ln 查找ln命令的位置
  128. find -name demo 查找名字叫做demo的文件
  129. find -size 8 查找大小为8K的文件
  130. find /var -type d -print查找var目录下类型为目录的文件输出(-print:可省略)
  131. find . -cmin -5 查找5分钟之内修改过的文件
  132. find . -ctime -5 查找5天内修改过的文件
  133. find /demo -perm (+/-)755查找demo目录下权限为755的文件(+:符合755中任意一种权限即可,-:至少满足权限为755的文件,777也可)
  134. 文件内容操作命令:
  135. grep ‘111’ /logs/*.log查找logs文件夹下所有以.log结尾的文件中包含111字符的文件
  136. grep -v ‘111’ /logs/*.log 查找logs文件夹下所有以.log结尾的文件中不包含111字符的文件
  137. | 管道命令(左边命令|右边命令->左边命令的结果集作为右边命令的输入参数)
  138. 例如:
  139. ls -l |grep 'demo' 找到当前所有战士列表中的名字叫做demo的文件
  140. wc demo(word count)查看demo文件中行数(参数-l),单词数(参数-w),以及字符数(参数-c)
  141. sort demo 将demo文件内容以顺序输出
  142. sort -r demo 将demo文件呃逆荣以倒序输出
  143. diff demo1 demo2 比较文件demo1和demo2的不同之处输出
  144. cut -d: -f1 /etc/passwd 找到/etc/passwd文件中以:分隔的第一个字符(即查找当前所有用户名信息)
  145. 压缩和打包命令(-c:打包/创建 -v:显示处理过程 -f:用来指定文件名):
  146. tar -cvf demo.tar demo将demo文件打包成demo.tar
  147. tar -zcvf demo.tar demo将demo文件打包成demo.tar(拓展名是.gz)
  148. tar -xvf demo.tar demo 将demo文件解压成demo.tar 
  149. tar -zxvf demo.tar demo 将demo文件解压成demo.tar(拓展名是.gz)

  150. 网卡配置命令
  151. ifconfig -a 查看网卡配置情况
  152. ifconfig eth0 查看第一块网卡信息
  153. ifconfig -eth0 up **网卡
  154. ifconfig -eth0 down 禁用网卡
  155. service network restart 重新加载网络配置
  156. 软件安装方式(4种方式)
  157. rpm安装   
  158. 查询系统中所有已安装的软件
  159. rpm -qa 
  160. 查询指定的软件是否安装
  161. rpm -qa |grep jdk
  162. 查询已安装软件的安装文件列表(文件名称是全名)
  163. rpm -ql java-1.8.0-openjdk-1.8.0.141-2.b16.el6_9.x86_64
  164. ①rpm安装
  165. rpm -ivh jdk-8u101-linux-x64.rpm
  166. 强制安装(不一定会完全覆盖,可能由于版本问题,安装路径更改)
  167. rpm -ivh -forcejdk-8u101-linux-x64.rpm
  168. 忽略依赖安装
  169. rpm -ivh -nodepsjdk-8u101-linux-x64.rpm
  1. 卸载(普通用户只能执行查询操作):
  2. 先查询后卸载
  3. rpm -qa |grep jdk
  4. rpm -e jdk(软件名称)
  5. ②yum安装(基于互联网安装)
  6. yum install 软件名称
  7. 好处:必须连接外网,自动安装依赖(先将依赖工具安装,再安装目标软件)。
  8. yum下软件之前先进行yum安装加速(智能的根据下载速度会在主库和镜像中自动选择一个最快的yum库,进而提高效率)
  9. yum install yum-fastestmirror
  10. ③tar 解压缩 直接使用(二进制内容 binary code)
  11. 解压tomcat
  12. tar -zxvf apache-tomcat-7.0.69.tar.gz
  13. ④源码安装:tar 解压缩 源码编译后(二进制内容 binary code)
  14. .confiure mak make install(后面框架学习redis中会讲解到,后续会补充。)
  15. 查看进程
  16. ps -aux |grep java
  17. ps -f |grep java
  18. kill -9 进程号(杀掉进程)
  19. top(动态监测系统中进程)
  20. cpu占用率较高原因:死锁,并发
  21. 到这里基本的linux命令学习基本告一段落
  22. 构建多网卡操作
  23. 新建一块桥接网卡
  24. Linux框架学习(keep update)
  25. 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.0

  26. 3. service networkrestart

  27. 虚拟网络中建立多台计算机(clone)
  28. 1.    该宿主(母机)需要在关机的情况下,进行clone。(关机命令:halt)

    Linux框架学习(keep update)
  29. 解决clone机中eht自动增长为3,4问题
  30. rm -rf /etc/udev/rules.d/70-persistence-net.rule
  31. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  32. vi /etc/sysconfig/network-scripts/ifcfg-eth1修改ip
  33. reboot/service network restart
  34. 远程多服务之间的cp命令
  35. scp 文件名称 192.168.0.158:/root
  36. web应用系统架构