Linux学习笔记
Linux
一、Linux
Linux是一套免费使用和自由传播的操作系统。
1.1 Linux是基于unix的
1.2 Linux版本
- 内核版本:在Linux领导下的内核小组开发维护的系统内核版本
发行版:在内核版本基础上扩展出来的版本号
1.3 Linux的应用
Linux广泛应用于服务器、嵌入式系统、桌面系统等领域
二、安装操作系统
2.1 下载contos7的安装镜像
下载地址:https://www.centos.org/download/
2.2 创建一个新的虚拟机
打开 vmmare
选择新建虚拟机
下一步即可。
将centos7的安装镜像挂载到虚拟机的光驱中
在虚拟机的设置中,找到光驱(CD/DVD)选项,将其配置为使用的ISO镜像文件,然后,浏览并选择你之前下载的centos7安装镜像(包含课件中)。
在虚拟机设置中,找到CD/DVD选项
选择使用ISO映像文件
点击浏览,选择centos7的安装镜像文件
启动虚拟机并开始安装centos7
虚拟机启动之后会出现如下界面:
install centos7
Test this media & install centos7
我们将鼠标移入到虚拟机中,并按下键盘中的⬆箭头,选择install 。【软件选择】
选择安装的系统是否包含界面:
选择gnome桌面【配置网络和主机名】
“以太网默认是关闭的”,打开即可。
【设置root】
设置root管理员密码,强弱无所谓。
2.3 查看是否连接网络
查看自带的应用程序性火狐访问百度
查看网卡ens33三、安装远程连接工具
finalshell安装跳过..
四、Linux的常见命令
4.1 Linux的目录结构
linux的目录是一个树形机构
windows系统可以拥有多个盘符,如C盘、D盘、E盘
linux没有盘符这个概念,只有一个根目录/ 所有文件都在它的下面4.2 Linux用户
- root用户(超级管理员):在Linux系统中拥有最大权限的账户为:root
- root目录:超级管理员所在的目录
home目录:除了超级管理员外的其他用户所在目录
4.3 tab自动补全
- tab键自动补全
- 连续两次tab键,给出操作提示
使用上下箭头快速调出曾经使用过的命令
4.4 绝对和相对路径
- 绝对路径:从/根目录来说的路径
- 相对路径:相对当前所在目录来说的路径
- 特殊的路径:.. 表示上一级目录
- 特殊的路径:~表示家目录
特殊的路径:-表示上一次所在目录
4.5 文件列表命令
ls:列出文件和目录
【常用参数】
- -a 显示所有文件和目录包括隐藏的
-l 显示详细信息(简写ll)
4.6 目录切换命令
- cd + 目录的路径
- cd..:返回上一级目录
- cd~:返回当前登录用户所在的用户目录
- cd/:返回根目录
cd-:返回上一次所在目录
4.7 clear&pwd
- 清屏命令
查看当前目录的绝对路径
4.8 创建&删除目录命令
创建目录
- mkdir aa:创建aa目录
- mkdir a b:创建a目录和b目录
mkdir -p aa/bb:创建aa目录下的bb目录
删除目录
rmdir aa:删除aa目录
4.9 cp、mv、rm
【文件拷贝cp】
cp 源文件 目标文件名/目标文件名
【文件剪切mv】
mv 源文件 目标目录/目标文件名
【文件删除rm】
- rm 文件名:删除文件之前会询问
- rm -f 删除文件之前不询问
rm -rf 文件名/目录名:可以直接删除文件或者文件夹,可以是多层,不询问
4.10 查找符号条件的文件
find / -name文件名: 根据指定路径查找指定文件
4.11 查找文件中符合条件的字符串(内容)
grep 要查找到的字符串 文件名
4.12 创建新的文件
touch 文件名称:创建一个a.txt文本文件
4.13 压缩和解压(面试题)
(1)压缩
tar -zcvf 压缩的文件名 要压缩的目录
(2)解压
tar -zxvf 压缩文件名 -C 指定的目录
4.14 VI和VIM编辑器
vi命令是Linux系统提供的一个文本编辑工具,类似windows中的记事本,可以对文本内容进行编辑。
三种工作模式
进入vi编辑器会进入命令模式,通过命令模式输入键盘指令,进入输入模式,输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式。
【1】命令模式
命令模式下,不能自由进行文本编辑,只能查看。
【2】输入模式
可以对文件内容进行自由编辑。
【3】底线命令模式
用于文件的保存,退出
通过命令打开之前的a.txt,进入到vim中:4.15 系统命令
【ps】查看系统的进程
在Linux中,每一个正在执行的程序都称为一个进程,每个进程都有各自的PID(进程ID)
查看所有用户的进程信息【停止进程】
kill -9 进程号,其中-9表示一种信号,用于强制终止进程
4.16 文件权限
简单来说,那些用户可以对文件执行何种操作。每个文件和目录都有三种类型的权限:读(r)、写(w)、执行(x)。这些权限可以分别应用于文件的所有者,所有组,以及其他用户。
在Linux中,文件权限通常以数字的形式表示,每个文件或目录都有3个八进制数字,分别代表所有者,组和其他用户的权限,每个数字的范围0-7:
- 读权限(r)=4
- 写权限(w)=2
执行权限(x)=1
Linux使用UGO权限模型进行权限控制
- U代表文件所属用户
- G代表文件所属组
O代表所属用户和用户组的用户之外的其他用户
【chmod】命令
用于更变文件或目录的权限
- 赋值法:
权重法:
设置所有人可以读写及执行4.17 防火墙命令
【查看防火墙】
【关闭防火墙】下次会重新启动
【禁用防火墙】
五、在Liunx中安装软件
5.1 在Linux中安装JDK
- 新建一个文件夹
- 切换到software
- 将JDK文件上传到/usr/local/software目录中
删除Linux中自带的JDK
centos7一般都会带有自己的openJDK,我们使用oralce的jdk,所以要卸载。
查看系统是否以安装JDK
卸载已安装的JDK
验证是否还有JDK
解压安装包
【1】在/usr/local目录下创建名为java的目录
【2】将JDK解压到/usr/local/java目录中
配置JDK环境变量
在etc/profile文件最后加上如下内容:按i进入编辑模式,完成后按esc键,在输入:wq保存退出
内容:复制课件的profile文件即可
修改文件,需要sources命令重新加载
验证是否安装成功5.2 安装tomcat
将tomcat上传到/usr/local/software目录下
将tomcat解压到指定目录
【1】在/usr/local目录下创建tomcat目录
【2】将上传的tomcat解压到/usr/local/tomcat
进入tomcat目录
启动tomcat
【1】切换到bin目录中
【2】启动tomcat
访问tomcat
【1】在Linux系统中使用火狐访问浏览器
http:localhost:8080/
【2】在宿主机中访问tomcat
http:ip:8080/5.3 安装Mysql
在安装mysql数据库之前,先检查一下当前Linux系统中,是否安装由Mysql的服务,如果有,就需要先卸载,然后在进行安装。
通过rpm命令,来查询当前系统中是否存在已安装的mysql软件包
mariadb是centos7中自带,这个数据库和mysql数据库是冲突的,所以想保证mysql安装成功,需要卸载mariadb数据库【上传mysql到Linux并解压】
上传mysql安装包
解压到当前目录
将解压的文件移动到/usr/local目录下,并改名为mysql
配置系统环境变量
配置mysql的环境变量,通过vi编辑器/etc/profile文件中
尾部追加如下内容:
修改此文件后,需要source命令重新加载1
[root@localhost mysql]# source /etc/profile
注册mysql为系统服务
1
2[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig --add mysql初始化数据库
1
2
3
4
5
6
7
8# 创建一个用户组,组名叫mysql
[root@localhost mysql]# groupadd mysql
# 创建一个系统用户mysql,并归属用于组mysql
[root@localhost mysql]# useradd -r -g mysql -s /bin/false mysql
#初始化mysql
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data执行上述指令时,会输入如下日志。在日志中就会输出mysql中root用户的一个临时密码:
1
2
3
42025-08-05T03:33:25.304900Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 96881
2025-08-05T03:33:25.316845Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-08-05T03:33:26.963945Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-08-05T03:33:29.823216Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 6ptfl2zvI*EB【启动mysql】
- 启动mysql服务
1
[root@localhost mysql]# systemctl start mysql
- 通过命令,登录mysql
1
[root@localhost mysql]# mysql -uroot -p6ptfl2zvI*EB
配置mysql
修改root用户的密码1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
注意:这个root账号仅能够在本机localhost上访问,我们在windows上是无法访问的,如果需要在window上或其他服务器上也能远程访问,需要创建一个账号,用于远程访问。
创建账号,并授权远程访问
1
2
3
4
5create USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;语句各个部分说明如下:
- ALL PRIVILEGES表示授予所有可用的权限
- ON . 表示对所有数据库中的所有表进行授权
- TO ‘root’@’%’root是授予权限的用户名,@是分隔符,%允许该用户从任何主机链接到mysql服务
- FLUSH PRIVILEGES对用户权限或密码的修改立即生效,无需重启mysql服务。