Linux简介
一种开源的,免费的操作系统,安装在计算机硬件上,用来管理计算机的硬件和软件资源的系统软件。
优点:Linux注重安全性,稳定性,高并发处理能力强。
缺点:没有优异的可视化界面。
window:有可视化界面,用于个人计算机。
Linux:用于企业服务器。
Linux的发行版本:
1991年1.0,后来很多软件开发组织,以及大型的软件公司在内核程序基础之上陆续推出很多不同的版本的Linux操作系统:Ubuntu(乌班图),ReadHat(红帽),CentOS,Debain(碟变),Fendora,SuSE,OPenSUSE,红旗Linux(国产)
安装Linux操作系统
虚拟机:可以软件模拟出一套具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。
安装虚拟机:
Linux的目录结构
1)Linux只有一个根目录。/
根目录下的子目录:
1)root:该目录为系统管理员的目录,root是具有超级权限的用户
***2)bin->usr/bin:存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行
3)usr 是Linux的系统资源目录,里面存放的都是一些系统可执行文件或者系统以来的一些文件库。
***4)usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
5)lib->usr/lib:这个目录存放着系统最基本的动态连接共享库,其作用类似于Window里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
6)boot:这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
7)dev :dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备。Linux中的设备也是以文件的形式存在。
**8)etc:这个目录存放所有的系统管理所需要的配置文件。
**9)home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫做用户的根目录:用户登录以后,默认打开自己的根目录。
10)var:这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
11)mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
*** 12)opt:这是给Linux额外安装软件所存放的目录,比如你要安装一个Oracle数据库就可以放到这个目录下,默认为空。相当于windows系统中的Program files目录。
13)tmp:这个目录是用来存放一些临时文件的。
Linux远程操作:
1)xshell :Linux终端模拟软件。
安装并破解:解压,破解(先卸载在绿化【两个bat文件】)
连接远程linux系统:创建会话
2)Xftp:
Linux的vi和vim
vi和vim都是Linux提供的软件服务(就是编辑器【Windows中的记事本】)Linux系统中的文本编辑器,这种编辑器用来在Linux系统中的查看或者编辑文本文件。
vim是vi的增强版,vi的大多数用法在vim上都适用。
vi和vim编辑器使用:
创建目录:mkdir 创建文本文件 vi/vim test(创建一个名字叫test的文件)
vi和vim的三种模式:
一般模式:用vi/vim 命令打开文件(vim test):可以查看内容,并且能通过上下左右键来移动光标来查看文件的某一部分,但是不能编辑文件的内容。
编辑模式:在一般模式下按,按i或者小a键或者按A键或者I键,进入编辑模式;可以编辑文件内容但是不能保存编辑的内容,也不会自动保存内容,按esc回到一般模式
命令模式:在一般模式下,按shift+:,进入命令模式,输入命令,q!-----表示不保存强制退出编辑器
wq-------保存并且退出编辑器 q----------只是退出编辑器
vi和vim编辑器快捷键
1)复制当前行:在一般模式下,按yy,把光标所在的行复制到剪切板,按p,把剪切板中的内容粘贴到光标所在的下一行。
2)复制当前行往下5行:在一般模式下,先按5 再按yy,把光标所在行下5行复制到剪切板,按p,把剪切板中的内容粘贴到光标所在的下一行。
3)在文本文件中查找或者搜索关键字:在命令行模式下输入/关键字,回车就能找到关键字,按n表示查找下一个关键字
4)删除光标所在的当前行:在一般模式下,按dd,删除光标所在行
5)删除光标所在的行下的5行:在一般模式下,按5 再按dd
6)撤销上传编辑的内容,在一般模式下,按u
7)显示行号:命令模式下,设置文件的行号,取消文件行号【命令行下(:set nu)和(:set nonu)】
Linux用户管理
任何使用Linux系统的用户,必须使用一个合法的账号和密码;账号和密码一般都是向管理员申请。
root是Linux系统安装时默认创建的系统管理员账号,由root创建普通的账号。
添加用户
useradd [选项] 用户名
useradd lisi
创建一个用户lisi
在/home目录下创建用的根目录,目录名称默认根用户名相同
在Linux中的任何一个用户都至少属于一个组,新建用户时如果不指定组,则会创建一个新组,组名跟用户名相同,并且将用户添加到该组中
useradd -d/home/ww wangwu 创建用户的同时,指定用户的根目录
给用户设置密码
passwd lisi
删除用户
userdel 用户名
userdel -r lisi 删除用户的同时删除主目录
查看用户信息
id 用户名
切换用户
su 用户名
从权限高的用户切换到权限低的用户,不需要密码
从权限低的用户到权限高的用户,必须用密码验证
Linux中的组管理
Linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;每个用户至少属于一个组,不能独立于组存在,也可以属于多个组;新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。
创建组
groupadd 组名
groupadd dev
删除组
groupdel 组名
把用户添加到组中
gpasswd -a 用户名 组名
把用户移除组
gpasswd -d 用户名 组名
添加用户时,指定所属的组(主组):useradd -g 组名 用户名
useradd -g dev lisi
Linux中的帮助命令
1) 用来查看Linux系统手册上的帮助信息:man 命令
ls例如 man ls分屏显示,按回车翻一行,按空格翻一页,按q退出查看
2)help 用来查看命令的内置信息
Linux中的文件和目录操作的命令
切换目录
1)查看当前所在目录:pwd
2)查看指定目录下的所有子目录或者文件列表:ls [指定目录]
ls /home 查看home目录下的子目录和文件
ls查看当前目录的所有文件和子目录
ls -l/home: 以列表的形式显示
ls -a/home :列出home目录下所有的子目录和文件(包括虚拟目录)
3)切换目录 cd 目录名
->绝对目录:以盘符开始的目录叫绝对目录,从盘符开始查找目标目录
cd /opt/test
->相对目录:以目录名开始的目录叫相对目录,从当前目录开始查找目标目录
cd test
在任何目录下执行cd ~,进入当前用户的根目录
…:当前目录的上一级,从当前目录出发开始查找他的上一级
创建目录
mkdir 目录名
|->绝对目录
|->相对目录
mkdir //在opt/test目录下创建一个目录test1
mkdir /opt/test/test1(绝对目录)
一次创建多级目录
mkdir -p/opt/test/test3/test4
删除目录 rmdir 目录名
rmdir test1
创建文件
touch创建一个空文件(可以创建多个文件)
touch 文件名
touch 文件名列表(文件名用空格隔开)
touch t1.txt创建一个名为t1的文件
touch t1.txt t2.txt t3.txt创建多个
复制文件
cp source(源) dest(目标)
cp t1.txt test2 将t1.txt复制到目录test2中
cp -r test2 test5 将test2复制到test5中(不管有没有东西)
删除文件或者目录
rm 文件名或者目录名
rm t1.txt提示删除目录
rm -f t2.txt 强制删除文件
rm -r test2 提示递归的删除目录
rm -rf test2 提示强制递归的删除目录
移动目录或者文件(剪切)
mv source(源) dest(目标)
mv test.txt test1
mv t1.txt t2.txt 文件重命名
cat命令
使用权限:所有用户(即root帐号和所有普通帐号)
使用方法:cat [参数] 文件名
说明:
cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名,如cat linuxyw.txt
more指令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
less指令
ess命令 与 more命令 非常类似,但less命令 可以更加随意地浏览文件,而且 less 在查看之前不会加载整个文件。
相比较于more命令,很多人更喜欢使用 less命令。
less命令非常强大,在此只介绍几个常用的参数,更多参数使用man less来查看Linux帮助手册。
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
head指令和tail指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
**1.**命令格式:
head [参数]… [文件]…
**2.**命令功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
**3.**命令参数:
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数
使用实例:
实例1:显示文件的前n行
命令:
head -n 5 log2014.log
输出:
[root@localhost test]# cat log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
==============================
[root@localhost test]# head -n 5 log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05[root@localhost test]#
echo指令
echo:输出系统变量或者常量的值到命令行终端
echo $PATH
echo $JAVA_HOME
指令>
向指定文件中填写前一个命令的输出结果:查看命令
指令 》文件名 把前一个命令的查看结果输出到指定的文件中
ls > ret.txt 将ls的结果输出到ret.txt中 如果目标文件不存在则新建一个,如果已经存在则会覆盖以前的文件
ls -al 当前目录下所有的
ls -al >ret.txt
cat ret.txt >t3.txt 文件内容的复制
Linux中关于日期和时间的操作命令
1)查看或者设置系统的日期或者时间:date
date 查看系统当前的完整的日期和时间
date +%Y 系统当前的年份
date +%m 系统当前的月份
date +%d 系统当前的日期
date '+%Y-%m-%d %H:%M:%S’按yyyy-MM-dd HH:mm:ss格式显示
date -s ‘2020-10-20 10:20:30’ 设置当前的系统时间
2)查看当前月份的日历
cal :查看当前月份的日历
cal 2020:查看指定年份的日历
Linux中关于搜索文件或者目录的命令:find关键字
1)find 【搜索范围】 【搜索标准】 关键字
-》name:默认名称
-》size:按文件大小搜索
-》user:按文件的所有者搜索
find *.txt 搜索当前目录下,所有的txt文件
find *e * 搜索当前目录下,所有名称中包含e的那些文件或者目录
find /etc *.txt 搜索etc目录下所有的.txt文件
find /etc -size -5k 搜索/etc目录下所有小于5k的文件
find /etc -user zhangsan 搜索etc下所有者是zhangsan
2)locate :在整颗目录树中搜索文件或者目录,都是根据名称搜索,效率高(搜索数据不及时,不能及时反映真实的数据)
updatedb(同步数据)
locate 关键字
updatedb
locate *.txt
3)搜索过滤命令,在前一个搜索命令的结果中进行按名称进一步过滤:搜索命令|grep过滤条件
查看命令|grep 过滤条件
find * .txt |grep new 搜索当前目录下,所有名称包含new的 .txt文件
find /etc -size -5k |grep firefox
cat t1.txt |grep beijing t1.txt中包含beijing
ls -al |grep new
Linux中有关压缩和解压命令
1)压缩或者解压单个文件:
gzip:压缩单个文件,自动生成一个扩展名为 .gz的压缩包,并且把原文件删除
gzip 文件名
gunzip 解压单个文件
gunzip .gz压缩包名,解压后并且把原文件删除
2)压缩(打包)或者解压多个文件和目录:不是自动生成 .gz(可以选择压缩类型)
zip压缩(打包) unzip解压
zip 文件或者目录名称列出来 目标压缩包名称(zip【推荐】通常使用 .zip .gz也可以)
不会把以前的文件删除
unzip 压缩包名.zip 将指定的 .zip的压缩包解压到当前目录
unzip 压缩包名.zip -d 解压目录 将文件解压到指定目录
3)压缩或者打包,或者解压多个文件和目录
tar [选项] 目标压缩包名称(xxx.tar.gz) 文件或者目录列表
选项有:c:打包压缩 x:解压
tar [选项] 压缩包名称(xxx.tar.gz) 默认将指定的.tar.gz压缩包解压到当前目录
tar [选项] 压缩包名称(xxx.tar.gz)-C 解压目录 将指定的.tar.gz压缩包解压到指定目录
zxvf
Linux文件与组管理
在Linux中吗,每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组
在Linux中每一个文件或者目录也必须并且只属于一个组,
文件或者目录通过组来控制那些用户可以对它进行那些操作,即文件或者目录的访问权限。
在文件或者目录看来,Linux系统中所有的用户分为三类:
所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
同组用户:跟文件或者目录属于同一个组的用户,
其他组用户:即不是文件或者目录的所有者,也不是同组。
修改文件的所有者
chown 新的所有者 文件名
chown MRR 文件一 将文件一的所有者改为MRR
chown 新的所有者:新的组 文件名
chown MRR :dev 文件一 将文件一的所有者改为MRR组改为dev
chown -R MRR :dev 文件一 递归修改目录的所有者和所在的组
修改文件或者目录所在的组
chgrp 新的组 文件名或者目录名
chgrp dev t2.txt 将t2.txt的组改为 dev
Linux中文件或者目录的权限管理
1)准备工作:
一个用户至少属于一个组,也可以属于多个组
一个文件或者目录也必须属于一个,并且只属于一个组
在一个文件或者目录看来,Linux系统中所有的用户可以分为三类:
所有者:
同组用户:
其他组用户:
2)Linux中文件或者目录的三种权限
在Linux中,任何文件或者目录都有三种权限:
读(Read) t1.txt
写(Write)
执行(Execute)
对于文件而言:
读:可以读取或者查看文件的内容,比如 cat more less head tail
写:可以修改文件的内容,比如vi/vim等
执行:如果该文件是可执行文件(.sh)可以直接运行,比如:./xxx.sh。
对于目录而言:
读:可以读取,查看目录下边的内容,比如 ls等。
写:可以修改目录中的内容,创建子目录,删除子目录,创建文件,删除文件,重命名文件或者目录。
执行:可以进入该目录 如:cd
文件或者目录的权限控制
Linux中,任何一个文件或者目录都有三部分权限:所有者权限 同组用户权限 其他组用户权限
第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限,使用 r w x分别表示 读 写 执行
比如: rwx拥有读写执行的权限 r x 拥有读和执行的权限 w–只拥有写的权限 -----:没有任何权限
第二部分权限 表示同组用户权限,文件或者目录的同组用户对该文件所拥有的权限,使用 r w x
第三部分 表示其他组用户权限
查看文件目录的权限 ls -l
ls -aul
修改文件或者目录的权限
chmod
r w x 分别表示读 写 执行
用 u g o a 分别表示 所有者 同组用户 其他组用户 所有用户修改权限
用+ - 和= 分别表示给指定 的用户增加 减少 设置对应的权限
chmod g-w,o+w t5.txt 将t5.txt文件的同组用户减去写权限 其他组 增加一个写权限
chmod g=rwx t5.txt
chmod a-r t5.txt
使用数字的方式修改文件或者目录的权限:
每一个权限都可以用一个数字来表示:
r w x
4 2 1
每一个文件或者目录都有三部分权限
rw- r-x r-x
6 5 5(有规律)
chmod 777 t5.txt
Linux网络配置
在Linux的配置文件中配置
vim /etc/sysconfig/network-scripts
BOOTPROTO=“static”
ONBOOT=“yes”
IPADDR=192.168.11.128
GATEWAY=192.168.11.2
DNS=192.168.11.2
重启Linux系统(重启网络服务):reboot
Linux中的进程管理
线程:一个程序的执行线路
进程:一个程序的执行
一个进程会占用一个端口
查看正在运行的进程:ps
ps //只会显示应用进程(用户的)
ps -e//显示所有进程包括系统的
ps -ef //以全格式的形式显示所有进程
//用于查看Linux系统中某一项软件或者应用是否处于启用状态
ps -ef |grep firewalld
Linux中服务管理
服务的介绍:服务是支持Linux系统运行的一些必要的程序,本质上也是进程,叫做守护进程。守护进程通常默默地运行在后台,为应用程序提供必要的支撑,比如sshd,防火墙等
操作服务:systemctl 【start开启,stop 停止,restart重启,reload,status查看,enable开机启动】服务名称
systemctl status firewalld查看防火墙状态
systemctl stop firewalld关闭防火墙
systemctl start firewalld重启防火墙
systemctl enable firewalld 开机启动防火墙
以前版本使用的是service 而不是systemctl
Linux软件包的管理
主要是软件的安装包
RPM包的管理
RPM:是一种Linux的软件包的打包和安装工具,它操作的软件包都是.rpm结尾。
使用RPM :rpm 使用这个命令可以打包并且安装
查看当前系统中已经安装的rpm软件包:rpm -qa
卸载rpm软件包:rpm -e firefox
安装rpm包:rpm -ivh firefox.rpm
cp xxxx.rpm /opt拷贝到opt目录下
YUM包的管理
是一种基于RPM的软件包管理的工具,它有自己的服务器能够从指定的服务器上自动的下载RPM包并且自动安装,而且可以自动处理软件包之间的依赖关系
查看当前系统已经安装的RPM包:yum list installed |grep firefox
卸载rpm包:yum remove 名字
安装rpm包:yum install firefox
安装jdk
第一步将jdk的tar.gz包发送到 opt中
解压压缩包
tar -zxvf 包名
第二步配置环境变量
在etc目录下的profile中
vim /etc/profile
路径需要进入解压后的文件用pwd查看
JAVA_HOME=/opt/jdk1.8.0_301
PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
CLASSPATH=$JAVA_HOME/lib:.
export JAVA_HOME PATH CLASSPATH
第三步重新加载配置文件
source profile
安装Tomcat
发送压缩包
解压压缩包
进入bin
运行tomcat
指令:./startup.sh
要想其他能访问需要关闭防火墙
systemctl stop firewalld
安装mysql
部署项目到阿里云服务器
第一步导出sql
第二步放入阿里云中的mysql中
第三步将项目用IDEA导成war包(Build Artifact 会在target生成war包 选中war右键选择show in Explorer)
放入webapp中的boot
访问时 http://IP地址 .war包名称