1、什么是Linux
Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。 Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
1、操作系统
人和计算机硬件沟通交流的平台。
2、常见的操作系统
1、PC
2、移动端
3、Linux的前世今生
1、红帽企业版(Linux Red Hat Enterprise Linux, RHEL )
2、Ubuntu
我们学习以centOS为例。
2、Linux应用在哪里
-
服务器
-
嵌入式单片机(树莓派)
-
就是喜欢Linux操作系统的人
3、为什么要用Linux
适用于服务器,稳定,安全,节省资源。
稳定:就是你把tomcat正常访问,运行40天的时候你看哈,linux上的tomcat还是好好的,第一天啥样 40天后还是啥样。
? 但是windows上的tomcat就不行了,你就感觉好像奄奄一息了,就很呆呆的,要死了。(你发送一个请求过来,要愣一下,然后你看那个日志啊,就坑坑的,所以部署在windows上得时候,有事没事的时候 就得重启一下。)
? 真的发生过两件事,让我特别的后怕
? 1.有一次,启完tomcat后,就用鼠标点了一下tomcat,然后就所有的请求都不好使了,谁发请求都不好使。上服务器上看,就是卡着不动,然后只能重启。后来才知道,鼠标点一下,服务器就卡在了你的这个点上面,它在等着你接下来的操作。所有的请求全在后面阻塞着.
? 2.第二次就是我眼看着服务器没了,就这么看着,就没了。就是那头发请求呢,我上了看看这个日志输出,看着看着,日志就没了,就好像从来没有过一样。从那之后 就比较抵触 Windows操作系统了。
安全:window这个操作系统,全球的黑客都研究它,linux这个操作系统 全球的黑客也都研究它,但是有什么区别吗?
? Windows系统属于微软这家公司,黑客发现漏洞攻击之后呢,先敲诈一笔,然后在告诉你解决方案,这样呢,敲诈的人就比较多,攻击的人也就比较多,但是linux 系统不一样,它不属于一个公司,属于一个组织,大家可以共同维护他,发现漏洞立即解决提交就ok了。
4、什么情况下用Linux
-
做为服务器
-
基于Linux操作系统的软件开发
-
就喜欢
5、Linux安装
1、VirtualBox安装
‘下一步’ 式安装,注意安装到那个目录下。
注意不要版本更新。
2、安装操作系统
分配内存,不要小于2G,根据实际情况自己定义
3、常见问题
1、设备虚拟化
一定要是已启用才可以按照虚拟机。
修改方法:根据自己电脑不同的型号,去设置BIOS。
例如,我的电脑是ThinkPad,我在百度搜索:ThinkPad 进入bios
2、连接不上网络
检查网络设置是否正确,选择的是否是桥接网卡,且选择的网卡对不对
3、终端连接不上
先检查ip是否正确
再检查宿主机和虚拟机是否在同一个网段下,ip地址前三个相同,代表在同一个网段下
4、报错
出现这种问题可以百度错误,百度关键字:virtualbox 80004005
4、常用工具,远程连接linux操作系统的
1、putty
是一个小巧的客户端连接工具,多用于堡垒机连接、服务器的第一次连接
2、Xshell
3、secureCRT
是一个小巧的客户端连接工具,多用于堡垒机连接、服务器的第一次连接
4、ssh-secure-shell
5、常用命令
是人向计算机发送指令的语言。
命令的格式:
命令 + [选项] + [参数]
1、ls
展示当前目录下文件的命令
1、-l
展示详细信息。还有另外一种写法:ll(字母 LL 小写)
2、-S
按照文件大小倒序展示
3、-t
按照时间倒序展示
2、cd
进入某个目录
1、cd..
进入上一层目录
2、cd .
进入当前目录,次操作很少用,但是.是重点,在执行一下可执行文件时,需要加上./XXX才可以执行。
3、cd + 路径
路径分两种,一种是相对路径,一种是绝对路径。绝对路径是以“/”开头的,相对路径直接写路径相对地址。
4、cd-
回到上一个目录
5、cd~
回到我的根目录
6、pwd
显示当前路径,不是cd的相关命令,是一个单独的命令。
3、alias
别名,可以给一个很长命令取一个简短的别名,方便执行。ll命令就是ls -l的别名。
语法:
alias 自定义的别名='命令'
alias cepp='cd /etc/ppp/peers'
删除别名:
unalias 别名
unalias cepp
4、history
展示历史执行命令,有条数限制,也可以添加查询指令。
history |grep a
会将所有历史命令中含a的都查询出来。
5、tar
解压命令,工作中经常要向服务器上传软件或文件,通常都上传tar的压缩包。
tar:解压命令
z:以gzip方式处理压缩文件,gzip就是一个算法。开源 免费的。
x:解压
v:显示详细: 显示进度条
f:文件
XXX:要解压的文件名
6、快捷键
1、Linux快捷键
ctrl+C:打断
ctrl+L:清屏
ctrl+D:退出,相当于exit
2、工具快捷键
shift+insert:粘贴
ctrl+insert:复制
7、查找ip:ip addr
8、删除文件
? 123 是非空目录,要删除123目录,使用命令是:
? rm -rf 123 (循环 不确认 删除123 非空文件夹)
6、常用软件
1、vim
一个非常强大的文本编辑器。
Vim是一个类似于Vi的高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线。
安装vim:yum -y install vim*
- 如果执行上面安装vim代码报错,总是安装失败,是因为虚拟机防火墙没关。要关闭一下防火墙。
- # 查看防火墙状态
- systemctl status firewalld.service
- # 停止防火墙服务
- systemctl stop firewalld.service
- # 启动防火墙服务
- systemctl start firewalld.service
- # 取消防火墙服务的开机自启
- systemctl disable firewalld.service
-
复制代码
-
vim XXX:vim可以读取文件,也可以创建文件,如果XXX文件存在,则打开文件,否则会创建文件。创建文件需要编辑后保存。
-
退出vim的编辑模式:ESC键
-
:q!:退出不保存
-
:wq:退出并保存,w是保存的意思,q是退出
-
i:打开已存在文件时,开启编辑模式
-
r:打开编辑模式并执行替换操作
普通模式--->刚执行完vim看见的文件内容,此时不能对文件操作
编辑模式--->在普通模式下输入i、a、A、r、R、o、O都会进入编辑模式
命令行模式--->在编辑模式下按esc键,可以执行对文件的操作命令
2、JDK
1、上传压缩包
版本:jdk-8u231-linux-x64.tar.gz
统一创建目录:/usr/local/jdk,将压缩包上传到这个目录下。拖动文件到这个目录下即可。
2、执行解压命令
- tar -zxvf jdk-8u231-linux-x64.tar.gz
复制代码
3、配置环境变量
编辑etc目录下的profile就是修改环境变量,Linux的环境变量是以文件形式存在的,profile中配置了所有的环境变量。
环境变量添加内容:
- # jdk
- JAVA_HOME=/usr/local/jdk/jdk1.8.0_231
- JRE_HOME=$JAVA_HOME/jre
- CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- PATH=$PATH:$JAVA_HOME/bin
- export PATH JAVA_HOME JRE_HOME CLASS_PATH
-
- # export是设置或修改变量。 :冒号的意思是 ‘分隔符’
复制代码
4、加载环境变量
Linux的环境变量修改后要重新加载才生效,
5、验证安装是否成功
执行下面命令验证是否成功
3、Tomcat
1、上传压缩包
版本:apache-tomcat-8.5.85.tar.gz
统一创建目录:/usr/local/tomcat,将压缩包上传到这个目录下。拖动文件到这个目录下即可。
2、执行解压命令
- tar -zxvf jdk-8u231-linux-x64.tar.gz
复制代码
3、启动tomcat
进入bin目录,执行startup.sh,注意:./不能省略,否则报找不到命令错误 ‘.’点 表示 当前路径。
4、访问tomcat首页
在宿主机用浏览器访问虚拟机ip+8080
找不到网页,此时首要原因是防火墙打开,不允许宿主机访问虚拟机。次要原因也有可能是tomcat的webapps目录下没有例子工程。
5. 到虚拟机关闭防火墙
- # 查看防火墙状态
- systemctl status firewalld.service
- # 停止防火墙服务
- systemctl stop firewalld.service
- # 启动防火墙服务
- systemctl start firewalld.service
- # 取消防火墙服务的开机自启
- systemctl disable firewalld.service
复制代码
关闭防火墙后访问成功
云服务器在使用tomcat时,需要开放要使用到的端口,每用一个端口就要开一个端口,操作如下:
sudo firewall-cmd --zone=public --add-port=9999/tcp --permanent
开放8888端口
sudo firewall-cmd --reload
重新配置防火墙
sudo firewall-cmd --zone=public --remove-port=8888/tcp --permanent
移除8888端口
firewall-cmd --list-all-zones
查看开放的端口有哪些
7、权限
ll 查看所有文件信息:
-rwxr-x---就是权限详情
Linux权限分三种:读(r)、写(w)和执行(x)
Linux下用户管理三种:超管root(拥有所有 )、用户组(一类用户归到用户组里去管理)、用户【用户绑定角色,角色绑定资源】
Linux下权限分配给用户三种分类:u(当前用户)、g(当前用户组)、o(其它用户)
例如:( 上图红格里的内容 )
version.sh文件的权限如下:
rwx:当前用户拥有三种权限
r-x:当前用户组拥有读和执行权限
---:其它用户没有任何权限
chmod是分配选项命令,有两种方式
1、第一种
chmod u/g/o +/- r/w/x 文件名
chmod:分配权限命令
u/g/o:给那种用户类型分配
+/-:+代表增加权限,-代表减少权限
r/w/x:对应三种权限
- # 给当前用户组分配写权限到XXX文件上
- chmod g + w XXX
复制代码
2、第二种
chmod 三位数字(0~7之间) 文件名
三位数字:7以下的数字转化成二进制时刚好对应了rwx的位数,0代表没有这个权限,1代表有这个权限。例如:7代表有rwx权限,0代表 没有任何权限。三位数字分别表示三种用户类型的权限。
- # 给所有的用户分配读、写和执行权限到XXX文件上
- chmod 777 XXX
-
- # 上述命令表示给当前用户,当前用户组,以及其他用户都设置了XXX文件的可读,可写,可执行的权限。
复制代码
8、Shell
Shell Script ,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
Shell可以理解成一门语言,可以写选择、循环等复杂操作,这样可以根据逻辑实现一些服务器复制的命令。
shell 可以理解为一堆命令的集合。