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】

  1. rm 文件名:删除文件之前会询问
  2. rm -f 删除文件之前不询问
  3. 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】命令

    用于更变文件或目录的权限

  1. 赋值法:
  2. 权重法:
    设置所有人可以读写及执行

    4.17 防火墙命令

    【查看防火墙】

    【关闭防火墙】下次会重新启动

    【禁用防火墙】

    五、在Liunx中安装软件

    5.1 在Linux中安装JDK

  3. 新建一个文件夹
  4. 切换到software
  5. 将JDK文件上传到/usr/local/software目录中
  6. 删除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
    4
    2025-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】

  7. 启动mysql服务
    1
    [root@localhost mysql]# systemctl start mysql 
  8. 通过命令,登录mysql
    1
    [root@localhost mysql]# mysql -uroot -p6ptfl2zvI*EB 
  9. 配置mysql
    修改root用户的密码

    1
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 

    注意:这个root账号仅能够在本机localhost上访问,我们在windows上是无法访问的,如果需要在window上或其他服务器上也能远程访问,需要创建一个账号,用于远程访问。

  10. 创建账号,并授权远程访问

    1
    2
    3
    4
    5
    create 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服务。