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、操作系统
人和计算机硬件沟通交流的平台。
1.1、常见的操作系统
(1)PC
-
windows
-
MacOS
-
Linux
(2)移动端
-
Android
-
IOS
-
鸿蒙
-
塞班
1.2、Linux的前世今生
(1)红帽企业版(Linux Red Hat Enterprise Linux, RHEL )
(2)Ubuntu
(3) 社区企业操作系统(Community Enterprise Operating System, CentOS )
我们学习以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安装
5.1、VirtualBox安装
下一步式安装,注意安装到那个目录下。
注意不要版本更新。
5.2、安装操作系统
分配内存,不要小于2G,根据实际情况自己定义
5.3、常见问题
(1)设备虚拟化
一定要是已启用才可以按照虚拟机。
修改方法:根据自己电脑不同的型号,去设置BIOS。
例如,我的电脑是ThinkPad,我在百度搜索:ThinkPad 进入bios
(2)连接不上网络
检查网络设置是否正确,选择的是否是桥接网卡,且选择的网卡对不对
(3)终端连接不上
先检查ip是否正确
再检查宿主机和虚拟机是否在同一个网段下,ip地址前三个相同,代表在同一个网段下
(4)报错
出现这种问题可以百度错误,百度关键字:virtualbox 80004005
5.4、常用工具,远程连接linux操作系统的
(1)putty
是一个小巧的客户端连接工具,多用于堡垒机连接、服务器的第一次连接
(2)Xshell
(3)secureCRT
是一个小巧的客户端连接工具,多用于堡垒机连接、服务器的第一次连接
(4)ssh-secure-shell
5.5、常用命令
是人向计算机发送指令的语言。
命令的格式:
命令 + [选项] + [参数]
5.5.1、ls
展示当前目录下文件的命令
(1)-l
展示详细信息。还有另外一种写法:ll(字母 LL 小写)
(2)-S
按照文件大小倒序展示
(3)-t
按照时间倒序展示
5.5.2、cd
进入某个目录
(1)cd..
进入上一层目录
(2)cd .
进入当前目录,次操作很少用,但是.是重点,在执行一下可执行文件时,需要加上./XXX才可以执行。
(3)cd + 路径
路径分两种,一种是相对路径,一种是绝对路径。绝对路径是以“/”开头的,相对路径直接写路径相对地址。
(4)cd-
回到上一个目录
(5)cd~
回到我的根目录
(6)pwd
显示当前路径,不是cd的相关命令,是一个单独的命令。
5.5.3、alias
别名,可以给一个很长命令取一个简短的别名,方便执行。ll命令就是ls -l的别名。
语法:
alias 自定义的别名='命令'
alias cepp='cd /etc/ppp/peers'
删除别名:
unalias 别名
unalias cepp
5.5.4、history
展示历史执行命令,有条数限制,也可以添加查询指令。
history |grep a
会将所有历史命令中含a的都查询出来。
5.5.5、tar
解压命令,工作中经常要向服务器上传软件或文件,通常都上传tar的压缩包。
tar -zxvf XXX
tar:解压命令
z:以gzip方式处理压缩文件,gzip就是一个算法。开源 免费的。
x:解压
v:显示详细: 显示进度条
f:文件
XXX:要解压的文件名
5.5.6、快捷键
(1)Linux快捷键
ctrl+C:打断
ctrl+L:清屏
ctrl+D:退出,相当于exit
(2)工具快捷键
shift+insert:粘贴
ctrl+insert:复制
5.5.7、查找ip:ip addr
5.5.8、删除文件
123 是非空目录,要删除123目录,使用命令是:
rm -rf 123 (循环 不确认 删除123 非空文件夹)
6、常用软件
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 XXX:vim可以读取文件,也可以创建文件,如果XXX文件存在,则打开文件,否则会创建文件。创建文件需要编辑后保存。
-
退出vim的编辑模式:ESC键
-
:q!:退出不保存
-
:wq:退出并保存,w是保存的意思,q是退出
-
i:打开已存在文件时,开启编辑模式
-
r:打开编辑模式并执行替换操作
普通模式,刚执行完vim看见的文件内容,此时不能对文件操作
编辑模式,在普通模式下输入i、a、A、r、R、o、O都会进入编辑模式
命令行模式,在编辑模式下按esc键,可以执行对文件的操作命令
6.2、JDK
(1)上传压缩包
统一创建目录:/usr/local/jdk,将压缩包上传到这个目录下。拖动文件到这个目录下即可。
(2)执行解压命令
tar -zxvf jdk-8u231-linux-x64.tar.gz
(3)配置环境变量
vim /etc/profile
编辑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
(4)加载环境变量
source /etc/profile
Linux的环境变量修改后要重新加载才生效
(5)验证安装是否成功
执行下面命令验证是否成功
javac -version
6.3、Tomcat
(1)上传压缩包
统一创建目录:/usr/local/tomcat,将压缩包上传到这个目录下。拖动文件到这个目录下即可。
(2)执行解压命令
tar -zxvf jdk-8u231-linux-x64.tar.gz
(3)启动tomcat
进入bin目录,执行startup.sh,注意:./不能省略,否则报找不到命令错误
./startup.sh
(4)访问tomcat首页
在宿主机用浏览器访问虚拟机ip+8080
找不到网页,此时首要原因是防火墙打开,不允许宿主机访问虚拟机。次要原因也有可能是tomcat的webapps目录下没有例子工程。
到虚拟机关闭防火墙
# 查看防火墙状态
systemctl status firewalld.service
# 停止防火墙服务
systemctl stop firewalld.service
# 启动防火墙服务
systemctl start firewalld.service
# 取消防火墙服务的开机自启systemctl disable firewalld.service
关闭防火墙后访问成功
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
8、Shell
Shell Script ,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
Shell可以理解成一门语言,可以写选择、循环等复杂操作,这样可以根据逻辑实现一些服务器复制的命令。
shell 可以理解为一堆命令的集合。