写在前面
Linux是一套免费试用和自由传播的操作系统
1.为什么要学Linux?
企业用人要求
个人发展要求
2.学完能干啥?
环境搭建:Linux安装,远程连接…
常用命令:文件、目录拷贝…
安装软件:文件上传,jdk,tomcat..
项目部署:java应用,日志查看,系统管理…
linux是一个免费的,开源的操作系统
桌面操作系统:Windows,Mac OS, Linux
服务器操作系统:UNIX(安全稳定但付费),Linux(安全免费稳定占有率高),Windows Server(付费占有率低)
移动设备操作系统:Android(基于Linux,开源),iOS(苹果公司开发不开源,用于苹果产品)
嵌入式操作系统:Linux(机顶盒)<img alt="">
1991年 C语言,汇编原因
特点是:免费,开源,多用户
内核版和发行版
内核版:免费,开源,免费控制硬件
发行版:linux就时一个内核,基于内核版进行扩展,有收费版本和免费版本
一般都是下载发行版,CentOS:RedHat的社区办,免费
物理机安装:直接将操作系统安装到服务器硬件上
虚拟机安装:通过虚拟机软件安装
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能,运行在完全隔离环境中的完整计算机系统
常用虚拟机软件:VMWare,
https://www.vmware.com/cn.html
安装centos7
http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
用户
root root(主用户)
lmeng lmenglinux
tom tom
先下载虚拟机vmware,下载centos镜像,再配置CentOS镜像
由于启动服务器时未加载网卡,导致IP地址初始化失败
修改网络初始化配置,设定网卡在系统启动时初始化
<img alt="image-20230420231751120">
关于下载配置好Linux在本机与虚拟机之间“ping”不同的原因:
http://t.csdn.cn/nppCJ http://t.csdn.cn/bkd1O http://t.csdn.cn/sr5iw
网卡驱动问题修复:windows仍在设置此设备的类配置**(****代码:**56)
https://www.cnblogs.com/lab-zj/p/16554032.html
关于网络适配器中Windows仍在设置此设备的类配置。(代码56)问题的解决
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 直接拷贝虚拟机文件
- 克隆虚拟机(克隆的虚拟机必须处于关机状态)
像是存档,可以恢复到之前的快照正常状态;
<img alt="image-20230420231805257" style="zoom:50%;"><img alt="image-20230420231836255">远程登录,因为公司开发的具体场景是这样的
SSH(Secure Shell),建立在应用层基础上的安全协议
常用的SSH连接工具:putty,secureXRT,xshell,finalshell
https://www.xshell.com/zh/
FinalShell地址:(本人使用FinalShell)
Windows版下载地址:
http://www.hostbuf.com/downloads/finalshell_install.exe
Mac版,Linux版安装及教程:
http://www.hostbuf.com/t/1059.html
更新日志:
http://www.hostbuf.com/t/989.html
SSH工具/客户端
http://www.hostbuf.com/?install_fs<img alt="image-20230420231826486">
FinalShell的优点:
<img alt="image-20230420231852538" style="zoom:80%;">Linux目录:/是所有目录的顶点;目录结构像一颗倒挂的树
Windows目录
在Linux世界里,一切皆文件
<img alt="image-20230420231903371" style="zoom:80%;">网卡驱动问题修复:windows仍在设置此设备的类配置**(****代码:**56)
https://www.cnblogs.com/lab-zj/p/16554032.html
关于网络适配器中Windows仍在设置此设备的类配置。(代码56)问题的解决
https://blog.csdn.net/silhouette_233/article/details/102669248?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22102669248%22%2C%22source%22%3A%22lillanm%22%7D
网卡驱动问题修复:windows仍在设置此设备的类配置**(****代码:**56)
https://www.cnblogs.com/lab-zj/p/16554032.html
关于网络适配器中Windows仍在设置此设备的类配置。(代码56)问题的解决
https://blog.csdn.net/silhouette_233/article/details/102669248?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22102669248%22%2C%22source%22%3A%22lillanm%22%7D
finalshell特性
/bin目录 存放常用命令
/sbin目录 系统管理员使用的系统管理程序
/home目录 存放普通用户的主目录
/root目录 系统管理员的主目录
/boot目录 存放启动linux使用的核心文件,连接文件,镜像文件
/dev目录 类似于设备管理器,把所有硬件用文件的形式存储
/bin目录 存放常用命令
/sbin目录 系统管理员使用的系统管理程序
/home目录 存放普通用户的主目录
/root目录 系统管理员的主目录
/boot目录 存放启动linux使用的核心文件,连接文件,镜像文件
/dev目录 类似于设备管理器,把所有硬件用文件的形式存储
登录有关操作:
shutdown -h now ---立刻进行关机
shutdown -h 1 ---一分钟后关机
shutdown -r now ---重启计算机
halt ---关机
reboot ---现在重启计算机
sync ---把内存的数据同步到磁盘
注意:在关机或重启前要运行sync命令
编辑文件vim操作:
编辑文件时,输入G可跳到最后一行
输入gg可跳到第一行
撤销上一步操作Esc+u
反撤销Ctrl+R
Esc+: 输入20 enter可跳到20行
Esc+ 输入20 gg可跳到20行
Esc+ 输入20+shift g可跳到20行
用户管理相关命令(root用户,在/home目录下)
useradd tom 新增tom用户
passwd tom 给tom修改登录密码
userdel tom 删除tom用户
userdel -r tom 删除tom用户以及用户主目录(慎重)
su - tom 切换到tom用户登录
groupadd user 添加组user
usermod -g user tom 将tom用户加入user组
Cd - 返回上一次目录
修改Linux编码:
echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile
**Linux****命令格式:**command [-options] [parameter]
Command:命令名
[-options]:选项,可用来对命令进行控制,也可以省略
[parameter]:传给命令的参数,可以是零个,一个或多个
注意:[]代表可选,命令名、选项、参数之间有空格进行分隔
tab键自动补全
连续两次tab键,给出操作提示
使用上下箭头快速调出曾经使用过的命令
使用clear命令或者Ctrl+L快捷键实现快速清屏
作用:显示指定目录下的内容 语法:ls[-al][dir]
说明:
-a显示所有文件及目录(以.开头的隐藏文件也会列出)
-[除文件名除外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出]
ls -l 简写为 ll
作用:切换当前工作目录,进入指定目录 语法: cd[dirName]
说明:
~表示用户的home目录
.表示目录所在的目录
..表示目前目录位置的上级目录
作用:用于显示文件内容 语法:cat[-n]fileName
说明:-n:由1开始对所有输出的行数编号
举例:cat -n /etc/profile:查看etc目录下的profile文件,并显示行号
作用:以分页的形式显示文件内容 语法:more fileName
说明:
回车键:向下滚动一行
空格键:向下滚动一屏
Ctrl+b:回退,返回上一屏
q或Ctrl+C:退出more
举例:more /etc/profile 以分页方式显示/etc目录下的profile文件
作用:查看文件末尾的内容 语法:tail[-f]fileName
说明:-f 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例: tail /etc/profile 查看profile文件末尾10行的内容
tail -20 /etc/profile
作用:创建目录 语法:mkdir [-p] dirName
说明:-p:确保目录名称存在,不存在的话就直接创建;通过此选项可以实现多层目录同时创建
举例:mkdir itcast 在当前目录下创建名为itcast的目录
mkdir -p 1/2/3 在当前目录下创建一个名为1的目录,在1目录下创建名为2的目录,在2 目录下创建名为3的目录
作用:删除空目录 语法:rmdir [-p] dirName
说明:-p:当子目录被删除后使父目录为空目录的haul,则一并删除
举例:rmdir itcast 删除itcast目录 rmdir itcast/1/2/3 删除3目录,再删除2目录,1目录,itcast目录
Rmdir itcast* 删除名称以itcast开始的空目录
作用:删除文件或目录 语法:rm [-rf] name
说明:-r:将目录及目录中所有文件/目录逐一删除,即递归删除
-f:无需确认,直接删除
举例:
命令 cp
作用:用于复制文件或目录 语法:cp [-r] source dest
说明: -r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:cp hello.txt itcast/ 将hello.txt复制到itcast目录下
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r itcast ./itheima 将itcast目录和目录下所有文件复制到itheima目录下
cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下
命令 mv
作用:为文件或目录改名,或将文件和目录移到其他位置
语法:mv source dest
举例:mv hello.txt hi.txt 将Hello.txt改名为hi.txt
mv hi.txt itheima/ 将文件hi.txt移到itheima目录下
mv hi.txt itheima/hello.txt 将hi.txt移到itheima目录下,并改名为hello.txt
mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移到itheima目录下
命令 tar
作用:对文件进行打包,解包,压缩,解压
语法:tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z:z表示的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c:c表示的是create,即创建新的包文件
-x:x表示的是extract,实现从包文件中 还原文件
-v:v表示的是verbose,显示命令的执行过程
-f:f表示的是file,用于指定包文件的名称
打包:
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包:
tar -xvf hello.tar 将hello.tar解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz 文件进行解压,并将解压后的文件放在该目录下
tar -zxvf hello.tar.gz -C /itcast 将hello.tar.gz文件进行解压,并将解压后的文件放在itcast目录
命令 vi
作用:对文件内容进行编辑 语法:vi fileNmae
说明:
1.vim是从vi发展而来的一个还能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便对文件进行编辑处理。
2.vim命令需要自己安装 yum install vim
命令 vim
作用:对文件进行编辑,vim其实就是一个文本编辑器
语法:vim fileName
说明:
1.在使用vim命令编辑文件时,如果指定的文件存在则直接打开,如果不存在则新建文件
2.vim进行文本编辑时三种模式:命令模式(Command mode),插入模式(Insert mode),底行模式(Last line mode),模式之间可以相互切换
命令模式:
可以查看文件内容,移动光标(上下左右箭头,gg,G)
通过vim命令打开文件后,默认进入命令模式;另外两种模式需在进入命令模式后才能进入彼此
插入模式:
插入模式可以对文件进行编辑
在命令模式下按下[i,a,o]任意一个,可以进入插入模式,进入插入模式后,下方会出现[Insert]字样
在插入模式下按下ESC键,回到命令模式
底行模式:
可以用过命令对文件进行查找,显示行号,退出等操作
在命令模式下按下[: , /]任意一个,可以进入底行模式
通过/ 方式进入底行模式后,可以对文件内容进行查找
通过: 方式进入底行模式后,可以通过输入wq(保存并退出),q!(不保存退出),set nu (显示行号)
命令 find
作用:在指定目录下查找文件 语法:find dirName -option fileName
举例:find . -name "*.java" 在当前目录及子目录下查找.java结尾文件
find /itcast -name "*.java" 在itcast目录及子目录下查找.java结尾的文件
目录 grep
作用:从指定文件中查找指定的文本内容 语法:grep world fileName
举例:
grep Hello Helloworld.java 查找Helloworld.java中出现Hello字符串的位置
grep hello *.java 查找当前目录中使用以.java结尾的文件中包含hello字符串的位置
> 和 >> 指令
<img alt="image-20230420232013427" style="zoom: 67%;">
<img alt="image-20230420232029214">
- 二进制发布包安装:软件已经针对具体平台编译打包发布,只要解压,修改配置即可
- rpm安装:软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
- yum安装:一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并按照,安装过程中自动解决库依赖问题
- 源码编译安装:软件以源码工程的形式发布,需要自编译打包
1、使用FinalShell自 带的上传工具将jdk的二进制发布包上传Linux
jdk-8u171-linux-x64.tar.gz
2、解压安装包,命令为tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
解压到/usr/local目录下
3、配置环境变量,使用vim命令修改/etc/profile文件, 在文件末尾加入如下配置
JAVA_ HOME=/usr/local/jdk1.8.0_ 171
PATH=JAVAHOME/bin:PATH
4、 重新加载profile文件, 使更改的配置立即生效,命令为source /etc/profile
5、检查安装是否成功,命令为java -version,可以看到jdk.1.8.0即安装成功
1.使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux
apache tomcat-7.0.57.tar.gz
2、解压安装包,命令为tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
解压到/usr/local目录下
3、进入Tomcat的bin目录启动服务,命令为sh startup.sh或者./startup.sh
●查看启动日志
more /usr/local/ apache-tomcat-7.0.57/logs/ catalina.out
tail -50 /usr/local/ apache-tomcat-7.0.57/logs/ catalina.out
●查看进程
ps -ef | grep tomcat
注意:
●ps命令是linux下非 常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
●"在Linux中称为管道符,可以将前一一个命令的结果输出给后一个命令作 为输入
●使用ps命令查看进程时,经常配合管道符和查找命令grep -起使用,来查看特定进程
●查看防火墙状态 systemctl status firewalld、 firewall-cmd --state
●暂时关闭防火墙 systemctl stop firewalld
●永久关闭防火墙 systemctl disable firewalld
●开启防火墙 systemctl start firewalld
●开放指定端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent
●关闭指定端口 firewall-cmd --zone=public --remove port=8080/tcp --permanent
●立即生效 firewall-cmd --reload
●查看开放的端口 firewall-cmd --zone=public --list-ports
注意:
1、systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
2、firewall-cmd是Linux中专门用于控制防火墙的命令
3、为了保证系统安全,服务器的防火墙不建议关闭
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
●运行Tomcat的bin目 录中提供的停止服务的脚本文件shutdownoEh
sh:shutdown.sh
./shutdown.sh
●结束Tomcat进程
查看Tomcat进程,获得进程id
执行命令结束进程kill -进程Id
注意:
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
使用rpm方式
RPM(Red-Hat Package Manager)RPM软件包管理器,是红帽Linux用于管理和安装软件的工具
rpm -qa ---查看系统中的所有应用
rpm -qa | grep mysql ---系统中所有应用中找关于mysql的
rpm -qa | grep mariadb ---系统中所有应用中找关于mariadb
rpm -e --nodeps 软件名称 ---卸载软件
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 ---卸载mariadb软件
mkidir /usr/local/mysql ---在/usr/local目录下新建mysql文件夹
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz ---解压mysql安装包
rpm -ivh mysql-community-common-5.7.25-1.el7 .x86_ 64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86 64.rpm
rpm -ivh mysql-community-devel-5.7 .25-1.el7.x86 64.rpm
rpm -ivh mysql-communty-libs-compat-5.7.25-1.el7.x86 64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7 .x86 _64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86 _64.rpm
说明1:安装过程中提示缺少net- tools依赖,使用yum安装
说明2:可以通过指令升级现有软件及系统内核 yum update
systemctl status mysqld ---查看mysql服务状态(dead为未登录状态)
systemctl start mysqld ---开启mysql(状态为running)
systemctl enable mysqld ---设置开机自动启动mysql
netstat -tunlp ---列出已经启动的服务
netstat -tunlp | grep mysql ---列出开启的端口号中关于mysql的
ps -ef | grep mysql --查看进程中关于mysql的
cat /var/log/mysqld.log | grep password ---查看日志里的临时密码
mysql -uroot -p ---登录mysql,p后面跟密码
set global validate_password_length=4; ---设置密码长度最少为4位
set global validate_password_policy=LOW ---设置密码安全等级,便于修改密码
set password = password('root'); ---设置密码为root
grant all on . to 'root'@'%' identified by 'root'; ---开启访问权限
flush privileges ---刷新权限
exit ---退出登录
1、搜索lrzsz安装包,命令为yum list lrzsz
2、使用yum命令在线安装,命令为yum install lrzsz.x86_ 64
注意事项:
Yum ( 全称为Yellow dog Updater, Modified)是一一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且-次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
打包,上传,
- 将一个springboot项目用打包命令打包
- 将打的jar包上传到Linux服务器
mkdir /usr/local/app ---创建目录,将项目jar包放在此目录- 启动springboot程序
- <img alt="image-20230420232234736">
<img alt="image-20230420232330281" style="zoom:80%;">
在Linux中安装Git
Yum list git ---列出git安装包
Yum install git ---安装Git
使用Git命令克隆代码到 /usr/local在Linux中安装Maven
将资料中提供的maven安装包上传到Linux,在Linux中 安装maven
tar -zxvf apache-maven-3.5.4- bin.tar.gz -C /usr/local ---解压
vim /etc/ profile ---修改配置文件,加入如下内容
export MAVEN_ HOME=/usr/local/ apache-maven-3.5.4
export PATH=JAVAHOME/bin:MAVEN_ HOME/bin:$PATH
source /etc/profile ---更新profile文件
mvn -version ---查看安装的软件版本信息
vim /usr/local/ apache maven-3.5.4/conf/settings.xml ---修改配置文件
修改配置文件内容如下:加上本地仓库地址
<localRepository>/usr/local/repo</localRepository>编写Shell脚本(拉取代码、编译、打包、启动)
Shell脚本(shell script) ,是一种Linux系统中的脚本程序。
使用Shell脚本编程跟JavaScript、Java编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
修改.sh脚本文件并复制到Linux中的bootStart.sh文件中为用户授予执行Shell脚本的权限
<img alt="image-20230420232314184" style="zoom:67%;">
<img alt="image-20230420232253911" style="zoom:80%;"> chmod命令可以使用八进制数来指定权限
举例:
●chmod 777 bootStart.sh为所有用户授予读、写、执行权限
●chmod 755 bootStart.sh为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
●chmod 210 bootStart.sh为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
注意:三位数字分别代表不同用户的权限
●第1位表示文件拥有者的权限
●第2位表示同组用户的权限
●第3位表示其他用户的权限执行Shell脚本
./bootShell.sh设置静态ip
目的:以后再重启Linux时IP地址就不会更改了
修改文件/etc/sysconfig/network-scripts/ifcfg-ens33,内容如下:
BOOTPROTO="static" #使用静态IP地址,默认为dhcp
IPADDR="192. 168. 177.100" #设置的静态I地址
NETMASK="255.255.255.0"#子网掩码
GATEWAY="192. 168.177.2”; 网关地址.
DNS1="192. 168.177.2" # DNS服务器
systemctl restart network
注意:重启完网络服务后ip地址已经发生了改变,此时FinalShell已经连接不上Linux系统,需要创建- -个新连接才能连接到Linux。
注意事项:
Yum ( 全称为Yellow dog Updater, Modified)是一一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且-次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。