1.什么是Linux系统

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux,centos7 等。

2.为什么使用Linux系统

因为Linux系统性能比较稳定而且比较安全,非常是否程序的运行。 我们开发的项目程序,都会部署到Linux系统上。

我们要学习linux系统,就必须在自己电脑上安装Linux系统或者租赁其他云服务的linux系统。

租赁:阿里云或者腾讯云等

安装: 借助虚拟机---模拟安装n个操作系统

3.Linux系统的特点

1、开源

开源的好处

①一般开源软件在发布时有优良的质量。

②开源精神

③更加安全

2、开放性

系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。

3、多用户

系统资源可以被相同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。

4、多任务

它是计算机同时执行多个程序,而各个程序的运行互相独立。

5、良好的用户界面

Linux向用户提供了两种界面:用户界面和系统调用。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

6、设备独立性

操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力。

7、提供了丰富的网络功能

完善的内置网络是Linux一大特点。

8、可靠的安全系统

Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

9、良好的可移植性

将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。

4.如何使用Linxux系统(Centos7版)

安装虚拟机:===VMware Workstation Pro===创建多个虚拟电脑---每个电脑可以安装自己相应的系统镜像。

5.ssh客户端工具---xshell

可以帮你连接你的虚拟机。

如果不知道自己的虚拟机IP地址可以使用 ifconfig 命令 来查看自己的虚拟机IP地址

如果 ifconfig 命令不能使用 ----使用ip addr来查看

6.Linux目录结构

/: 根目录

bin: 目录 命令目录 千万不要删除【以后很多命令不能使用了】

etc: 环境配置目录。

root: 账号为root用户名的目录

sbin: 存放命令的目录

usr: 用户目录 ---window program file 习惯把软件安装到该目录下

Linux目录结构:

Linux 系统目录结构 | 菜鸟教程Linux 系统目录结构 登录系统后,在当前命令窗口下输入命令:  ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设..https://www.runoob.com/linux/linux-system-contents.html

7.Linux常见的命令

(1).ping 命令 测试网络联通型。

 CTRL+C停止运行

(2)cd 命令 切换到指定目录下。

cd  指定的目录名称

cd  ../ 切换到上一级目录

 cd  /  切换到根目录

 (3)ls 查询当前目录下的子文件

ls  查看当前目录下的子文件

ls 指定目录     查询指定目录下子文件

 ls -l  以列表的形式查询指定目录下的子文件

d:表示目录

-:表示文件

l:表示快捷方式

root:当前文件所属的用户

root:当前文件所属用户的组

ls -a  查询指定目录下所有的文件包含隐藏文件

(4)pwd 查看当前所在的目录

(5)mkdir 创建文件夹

mkdir 目录的名称

mkdir -p 多层目录

(6)touch创建文件

touch 文件名

(7)rm 删除文件或目录

rm 文件名  【删除提示框】

默认rm不允许删除目录,可以使用参数 -r 删除目录

rm -f 文件名 【暴力删除】

rm -r 文件夹

 

rm -rf 文件或文件夹 

 (8)vi 编辑文件内容

进入命令模式[不能输入内容]---->i----->编辑模式【可以输入内容】---->Esc推到命令模式
---:wq[保存退出]
---:q![退出不保存]

(9)cat | head | tail 查看文件内容

cat  查看所有内容。cat 文件名

head 查看前n行内容 head -10 文件名
tail 查询后n行内容 tail -10 文件名

(10)重命名|移动: mv

mv 源文件名  目标文件名
mv a.txt ldh.txt  把a.txt重名为ldh.txt

mv 源文件名  目标目录
mv a.txt  /usr/local  把a.txt移动到/usr/local目录下

 (11)复制: cp

cp /usr/local/ldh.txt  /aaa                  把/usr/local/ldh.txt文件复制到/aaa目录下

默认不允许复制文件夹   可以使用参数 -r
cp -r aaa /usr/local/                             把目录aaa复制到/usr/local下

(12)搜索: find

find 目录  -name '被搜索的文件名'

 find 目录  -name 文件名*    

查找以ldh开始的文件名

(13) 在文件中搜索指定的内容:  grep 

grep '内容' 文件名          grep 'system' anaconda-ks.cfg  在anaconda-ks.cfg中搜索system

grep '内容' 文件名 -n      显示行号

(14)ls -l: 查看详细信息  

(15)chmod--修改权限

chmod  [u|o|g]+[wxr] 文件

如: chmod u+r a.txt 但是只能一个一个设置  太复杂了
chmod  777  文件

chmod 777 a.txt    chmod 774 a.txt

read:----4        write----2           execute----1

(16) 解压缩文件

压缩:

tar -zcvf 压缩后的名称  要压缩的目录

解压:

tar -zxvf 压缩文件                               解压到当前目录

tar -zxvf 压缩文件 -C /目标目录          解压到指定目录

(17) firewall 防火墙的命令

    查看防火墙的状态:

    systemctl status firewalld

     设置防火墙允许放行哪些端口号

    firewall-cmd --add-port=8080/tcp --zone=public --permanent

    重启防火墙

    systemctl restart firewalld

    查看哪些端口号被放行

    firewall-cmd --list-port

    防火墙移除端口号

    firewall-cmd --remove-port=8080/tcp --zone=public --permanent

    关闭防火墙----慎重【关闭】 开启还会启动

    systemctl stop firewalld
 

8.修改ip为静态ip

注意设置的时候要选择管理员设置

vi /etc/sysconfig/network-scripts/ifcfg-ens33 

设置完重启网络

重启网络: systemctl restart network

 9.软件安装

软件的安装方式:

  1. 二进制安装。---只需要解压就可以。 只针对特殊平台。 比如jdk tomcat

  2. RPM: 按照一定的规范就可以按照该软件。 无法安装依赖的文件。

  3. yum 远程安装 基于RPM 帮你把依赖的文件安装上去。 多

  4. 安装源码安装。 编译--->打包---->安装。

window和linux之间如何传递文件:xftp---文件传输。

9.1安装jdk-1.8

(1)选择jdk--Linux版本

 (2)压缩文件上传到指定目录下

(3)解压该文件

tar -zxvf jdk-8u161~~~~.tar.gz

(4))配置环境变量 vi /etc/profile

JAVA_HOME=jdk的安装路径
PATH=

(5)刷新配置

source  /etc/profile 

这样jdk就安装完成了

9.2安装tomcat服务器--war包

(1)通过xftp上传到linux

(2)解压tomcat包

执行命令:tar -zxvf apache-tomcat-9.0.8.tar.gz  

(3)启动tomcat

进入tomcat/bin目录
./startup.sh

ps -ef | grep tomcat -----查看指定的进程  

kill -9 进程号   结束进程

(4)window中的浏览器访问tomcat

我们centos的防火墙没有给8080端口号放行。

防火墙的命令:

1. 查看防火墙的状态: systemctl status firewalld

2. 而是设置防火墙允许放行哪些端口号
firewall-cmd --add-port=8080/tcp --zone=public --permanent
3. 重启防火墙
systemctl restart firewalld

4. 查看哪些端口号被放行
firewall-cmd --list-port

5. 防火墙移除端口号
firewall-cmd --remove-port=8080/tcp --zone=public --permanent

6. 关闭防火墙----慎重【关闭】 开启还会启动
systemctl stop firewalld

9.3安装Mysql

https://blog.csdn.net/Ysuhang/article/details/126085069?spm=1001.2014.3001.5502icon-default.png?t=M666https://blog.csdn.net/Ysuhang/article/details/126085069?spm=1001.2014.3001.5502

10shell脚本--了解【能看懂别人的shell】

什么是shell脚本?

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

10.1hello world入门

#!bin/bash
echo "内容"

执行脚本:

 

修改权限:

10.2 Shell 变量

#!/bin/bash
# echo表示输出语句
echo "hello world"
# 定义变量
name="张三"
# 使用变量${}
echo "nihao ${name} welcome to qy151"

  10.3shell脚本

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

10.4 Shell 数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由 0 开始。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

 10.5基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括:

  • 算数运算符

  • 关系运算符

  • 布尔运算符

  • 字符串运算符

  • 文件测试运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加(注意使用的是反引号 *`* 而不是单引号 *'*):

 

两点注意:

  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。

  • 完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

10.5.1关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字 .

10.5.2布尔运算符

 

10.5.4 逻辑运算符

 10.6shell流程控制

if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

ps -ef | grep -c "mysql"统计某个进程的个数

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐