linux学习week2+3

linux学习

九.linux磁盘分区、挂载

3.磁盘情况查询

命令:df -h
注意:使用率到80%以上就要清理了
查询指定目录的磁盘占用情况:du -d 目录
其它参数:
-s:指定目录占用大小汇总
-h:带计量单位
-a:含文件
–max-depth=1:子目录深度
-c:列出明细的同时,增加汇总值

4.磁盘使用指令

①统计/opt文件下文件的个数:ls -l /opt | grep “^-” | wc -l
其中ls -l /opt是展示/opt目录下所有文件
| grep "^-“表示将前面的结果传给此处处理,处理方式是过滤出开头是-的文件(”^-"是正则表达式,表示以-开头)
| wc -l:再传给此处,wc -l即是统计数量并列出来


②统计/opt文件下目录的个数:ls -l /opt | grep “^d” | wc -l


③统计/opt文件下文件的个数(包括文件夹里的):ls -lR /opt | grep “^-” | wc -l


④统计/opt文件下目录的个数(包括文件夹里的):ls -lR /opt | grep “^d” | wc -l


⑤以树状显示目录结构:tree 目录
注意:如果没有tree,则使用yum install tree安装

十.网络配置

1.NAT网络原理图

图片消失了

vmnet8是VMware虚拟机软件中创建的虚拟网络接口之一。在VMware的网络配置中,每个虚拟网络接口都由一个唯一的标识符(如 vmnet0、vmnet1 等)来表示。vmnet8 通常是默认用于 NAT(网络地址转换)网络的接口
linux与vmnet8相连,然后vmnet8与主机的无线网卡相连,网卡可以发送请求到局域网的网关(如路由器),然后网关可以发送请求到互联网,实现linux到互联网的连接

2.网络配置指令

查看虚拟网络编辑器和修改IP地址:
请添加图片描述

查看网关:
请添加图片描述

查看windows环境中的vmnet8网络配置(ipconfig指令)
查看linux的网络配置:ifconfig
测试主机之间网络连通性:ping 目标主机,如:ping baidu.com

3.linux网络环境配置

方案一:自动获取,若设置自动,则登录后自动获取一个ip
请添加图片描述

缺点:ip地址可能不一样


方案二:直接修改配置文件来指定ip,并可以连接到外网
编辑 /etc/sysconfig/network-scripts/ifcfg-ens33文件
ifcfg-ens33文件说明:
请添加图片描述

注意:要将vmnet8和网关的ip也改掉
重启网络服务器或者重启系统才会生效(命令:service network restart或reboot)

4.主机名和host映射

为了方便记忆,可以给linux系统设置主机名
指令hostname查看主机名
修改文件在/etc/hostname指定(修改后,重启生效)


如何通过主机名能够找到某个linux系统
在windows中,C:\windows\System32\drivers\etc\hosts文件指定
如:192.168.200.130 hspedu100
在linux中,/etc/hosts文件指定
如:192.168.200.1 ThinkPad-PC


hosts:一个文本文件,用来记录IP和Hostname(主机名)的映射关系
DNS(Domain Name System):域名系统,是互联网上作为域名和IP地址互相映射的一个分布式数据库
主机名解析机制分析:
请添加图片描述

十一.进程管理

1.基本介绍

在linux中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号(pid,进程号)
进程分前台和后台,前台是指用户当前屏幕中可以交互的前台进程
一般系统的服务都是以后台进程的方式存在,它们会常驻在系统中,知道关机才结束

2.显示系统的进程

ps命令是用来查看目前系统中的进程,及其各种信息,可以不带参数
常用参数:
请添加图片描述

ps详解

ps -aux | grep xxx:查看带xxx字样的进程
指令说明:
·System V展示风格
·USER:用户名
·PID:进程号
·%CPU:进程占CPU的百分比
·%MEM:进程占物理内存的百分比
·VSZ:进程占用的虚拟内存的大小(KB)
·RSS:进程占用的物理内存大小(KB)
·TT:终端名称,缩写
·STAT:进程状态,其中S表示睡眠,s表示该进程是会话的先导进程,N表示进程拥有比普通优先级更低的优先级,R表示正在运行,D表示短期等待,Z表示僵死进程,T表示被跟踪或者被停止
·STARTED:进程的启动时间
·TIME:CPU时间,即进程使用CPU的总时间
·COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

3.父子进程

父进程就是创建子进程的进程
当一个新的子进程被创建时,它会继承很多特性和资源,其中包括它的父进程
所有进程的祖先进程即PID为1的进程,我们称它为系统进程或init进程,它是固定的

4.终止进程

基本语法:
kill [选项] 进程号
killall 进程名称(支持通配符)
注意:如果父进程忽略(ignore)了SIGTERM信号(默认行为是忽略),那么当使用kill或者killall终止父进程时,其子进程将会被保持运行
常用选项:-9:表示强制停止

5.pstree

基本语法:pstree [选项]:可以更加直观地查看进程树
常见选项:
-p:显示进程号
-u:显示进程的所属用户

6.服务管理

服务的本质就是进程,但是是在后台运行的,通常都会监听某个端口,等待其它程序的请求,因此又称为守护进程
service管理指令:

  1. service 服务名[start | stop | restart | reload | status]
  2. 在CentOS7后很多服务不再使用service管理,而是systemctl
  3. service指令管理的服务在/etc/init.d查看

查看服务名:

  1. 方式1:使用setup -> 点击系统服务,就可以看到所有服务名,带*的表示自启动
  2. 方式2:/etc/init.d看到service指令管理的服务,命令:ls -l /etc/init.d
运行级别

linux系统有7中运行级别:
0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
1:单用户工作状态,root权限,用于系统维护,禁止远程登录
2:多用户状态(没有NFS),不支持网络
3:完全的多用户状态(有NFS),无界面,登录后进入控制台命令行模式
4:系统未使用,保留
5:X11控制台,登录后进入图形GUI模式
6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
运行级别在/etc/initab中
命令:
systemctl get-default可以查看默认运行级别
systemctl set-default可以设置默认运行级别


开机的流程说明:
请添加图片描述

chkconfig命令

介绍:

  1. 通过chkconfig可以给服务的各个运行级别设置自启动或者关闭
  2. chkconfig指令管理的服务在/etc/init.d中查看
  3. CentOS7后,很多服务使用systemctl管理

基本语法:
chkconfig --list [| grep xxx]:查看服务
chkconfig 服务名 --list:可以列出特定服务在各个运行级别下的启动状态,即服务是否随着系统的启动而启动
chkconfig --level 5 服务名 on/off:设置服务在运行级别5时自启动或关闭
使用细节:chkconfig重新设置服务后自启动或关闭,需要重启机器reboot生效

systemctl

基本语法:systemctl [start | stop | restart | status] 服务名:开始/停止/重启/查看服务
systemctl指令管理的服务在/user/lib/systemd/system查看
systemctl设置服务的自启动状态:

  1. systemctl list-unit-files [| grep 服务名]:列出服务开机启动状态
  2. systemctl enable 服务名:设置服务开机自启动
  3. systemctl disable 服务名:关闭服务开机自启动
  4. systemctl is-enabled 服务名:查询某个服务是否自启动

注意:

  1. 关闭或启动防火墙后,立即生效
  2. systemctl [start | stop…]这种方式只是暂时生效,系统重启后失效
  3. systemctl enable/disable可以永久生效
firewall

当防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯,这时就需要打开指定的端口
打开端口:firewall-cmd --permanent --add-port=端口号/协议
关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
重新载入,才能生效:firewall-cmd --reloaded
查询端口状态:firewall-cmd --query-port=端口号/协议

7.动态监控进程

top与ps命令相似,都可以显示正在执行的进程。最大的不同在于top在执行一段时间可以更新正在运行的进程
基本语法:top [选项]
常用选项:
请添加图片描述

操作交互:
请添加图片描述

如果按u然后回车,再输入用户名,即可监听特定用户
如果按k然后回车,再输入进程ID号,即可终止指定的进程

8.监控网络状态

基本语法:netstat [选项]
选项说明:
-an:按一定顺序排序输出
-p:显示哪个进程在调用


ping是一种网络检测工具,它主要是检测远程主机是否正常,或是两部主机间的网线或网卡故障,如:ping 对方ip地址

十二.rpm与yum

1.rpm基本介绍

rpm是用于互联网下载包的打包及安装工具,它包含在某些linux分发版中。它生成具有.RPM拓展名的文件。RPM是RedHat Package Manager的缩写,类似于Windows的setup.exe
linux的分发版本都有采用(suse,redhat,centos),可以算是公认的行业标准
rpm包的简单查询指令:rpm -qa|grep xx:查询已经安装的rpm列表
rpm包名基本格式:
案例:firefox-60.2.2-1.el7.centos.x86_64
firefox:名称
60.2.2-1:版本号
el7.centos.x86_64:适用操作系统
如果是i686,i386表示32位系统,noarch表示通用
rpm的其它查询指令:
请添加图片描述

2.rpm包的管理

卸载rpm包:rpm -e RPM包的名称
如:rpm -e firefox
注意:

  1. 如果其它软件包依赖于要卸载的软件包,则卸载时会产生错误信息
  2. 如果要强制卸载,可以加参数–nodeps

安装rpm包:rpm -ivh RPM包全路径名称
参数说明:i=install 安装,v=verbose 提示,h=hash 进度条

3.yum

yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包
基本指令:
yum list | grep xx软件列表:查询yum服务器是否有需要安装的软件
yum install xxx:下载安装

十三.java配置

1.安装jdk

步骤:
请添加图片描述

2.安装Tomcat

步骤:
请添加图片描述

3.idea安装

步骤:
请添加图片描述

4.mysql安装

步骤:
请添加图片描述

请添加图片描述

十四.shell编程

1.快速入门

shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止、编写一些程序
脚本格式要求:

  1. 一般以.sh为文件后缀
  2. 以#!/bin/bash开头
  3. 脚本需要可执行权限

脚本的常用执行方式:

  1. 输入脚本的绝对路径或相对路径(需要先赋予脚本+x权限)
  2. sh+脚本(不需要权限)

2.shell变量

介绍:

  1. linux Shell中的变量分为系统变量和用户自定义变量
  2. 系统变量:$HOME,$PWD,$SHELL,$USER等等
  3. 显示当前shell中所有变量:set

变量的定义:变量名=值(没有空格)
撤销变量:unset 变量名
声明静态变量:readonly 变量(不能unset)
定义变量的规则:

  1. 变量名可以由字母、数字和下划线组成,但是不能以数字开头
  2. 等号两侧不能有空格
  3. 变量名一般习惯为大写

将命令或函数的返回值赋给变量:

  1. A=`date`:反引号,运行里面的命令,并把结果返回给A
  2. A=$(date):等价于反引号

3.设置环境变量

基本步骤:

  1. export 变量名=变量值(将shell变量输出为环境变量/全局变量)
  2. source 配置文件(让修改后的配置信息生效
  3. echo $变量名(查询环境变量的值)

4.注释

单行注释:#内容
多行内容:

:<<!
内容  
!

5.位置参数变量

当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用位置参数变量
比如:./myshell.sh 100 200,其中参数就是100和200,位置参数变量可以将它们的信息反映出来
基本语法:

  1. $n($0代表命令本身,$1-9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}
  2. $*(代表命令行中所有的参数,它将所有的参数看成一个整体)
  3. $@(代表所有的参数,它将每个参数区分对待)
  4. $#(代表命令行中所有参数的个数)

6.预定义变量

基本介绍:就是shell设计者事先定义好的变量
基本语法:

  1. $$(当前进程的进程号)
  2. $!(后台运行的最后一个进程的进程号)
  3. $?(最后一次执行的命令的返回状态,如果这个变量为0,则证明上一个命令正确执行,非0则不正确)

7.运算式

基本语法:

  1. $((运算式))或$[运算式]或expr m + n
  2. 注意expr运算符间要有空格,如果希望将expr的结果赋给某个变量,要使用``
  3. expr m - n
  4. expr \*,/,%:乘,除,取余

8.条件判断

基本语法:[ 条件语句 ](注意条件语句前后要有空格,若为空则返回false)

常用判断条件:

字符串比较: =

整数比较:
①-lt(little):小于
②-le(little equal):小于等于
③-eq:等于
④-gt(great):大于
⑤-ge:大于等于
⑥-ne(not equal):不等于

文件权限判断:
-r:有读的权限
-w:有写的权限
-x:有执行的权限

按照文件类型判断:
-f:文件存在并且是一个常规的文件
-e:文件存在
-d:文件存在并是一个目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/782949.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

lora/lycoris

Stable Diffusion 训练指南 (LyCORIS) | Coding HuskyStable Diffusion 文字生成图片的教程已经很多了。这篇文章是讲解如何用 Kohya Trainer 在 Google Colab 上训练一个 LyCORIS 模型。在读之前希望你已经至少玩过 Stable Diffusion。https://ericfu.me/stable-diffusion-fin…

QFileSystemModel绑定到 QTreeView、 QListView、QTableView

QFileSystemModel绑定到 QTreeView、 QListView、QTableView&#xff0c;实现文件的查看 .h文件 #ifndef FILESYSEXAMPLE_H #define FILESYSEXAMPLE_H#include <QMainWindow> #include <QFileSystemModel>namespace Ui { class FileSysExample; }class FileSysExam…

Vuex的模块化编程

1.之前我们使用store引入的时候不够简介&#xff0c;store为我们封装了方法 mapState:从state中获取数据,以数组的方式返回 mapGetters:从getters中获取方法,以数组的方式返回 mapMutations:从mutations中获取操作,以数组的方式返回 mapActions:从actions中获取动作,以数组的方…

Hi3861 OpenHarmony嵌入式应用入门--MQTT

MQTT 是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输 协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用&#xff0c;是专为受限设备和低带宽、 高延迟或不可靠的网络而设计。这些原则也使该协议成为新兴的“机器…

PFC电路中MOS管的选取2

上面这种驱动方式叫推挽驱动&#xff0c;或者图腾柱驱动 当芯片驱动脚 DRV为高电平时&#xff0c;此时回路中的源是芯片的 DRV引脚&#xff0c;芯片驱动电流从左往右流动&#xff0c;通过 R1&#xff0c;通过Q1的be脚&#xff0c;通过R3、R4给MOS管Q4的Cgs结电容充电 不过值得…

Mybatis-Plus一文详解BaseMapper和Service 使用

Mybatis-Plus简介 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 特性&#xff1a; 无侵入&#xff1a;只做增强不做…

idea 默认路径修改

1.查看 idea 的安装路径&#xff08;右键点击 idea 图标&#xff0c;查看路径 &#xff09; “C:\Program Files\JetBrains\IntelliJ IDEA 2021.3.1\bin\idea64.exe” 在 bin 目录查看 idea.properties 文件&#xff0c;修改以下四个路径文件 # idea.config.path${user.home}/…

Linux的前世今生

Unix的起源和发展 1969年&#xff0c;AT&T贝尔实验室的Ken Thompson和Dennis Ritchie等人开发了Unix操作系统。Unix的设计理念强调小而简洁的工具&#xff0c;文本流和系统模块化&#xff0c;这些理念后来成为Linux开发的重要基础。1973年&#xff0c;Unix用C语言重新编写…

昇思25天学习打卡营第17天 | K近邻算法实现红酒聚类

内容介绍&#xff1a; K近邻算法&#xff08;K-Nearest-Neighbor, KNN&#xff09;是一种用于分类和回归的非参数统计方法&#xff0c;是机器学习最基础的算法之一。它正是基于以上思想&#xff1a;要确定一个样本的类别&#xff0c;可以计算它与所有训练样本的距离&#xff0…

LVGL移植与VS模拟器使用

一、移植文件介绍 二、移植部分 第一步&#xff1a;创建LVGL文件夹 第二步&#xff1a; 构造LVGL文件夹&#xff1a;LVGL - GUI - lvgl - 第三步&#xff1a;添加文件 3.1 从examples中添加2个.c文件 3.2 从src中添加文件 draw文件 extra文件 第四步&#xff1a; 三、Ke…

分享2个iPhone恢复照片的方法,赶紧码住收藏!

手机已经成为我们生活中不可或缺的一部分&#xff0c;它不仅仅是通讯工具&#xff0c;更是我们记录生活点滴的重要工具之一。然而&#xff0c;正如其他任何设备一样&#xff0c;iPhone上存储的照片有时也会不小心被删除或丢失。 别担心&#xff0c;即使你误删了重要的照片&…

网安加·百家讲坛 | 马云卓:漏洞扫描工具漏洞报告对比

作者简介&#xff1a;马云卓&#xff0c;某安全公司安全专家&#xff0c;持有注册信息安全专业人员及渗透测试工程师&#xff08;CISP-PTE&#xff09;和项目管理专业人士&#xff08;PMP&#xff09;证书&#xff0c;拥有丰富的行业经验&#xff0c;长期专注于网络安全攻防技术…

用SOLIDWORKS批量打印工程图纸,没有难度

在工程师完成产品设计后&#xff0c;一般需要打印纸质工程图&#xff0c;如果打印的数量比较多&#xff0c;效率就会比较低&#xff0c;其实SOLIDWORKS软件提供了专用工具用来处理工作量比较大且重复性的工作&#xff0c;这个工具就是SOLIDWORKS Task Scheduler。 SOLIDWORKS T…

css实现鼠标禁用(鼠标滑过显示红色禁止符号)

css实现鼠标禁用&#xff08;鼠标滑过显示红色禁止符号&#xff09; 创作背景css鼠标禁用 创作背景 从本文开始&#xff0c;将会用三篇文章来一步一步实现 vueantdts实战后台管理系统中table表格的不可控操作。中间会补充两篇css知识文章 &#xff0c;方便后续功能的实现。 实…

面向对象编程:定义、特点、应用场景、优缺点及示例代码

目录 前言1. 面向对象编程的定义2. 面向对象编程的特点2.1 封装2.2 继承2.3 多态2.4 抽象 3. 面向对象编程的应用场景3.1 大型软件系统3.2 GUI应用程序3.3 游戏开发 4. 面向对象编程的优缺点4.1 优点4.2 缺点 5. 代表性的编程语言5.1 Java5.2 C5.3 Python 6. 示例代码结语 前言…

【爱上C++】vector用法详解

文章目录 一:vector简介二:vector的创建和初始化三:vector的遍历1.[]下标2.at()3.迭代器遍历4.范围for 四:vector的空间1.size2.max_size3.capacity4.reserve5.resize6.empty 五:vector的增删查改1.push_back2.pop_back3.find4.insert5.erase6.swap7.assign Hello~同学们好&…

ESP32CAM物联网教学10

ESP32CAM物联网教学10 MicroPython 应用体验 小智偶然地发现&#xff0c;有一种新兴的编程模式MicroPython&#xff0c;也能编写ESP32Cam的应用程序了&#xff0c;于是欣然地体验了一把。 编程环境搭建 小智偶然地从下面这家店铺买了一块ESP32Cam&#xff0c;并从客服那里得到…

【人工智能】-- 智能家居

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;引言 &#x1f349;基于深度卷积神经网络的表情识别 &#x1f348;流程图 &#x1f348;模型设计 &#x1f34d;网络架…

复旦微JFMVU3P-2FFVC1517 FPGA+AI全国产化人工智能数据处理平台,适用于雷达与中频信号采集、视频图像采集

板载FPGA实时处理器&#xff1a;JFMVU3P-2FFVC1517支持1个FMC&#xff08;HPC&#xff09;扩展接口支持2路QSFP光纤接口支持x8 Gen3 PCIE主机接口&#xff0c;系统带宽&#xff1e;5GByte/s支持1个R45自适应千兆以太网口支持1个GPIO/RS422接口 基于复旦微16nm工艺JFM9VU3P FPG…

【Linux】记录一起网站劫持事件

故事很短&#xff0c;处理也简单。权当记录一下&#xff0c;各位安全大大们手下留情。 最近一位客户遇到官网被劫持的情况&#xff0c;想我们帮忙解决一下&#xff08;本来不关我们的事&#xff0c;毕竟情面在这…还是无偿地协助一下&#xff09;&#xff0c;经过三四轮“谦让…