- 现在主要有两大主流系统: unix系统/window系统
- unix系统(不开源,适用于小型机)
- |-linux(开源,免费,适用于pc server)
- |-Android
- |-Appale OS
- 因为linux开源,很多公司都是可以获得linux源代码(文件系统,cpu,内存,IO,网络资源的管理和调集)
- linux简介:
- 基于posix(分区规范:比如/root /opt)和unix的多用户,多任务,支持多线程和多cpu的操作系统
- linux存在着许多不同的版本,均使用linux内核,可以安装在手机,平板,路由和各种计算机中。
- 服务器介绍:
- |-软件:服务器软件 tomcat
- |-硬件:计算机 高性能计算机
- |-小型机 贵 好 稳定 (适用于:银行 电信,政府)
- |-pc server 便宜不稳定 不可靠 高性能的个人电脑(x86)
- |-塔式
- |-机架式
- |-刀片式
- linux主要发行的版本:
- |-国外主要发行版本:
- red hat,SuSE,Turbo
- |-国内主要发行版本:
- 红旗,中标普华,蓝点
- 服务器使用:
- RedHat
- |-Centos是redhat的免费版本,功能大致相同,只是缺少一些系统管理工具
- SuSE
- |-OpenSuSE
-
- 安装linux:
- 在VMWare/Virtual Box中虚拟出来一个linux CentOS系统
- 查看ip命令行:
- window:ipconfig/all
- linux:ifconfig -a
-
- 配置linuxIP并使用xshell工具连接:
- linuxIP配置+虚拟机设置中的网络适配器
-
- 防火墙:
- service iptables stop (重启后默认开启)
- chkconfig iptables off (重启后不再自启动)
- 快照:(保存当前linux状态,包括环境以及安装软件)
-
-
- linux参数详解:
- -a 所有的意思
- -R 遍历当前文件夹下的子文件时使用
- -p 在创建多级文件夹的时候,若文件夹不存在则创建
-
- linux基础命令:
- ls/ll 查看当前目录下的文件
- pwd 查看当前路径(print work directory)
- cd /etc(绝对/相对路径) 切换目录
- 切换绝对路径(基于根本目录):cd /etc/sysconfig
- 切换相对路径(基于当前路径):cd ../文件名称
- cd .. 返回上一级目录
- cd / 切换到根目录
- cd ~/cd 空格 切换到家目录(基本同上)
- touch 文件名 创建空文件
- cp /etc/sysconfig /root拷贝文件/etc目录下的sysconfig到/root目录下
- cp -R /etc /root拷贝目录/etc目录下的所有文件到/root目录下
- mv /etc/sysconfig /root移动目录/etc目录下的sysconfig到/root目录下
- mv jdk1 jdk 将文件夹jdk1改名为jdk
- mkdir demo 创建demo的文件夹
- rmdir demo删除demo的空文件夹
- rm -rf demo递归删除demo的目录
- cat demo查看demo文件内容
- more demo查看demo文件内容(按空格翻屏,按回车翻一行)
- less demo查看demo文件内容(pageup向前翻屏,pagedown向后翻屏)
- head demo查看demo文件内容头10行
- head -n 20 demo查看demo文件内容头20行
- tail -n 30 demo查看demo文件内容后30行
- vi文本编辑器
- vi 路径+文件名称
- vi编辑器的两种模式:命令模式(输入命令)和编辑模式(编辑文本)
- dd 可以删除当前行
- ndd 删除多行内容
- yy 可以复制当前行
- p 粘贴
- /搜索内容 查找该文本中的搜索内容n查找下一个
- 先esc再输入下面的命令退出
- :wq 保存推出
- :wq 强制保存推出
- 用户/组管理命令:
- 简介:
- 一个用户可以属于多个组(分为主组[1个]和属组[多个])
- 每一个用户都有一个唯一标识UID(无符号整数)
- 每个用户至少属于一个组GID(UID/GID均为独立编号)
- groupadd demo 创建组(/etc/group下增加一行记录该组信息)
- groupadd -g 5000 demo 创建GID=5000的组demo
- useradd demo创建用户demo(①:/etc/passwd下增加一行记录该组信息,且自动为用户创建相应的主目录/home/demo,用户的口令同时存放于/etc/shadow文件中②:单独创建用户默认会取已存在组的最大值+1为当前新创建用户的GID)
- useradd -u 666 -g group1 -G group2 demo组为已存在,才可以创建。(666:UID,-g:已存在主组,-G:属组,
- demo:新创建用户名)
- userdel -r demo 删除用户demo同时删除其主目录
- groupdel -r demo 删除组名称为demo的组
- su demo 从root用户切换到demo用户
- passwd demo/passwd设置/修改demo的密码(如果当前处于root用户,passwd demo则指定修改demo用户密码,passwd修改当前用户)
- passwd -l demo 禁止用户登陆
- passwd -u demo 恢复用户登陆
- passwd -d demo 删除用户
- usermod -u 600 -g 600 demo修改已存在的用户demo的UID和GID
- id demo 显示用户的UID/GID等信息
- chown demo demo.txt 改变demo.txt文件的属主为demo
- chown -R demo demo.txt 递归改变demo.txt文件的属主为demo
- chgrp demo demo.txt 将demo.txt的属组改为demo
- chgrp -R demo demo.txt递归改变demo.txt文件的属主为demo
-
- linux中权限结构:
- -rw-r--r--. 1 root root 169971490 Aug 13 03:58 jdk-8u144-linux-x64.rpm
- 解析(linux权限按照:文件创建者,同组用户,其他用户):
- -:表示文件 d:表示目录
- rw-:文件创建者具有read+write的权限
- r--:同组用户具有read的权限
- r--:其他用户具有read的权限
-
- 介绍一下执行权限:
- 加入了执行权限的文件可以运行,命令或者程序这样的文件都应该加入执行权限。
-
- 修改文件权限(命令方式):
- chmod命令(u:针对属主,g:针对属组,o:针对其他用户,a:针对所有用户)
- (r:read读权限,w:write写权限,x:execute可执行权限)
- (+:增加权限,-:去掉权限,=:只有什么权限)
- 举例:
- chmod u+x demo 文件创建者u对demo文件增加可执行权限
- chmod g-w,o=x demo 同组用户去掉写权限,其他用户只有可执行权限
-
- 修改文件权限(数字方式):
- echo "demo" 相当于java中的输出语句
- chmod命令(r:read读命令=4,w:write写命令=2,x:execute执行命令=1)
- 举例:
- chmod 764 文件创建者具有rwx权限,同组用户具有rw权限,其他用户具有r权限
-
- i节点(相当于java当中超链接/电脑快捷方式):
- i节点分为软连接(常用)和硬链接
- ln -s /demo/demo1/demo2 toDemo创建toDemo快捷方式代替路径/demo/demo1/demo2
- 查找命令:
- which cp 查找cp命令的位置(/bin目录下)
- whereis ln 查找ln命令的位置
- find -name demo 查找名字叫做demo的文件
- find -size 8 查找大小为8K的文件
- find /var -type d -print查找var目录下类型为目录的文件输出(-print:可省略)
- find . -cmin -5 查找5分钟之内修改过的文件
- find . -ctime -5 查找5天内修改过的文件
- find /demo -perm (+/-)755查找demo目录下权限为755的文件(+:符合755中任意一种权限即可,-:至少满足权限为755的文件,777也可)
- 文件内容操作命令:
- grep ‘111’ /logs/*.log查找logs文件夹下所有以.log结尾的文件中包含111字符的文件
- grep -v ‘111’ /logs/*.log 查找logs文件夹下所有以.log结尾的文件中不包含111字符的文件
- | 管道命令(左边命令|右边命令->左边命令的结果集作为右边命令的输入参数)
- 例如:
- ls -l |grep 'demo' 找到当前所有战士列表中的名字叫做demo的文件
- wc demo(word count)查看demo文件中行数(参数-l),单词数(参数-w),以及字符数(参数-c)
- sort demo 将demo文件内容以顺序输出
- sort -r demo 将demo文件呃逆荣以倒序输出
- diff demo1 demo2 比较文件demo1和demo2的不同之处输出
- cut -d: -f1 /etc/passwd 找到/etc/passwd文件中以:分隔的第一个字符(即查找当前所有用户名信息)
- 压缩和打包命令(-c:打包/创建 -v:显示处理过程 -f:用来指定文件名):
- tar -cvf demo.tar demo将demo文件打包成demo.tar
- tar -zcvf demo.tar demo将demo文件打包成demo.tar(拓展名是.gz)
- tar -xvf demo.tar demo 将demo文件解压成demo.tar
- tar -zxvf demo.tar demo 将demo文件解压成demo.tar(拓展名是.gz)
-
- 网卡配置命令
- ifconfig -a 查看网卡配置情况
- ifconfig eth0 查看第一块网卡信息
- ifconfig -eth0 up 激活网卡
- ifconfig -eth0 down 禁用网卡
- service network restart 重新加载网络配置
- 软件安装方式(4种方式)
- rpm安装
- 查询系统中所有已安装的软件
- rpm -qa
- 查询指定的软件是否安装
- rpm -qa |grep jdk
- 查询已安装软件的安装文件列表(文件名称是全名)
- rpm -ql java-1.8.0-openjdk-1.8.0.141-2.b16.el6_9.x86_64
- ①rpm安装
- rpm -ivh jdk-8u101-linux-x64.rpm
- 强制安装(不一定会完全覆盖,可能由于版本问题,安装路径更改)
- rpm -ivh -forcejdk-8u101-linux-x64.rpm
- 忽略依赖安装
- rpm -ivh -nodepsjdk-8u101-linux-x64.rpm
- 卸载(普通用户只能执行查询操作):
- 先查询后卸载
- rpm -qa |grep jdk
- rpm -e jdk(软件名称)
- ②yum安装(基于互联网安装)
- yum install 软件名称
- 好处:必须连接外网,自动安装依赖(先将依赖工具安装,再安装目标软件)。
- yum下软件之前先进行yum安装加速(智能的根据下载速度会在主库和镜像中自动选择一个最快的yum库,进而提高效率)
- yum install yum-fastestmirror
- ③tar 解压缩 直接使用(二进制内容 binary code)
- 解压tomcat
- tar -zxvf apache-tomcat-7.0.69.tar.gz
- ④源码安装:tar 解压缩 源码编译后(二进制内容 binary code)
- .confiure mak make install(后面框架学习redis中会讲解到,后续会补充。)
- 查看进程
- ps -aux |grep java
- ps -f |grep java
- kill -9 进程号(杀掉进程)
- top(动态监测系统中进程)
- cpu占用率较高原因:死锁,并发
- 到这里基本的linux命令学习基本告一段落
- 构建多网卡操作
- 新建一块桥接网卡
-
-
1. 编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth1(外网)
DEVICE=eth1TYPE=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=eth1TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.8
NETMASK=255.255.255.0
-
3. service networkrestart
- 虚拟网络中建立多台计算机(clone)
-
1. 该宿主(母机)需要在关机的情况下,进行clone。(关机命令:halt)
- 解决clone机中eht自动增长为3,4问题
- rm -rf /etc/udev/rules.d/70-persistence-net.rule
- vi /etc/sysconfig/network-scripts/ifcfg-eth0
- vi /etc/sysconfig/network-scripts/ifcfg-eth1修改ip
- reboot/service network restart
- 远程多服务之间的cp命令
- scp 文件名称 192.168.0.158:/root
- web应用系统架构
-