Linux

本文介绍了Linux操作系统的概念、安装方法、版本介绍、目录结构、连接Linux的工具CRT的使用,以及Linux核心命令的学习。内容涵盖Linux在服务器、嵌入式、桌面应用和移动设备的广泛应用,并详细讲解了Linux的CentOS版本安装过程,包括如何解决虚拟机中获取IP的问题。此外,文章还探讨了Linux目录结构、用户管理和文件操作,以及Vim编辑器的使用。最后,文章展示了如何在Linux中安装和配置JDK、Tomcat和MySQL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、操作系统概念

操作系统作用:管理硬件,服务软件
在这里插入图片描述硬件:电路,写驱动程序,写应用程序
操作系统:微软(windows)/Linux,Unix(Unix要掏钱,这谁干呀,所以就有个流批的大哥写了一个免费的Unix系统----Linux,所以说他俩同出一辙)/苹果(mac)
Linux操作系统(世界巨头计算机,各个行业软件服务器系统),因为Windows不是开源的,人们不能单独去设计它,所以安全性比较低,在Windows操作系统上,微软公司可以查看用户信息,就比如,之前的哪个国家的军方设备使用Windows作为他们的操作系统,结果隔三差五的他们的导弹武器信息就会被传回微软公司,所以在一些安全系数高的设备上,一般不用Windows,而Linus是开源的,人们可以独立设计,所以安全系数比较高。
对于操作系统,根据视频学习,我的个人理解是电脑里面的硬件,需要操作系统去调用硬件上的函数库,然后形成虚拟的软件呈现在可视化界面上。目前是这样理解的,可能有偏差。就是连接硬件和软件之间的介质。

二、安装虚拟机和Linux

虚拟机(软件):通过调用系统接口模拟出一台机器。
这两个安装我就不说太多,可以上网上查,一查就有。
我要说的是今天下午我遇到的问题,就是在新建虚拟机的时候,里面有一个自定义硬件,在这里插入图片描述点击之后,有一项需要镜像文件(.iso),但是我所学习的视频文件里面没有这个镜像文件(版本是CentOS-6.7),然后我就上网下载,链接是
CentOS镜像文件下载链接
地址是https://www.centos.org/download/
在这里插入图片描述
然后我就下了一个7.6的版本,好像是最新的。下载下来是一个压缩包,长这个样子在这里插入图片描述
把他放在ISO镜像文件浏览里就行了,就能装一个7.6版本的Linux CentOS。
安装Linux的时候,还有需要注意的,里面有一步是让选择系统安装类型,我7.6版本忘记截图里,就勉强看一下6.7的把
在这里插入图片描述这里面的几个类型的意思是啥类,看下面
在这里插入图片描述我跟着视频走,选择的是Basic Server,就是没有可视化界面,就一个命令行窗口,黑压压一片,看!
在这里插入图片描述
接着还有一点注意的是,最后一步会让创建一个用户账号密码,然后还要设置管理员密码,要记着这一个账号两个密码,因为登陆的时候会让你填写用户登录账号密码,而管理员是你想使用权限的时候,得输入管理员密码。

三、Linux稍微介绍

1_Linux系统的应用
服务器系统:Web应用服务器,数据库服务器,接口服务器,DNS,FTP等等
嵌入式系统:路由器、防火墙、手机、PDA、IP分享器、家电用品的微电脑控制器等
高性能运算、计算密集型应用、Linux有强大的运算能力
桌面应用系统
移动手持系统
2_Linux的版本
我尤其是想记录的这个版本内容,我感觉Linux版本有很多
首先,Linux的版本分为两种:内核版本和发行版本,内核版本是旨在linux领导下的内核小组开发维护打的系统内核的版本号,发行版本是一些组织和公司根据自己发行版的不同而自定的。
主流版本有RedHat,Ubuntu(乌班图),CentOS等
在这里插入图片描述

四、Linux目录结构介绍

Linux目录结构,只有一个目录,根目录
user:相当于program files
etc:存放系统配置文件
root:系统管理员默认目录
home:存放其他用户的目录

五、利用CRT连接Linux

这个是不直接在虚拟机里Linux上敲命令,而是把命令行窗口引到CRT软件上。步骤如下:
1_在linux上获取IP,需要说明的是,视频上6.7版本获取IP是通过ifconfig命令,查出来后直接获取IP地址。
在这里插入图片描述而在ContOS-7之后获取IP地址就需要做一些改动,当我们和6.7一样输入ifconfig的时候,会发现ens33没有存放IP地址的inet值(命令ip addr也可以查看IP地址)在这里插入图片描述接着来查看ens33网卡的配置,vi /etc/sysconfig/network-scripts/ifcfg-ens33 注意vi后面加空格
在这里插入图片描述从配置清单中可以发现CentOS 7默认是不启动网关的(ONBOOT=no),把这一项改为YES,但是在该之前,要确保是以管理员身份(su命令进入管理员)改的,不然修改失败,修改后按ESC退出,输入命令:wq再按ENTER键即可(:wq是保存然后退出的意思),然后重启网络服务,输入命令 sudo service network restart
再次ifconfig就能看到IP地址了
在这里插入图片描述2_打开绿色版本的CRT:点击SecureCRT.exe
在这里插入图片描述3_点击文件——连接——快速连接
输入从Linux哪里读取到的IP地址,点击连接按钮
在这里插入图片描述依次输入用户名,密码,就是登陆linux的账号密码,就可以把CRT连接到linux上。
成功的话 就是这个样子
在这里插入图片描述4_解决CRT编码问题
关闭CRT,重新打开,选中待连接的ip,右击——属性
待连接的IP
在这里插入图片描述

六、Linux核心命令学习

linux有两种用户,一种管理员root,另外一种普通:zhangsan lisi(就是登陆linux时候输入的账号),root用户登录到linux默认所在的目录是/root/,其他用户zhangsan登录到linux默认所在的目录是/home/zhangsan/
6_1查看目录结构
list:列出
ll:列出当前目录下的文件信息
ls -al:列出当前目录下的文件信息(包括隐藏文件,特殊目录)
ll /bin/:列出根目录下bin目录下的文件信息
6_2切换目录命令cd
touch 1.txt:在当前目录创建一个文件1.txt
clear:清除屏幕

cd ~ :当前用户目录
cd / :根目录
cd - :上一次访问的目录
cd … :上一级目录
cd :缺省当前用户目录,就是回到刚登上Linux时显示的的目录,就比如说root管理员登上操作系统时原始目录是/root,而自己用户CentOS_zjw登上的时候就是/home/CentOS_zjw,这个就是缺省当前目录。
6_3创建目录
pwd:打印当前工作目录
mkdir:创建目录
 -p 父目录不存在情况下先生成父目录
 -v 显示命令执行工程中的详细信息
mkdir a:当前目录下穿件文件夹a
mkdir /root/b :在根目录下的root下创建目录b
mkdir -pv /root/c/e/d:在根目录下的root下创建目录结构c/e/d,
6_4文件浏览命令
cat:如果文件中的内容很少,一页之内可以显示完毕
cat /root/文件名称

more:如果文件中内容比较多,一页之内显示不完

	语法:more 文件名称
	操作:Enter	向下n行,需要定义,默认为1行
			空格键		向下滚动一屏,或者Ctrl+F
			B		返回上一屏,或者Ctrl+B
			q		退出more

less :如果文件中内容比较多,一页之内显示不完
less比more多了搜索功能

语法:less -mN 文件名称
		-m	显示类似more命令的百分比
		-N	显示每行的行号
操作:空格键:前进一页,或者page down
		b:后退一页或page up
		d:前进半页
		u:后退半页
		回车键:前进一行或者方向键向下
		y:后退一行或者方向键向上
		/字符串:向下搜索
		?字符串:向上搜索
		v:进入vim编辑器
		q:退出

tail :查看文件末尾内容
 -n<行数>显示行数
 -f 循环读取(ctrl+c退出循环读取)
tail -10 /root/install.log :查看install.log文件中的最后10行的内容

6_5文件管理
复制文件
cp install.log install02.log
cp -b install.log install02.log :如果覆盖文件的时候,可以将源文件做一个备份
cp ./install.log …/ :将当前目录下的install.log赋值到复级目录
cp /root/install.log /bin/1.txt :将/root下的install.log文件复制到根目录下的bin目录下的1.txt中

复制目录(无论是单层目录还是多层目录都可以复制)
cp -r ./a ./b
cp -r /root/a /root/z

mv剪切文件
mv /root/install.log /root/a/

重命名文件
mv /root/install.log /root/test.log

删除文件
rm -f 文件名称
-f或–force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
rm -f /root/文件名称

删除目录
rm -rf 目录名称
-f或–force 强制删除文件或目录
-r或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理
rm -rf /root/目录名称

在某个目录下搜索文件/目录
find /root/ -name ‘in*’:在根目录下的root目录下寻找名称中包含in,而且是以in开头的文件/目录
6_6Vim编辑器
vim /root/1.txt :利用vim编辑器打开文件——>录入i(从一般模式转变为插入模式)——>录入各种信息——>esc(从插入模式转化为一般模式)——>:wq(保存并退出)

在这里插入图片描述在这里插入图片描述

6_7系统命令
grep:过滤任务,经常和其他命令联合使用
grep -i 名称
cat /root/install.log | grep -i mysql :查看install.log文件中包含mysql内容信息
ps -ef :相当于任务管理器,对进程的一次查看
ps -ef | grep -i crond : 查看系统中crond的进程信息

管道命令: 命令的一种使用方式
命令1 | 命令2
命令1的输出是命令2的输入
cat /root/install.log | grep -i mysql
ps -ef | grep -i crond

杀死进程 kill -9 进程id
查看IP: ifconfig
查看机器是否连接通畅: ping 对方机器ip

6_8解压缩命令
tar功能:文件备份压缩

语法:tar命令
-c 建立一个压缩文件的参数指令(create)–压缩
-x 解开一个压缩文件的参数指令(extract)–解压
-z 是否需要用gzip压缩
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在f之后要立即接档名(file)
常用解压参数组合:zxvf
常用压缩参数组合:zcvf

例子:查看root文件下都有什么文件
在这里插入图片描述
准备把这个1.txt压缩了,tar -zcvf 1.tar ./1.txt意思是把当前文件中的1.txt压缩成1.tar
在这里插入图片描述
现在我想把1.tar在解压了,我要先把1.txt删除掉
在这里插入图片描述
删除后,使用命令tar -zxvf ./1.tar意思是把当前文件中的1.tar文件解压,然后就解压出来了一个1.txt
在这里插入图片描述
6_9关机和重启
这个比较简单
Linux centos 重启命令:reboot
Linux centos 关机命令:halt 立刻关机
6_10文件权限
chmod(change mode)命令:更改目录/文件用户权限

语法:chmod[参数][<权限范围><符号><权限代号>]
-R或者–recursive 递归处理,将指定目录下的所有文件以及子目录一并处理

权限范围的表示法如下
u:User,即文件或目录的拥有者
g:Group,即文件或目录的所属群组
o:Other,除了文件或目录拥有者或所属群组之外,其它用户皆属于这个范围
a:All,及全部的用户,包含拥有者,所属群组以及其他用户。
符号
“+” 添加权限
“-” 取消权限
有关权限代号的部分,列表于下
r:读取权限,数字代号是“4”
w:写入权限,数字代号是“2”
x:执行或切换权限,数字代号为“1”
“-”:不惧任何权限,数字代号为“0”

Linux权限格式:<类型><用户><组><其他用户>
在这里插入图片描述

  • 第1位,文件类型(d目录,-普通文件,l链接文件)
  • 第2-4位,所属用户权限,用u(user)表示
  • 第5-7位,所属组权限,用g(group)表示
  • 第8-10位,其他用户权限,用o(other)表示
  • 第2-10位,表示所有的权限,用a(all)表示

例子:在这里插入图片描述以数字形式更改目录、文件权限的规则如下
在这里插入图片描述
0:不具有任何权限
1:可以执行
2:可以写
3:1+2,可以执行,可以写
4:可以读
5:1+4,可以执行,可以读
6:2+4,可以写可以读
7:1+2+4,可以读,写,执行
例子看图:三位数分别代表u,g,o用户权限
在这里插入图片描述
6_11网络设置
查看网卡配置 cat /etc/sysconfig/network-scripts/ifcfg-ens33
在这里插入图片描述在这里插入图片描述查看IP地址命令,ifconfig
在这里插入图片描述
6_11命令总结和帮助
内部命令:属于shell解析器的一部分(系统启动直接加载到内存的)
 cd切换目录
 pwd显示当前工作目录
 help帮助
外部命令:独立于shell解析器之外的文件程序(独立的可执行文件)
 ls显示文件和目录列表
 mkdir创建目录
 cp复制文件或目录
查看帮助文档
 内部命令:help + 命令(help cd)
 外部命令:man + 命令 (man ls)
不用特以及以命令分类,开发中,如果需要查看命令参数,先试用man,如果没有结果,再使用help

七、在linux中安装jdk,tomcat,mysql

安装jdk,mysql,gcc相关的依赖包,所谓依赖包,就是在安装这些软件之前操作系统必须拥有的文件,否则就无法安装软件,windows也有个依赖包,所以可以在Windows操作系统上下软件。Linux得一个一个安装依赖包。
在这里插入图片描述
把上面的命令一个一个的输入linux,就可安装依赖包,但有的依赖包可能已经最新,不需要安装,比如上图MYSQL中的第二个yum update libstdc+±4.4.7-4.el6.x86_64。(这一点我也感觉很疑惑,上面显示的没有可用的软件包,但是视频上却说的不用更新。)
在这里插入图片描述在这里插入图片描述

上图是视频中的情况。

依赖包安装完后,开始安装软件。
步骤一:
 利用Filezillar.exe在linux /usr/local/src/ 建立3个目录java,mysql,tomcat

在这里插入图片描述步骤二:
 利用Filezillar.exe将windows上的3个软件jdk,mysql,tomcat上传到linux,放到刚才的那三个新建文件夹里。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤三:安装jdk
 小1:使用命令rpm -qa | grep java,查看Linux上是否存在已经安装好的jdk javac java-version
 小2:删除linux自带jdk

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686

 小3:进入刚才创建的文件夹/usr/local/src/java里面,将jdk压缩包进行解压,

cd /usr/local/src/java
tar  -zxvf   jdk-7u71-linux-i586.tar.gz

 小4:配置环境变量
① vim /etc/profile
② 在末尾行添加

			#set java environment
			JAVA_HOME=/usr/local/src/java/jdk1.7.0_71
			CLASSPATH=.:$JAVA_HOME/lib.tools.jar
			PATH=$JAVA_HOME/bin:$PATH
			export JAVA_HOME CLASSPATH PATH

保存退出
③source /etc/profile 使更改的配置立即生效
④java -version 查看JDK版本信息,如果显示出1.7.0证明成功
步骤四:安装tomcat
 小1:进入刚才创建的文件夹/usr/local/src/tomcat里面,将tomcat压缩包进行解压,

tar -zxvf apache-tomcat-7.0.57.tar.gz

 小2:重命名

mv apache-tomcat-7.0.57 tomcat

 小3:启动Tomcat

cd itcast-usermanage/bin/
./startup.sh 或者 sh startup.sh

 小4:查看日志:

tail -f ../logs/catalina.out

 小5:查看网址

http://192.168.0.160:8080/
发现无法访问

 小6:防火墙打开8080端口
   在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是:

netstat –tlunp

   上面这个命令查看的是服务器上的进程对外监听的端口,但是在CentOS7中,默认会打开firewalld防火墙,如果防火墙打开后,默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22。查看防火墙开放端口的命令是

iptables-save

   输入命令后,在结果的最下面,会显示防火墙开放的端口,因为之前我打开了8080和3306端口,所以这样显示,正常情况下只会显示22端口。
在这里插入图片描述
   如果想增加对外开放的端口,就需要通过防火墙的管理命令firewalld-cmd,例如我想开放8080端口,那么命令就是:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

   第一条命令是添加端口,第二条命令是重载防火墙。看到sucess字样后,再使用iptables-save命令查看端口,可以看到,对外放开的端口增加了8080.

 小7:安装成功,看到网页TOMCAT,虚拟机的IP是192.168.81.128
在这里插入图片描述
步骤五:安装MySQL
 小1:检测是否已经安装了mysql

rpm -qa | grep mysql 

 如果已经安装了,将其卸载,如

rpm -e --nodeps  mysql-libs-5.1.73-5.el6_6.i686

 小2:安装MySQL

1、	cd /usr/local/src/mysql				//进入MySQL的目录
2、	tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar		//对MySQL文件进行解压
3、   rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm			//安装server

 在安装server客户机的时候,会报错,

file /usr/share/mysql/charsets/README frominstall of MySQL-server-5.6.34-1.el7.x86_64 conflicts with filefrom package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
file /usr/share/mysql/czech/errmsg.sys frominstall of MySQL-server-5.6.34-1.el7.x86_64 conflicts with filefrom package mariadb-libs-1:5.5.44-2.el7.centos.x86_64

 这是因为安装的mysqllib库和mariadb的库包冲突了,检查下mariadb的组件

rpm -qa |grep mariadb

 会发现mariadb-libs-5.5.44-2.el7.centos.x86_64,所以得删除该组件

rpm -emariadb-libs-5.5.44-2.el7.centos.x86_64

 删除组件时,说还有依赖

在这里插入图片描述
 有依赖,强制删除

rpm -emariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

 重新安装mysql,成功

 rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm	

在这里插入图片描述
 接着安装client

 rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm 

 在mysql的文件夹中,有如下几个安装包,只需要安装服务器server和客户机client就行了在这里插入图片描述
 小3:查询mysql服务运行状态

service mysql status

在这里插入图片描述
 服务未启动
 小4:启动mysql服务

service mysql start

在这里插入图片描述
 小5:使用root账号登录mysql
 但是没有账号密码怎么办,在安装mysql server的时候有句提示
在这里插入图片描述 去这个目录里面查看生成的随机密码
 注意:这个密码是不安全的,所有需要修改初始密码。

 小6:使用密码登录mysql账号:mysql -uroot -p
 密码可以复制粘贴,因为生成的随机密码是一串随机的字符串
 小7:修改root密码:SET PASSWORD = PASSWORD(‘123456’);
 小8:系统启动时自动启动mysql服务
 加入到系统服务:

chkconfig --add mysql

 自动启动:

chkconfig mysql on

 查询列表:

chkconfig

在这里插入图片描述
 小9:开启远程访问,就是在宿主机,非虚拟机上能够找到这个MySQL

 登录:

mysql -uroot –p123456

 设置远程访问(使用root密码):
 grant:赋予
 privileges:权限,规则

grant all privileges on *.* to 'root' @'%' identified by '123456'; 
flush privileges;

 防火墙打开3306端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

 然后就可以在宿主机上连接到linux系统下的mysql

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值