文章 92
评论 3
浏览 208739
10-进程、系统性能和计划任务

10-进程、系统性能和计划任务

一、进程和内存管理 内核功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1.1 什么是进程 Process:运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID和SELinux语境决定对文件系统的存取和访问权限 通常从执行进程的用户来继承 存在生命周期 进程创建: init:第一个进程,从Centos7以后为systemd 进程:都由其父进程创建,fork(),父子关系,Cow:Copy On Write 进程,线程和协程 1.1.1 进程 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标志定义 进程的组成: 进程一般由程序、数据集合和进程控制块三部分组成。 程序用于描述进程要完成的功能,是控制进程执行的指令集: 数据集合是程序在执行时所需要的数据和工作区: 程序控制块(Program Control Block,简称PCB),包含进程....

9-网络协议和管理配置

9-网络协议和管理配置

一、网络基础 1.1 网络概念 计算机网络是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的规则,进行通信的集合。 网络功能和优点 数据和应用程序 资源 网络存储 备份设备 作用范围分类: 广域网(WAN,Wide Area Network) 城域网(MAN,Metropolitan Area Network) 局域网(LAN,Local Area Network) 1.2 常见的网络物理组件 1.3 网络应用程序 1.3.1 各种网络应用 Web浏览器(Chrome、IE、Firefox等) 即时消息(QQ、微信等) 电子邮件(Outlook、foxmail等) 协作(视频会议) web网络服务(apache,nginx,IIS) 文件网络服务(ftp、nfs) 数据库服务(mysql,mariadb等) 中间件服务(tomcat,JBoss) 安全服务(Netfilter) 1.3.2 应用程序对网络的要求 批处理应用程序 FTP、TFTP、库存更新 无需直接人工交互 带宽很重要,但并非关键因素 交互式应用程序 库存查询、数据....

8-磁盘存储和文件系统管理

8-磁盘存储和文件系统管理

一、磁盘结构 1.1设备文件 一切皆文件:open(),read(),write(),close() 设备文件:关联至少一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 设备号码: 主设备号:major number,标识设备类型 次设备号:minor number,标识同一类型下的不同设备 #实例: [01:22:56 root@localhost ~]#ll /dev/null crw-rw-rw-. 1 root root 1, 3 Nov 22 01:12 /dev/null # 1,3 1是主设备号 3是次设备号 #范例:创建一个跟/dev/zero一样的文件 [01:23:04 root@localhost ~]#mknod /root/zero c 1 5 [01:27:23 root@localhost ~]#ll total 8 -rw-------. 1 root root 1301 Nov 21 23:55 anaconda-ks.cfg -rwxr-xr-x. 1 root root 1596 Nov 21 23:57 reset.sh crw-r--r....

7-软件管理

7-软件管理

一、软件相关概念 1.1 软件相关概念 1.1.1 ABI ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux:WINE Windows:Cygwin 1.1.2 API 系统级开发 汇编语言 C C++ 应用级开发 java Python go php perl ruby bash 1.2 C语言程序的实现过程 C程序源代码——预处理——编译——汇编——链接 C语言的程序编译主要经过四个过程: 预处理:(Pre-Processing) 将所有的#define删除,并且展开所有的宏定义 处理所有的条件预编译指令,比如#if #ifdef #elif等 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置 删除所有注释 添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号 保留所有的#pragma编译器指令,因为编译器需要使用他们 编....

SSH认证脚本

SSH认证脚本

#要认证的主机IP IP=" 192.168.10.182 " #centos开启 #rpm -q sshpass &>/dev/null || yum -y install sshpass #ubuntu开启 dpkg -L sshpass &>/dev/null || apt -y install sshpass [ -f /root/.ssh/id_rsa ] || ssh-keygen -f /root/.ssh/id_rsa -P '' #登录密码 export SSHPASS=123456 for HOST in $IP;do sshpass -e ssh-copy-id -o StrictHostKeyChecking=no $HOST done

6-文件查找和打包压缩

6-文件查找和打包压缩

一、文件查找 在文件系统上查找符合条件的文件 文件查找: 非实时查找(数据库查找):locate 实时查找:find 1.1 locate locate查询系统上预建的文件索引数据库/var/lib/mlocate/mlocate.db 索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库 索引构建过程需要遍历整个根文件系统,很消耗资源 locate和updatedb命令来自于mlocate包 工作特点: 查找快速 模糊查找 非实时查找 搜索的是文件的全路径,不仅仅是文件名 可能只搜索用户具备读取和执行权限的目录 格式: locate [OPTION]... [PATTERN]... 常用选项 -i 不区分大小写的搜索 -n N只列举前N个匹配项目 -r 使用基本正则表达式 范例: #搜索名称或路径中包含conf的文件 [10:15:54 root@centos8 ~]#locate conf 使用regex来搜索以“.conf”结尾的文件 [10:16:57 root@centos8 ~]#locate -r "\.conf$" 范....

5-Shell脚本编程

5-Shell脚本编程

一、编程基础 Linus:Talk is cheap,show me the code 1.1 程序组成 程序:算法+数据结构 数据:是程序的核心 数据结构:数据在计算机中的类型和组织方式 算法:处理数据的方式 1.2 程序编程风格 面向过程语言 做一件事,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现情况B,做什么处理 问题规模小,可以步骤化,按部就班处理 以指令为中心,数据服务于指令 C,shell 面向对象语言 一种认识世界、分析世界的方法论。将万事万物抽象为各种对象 类是抽象的概念,是万事万物的抽象,是一类事物的共同特征的集合 对象是类的具象,是一个实体 问题规模大,复杂系统 以数据为中心,指令服务于数据 java,C#,python,golang等 1.3 编程语言 计算机:运行二进制指令 编程语言:人与计算机之间交互的语言。分为俩种:低级语言和高级语言 低级编程语言: 机器:二进制的0和1的序列,称为机器指令。与自然语言差异太大,难懂、难写 汇编:用一些助记符号替代机器指令,称为汇编语言 高级编程语言: 编译:高级语言——....

4-Linux文本处理工具和正则表达式

4-Linux文本处理工具和正则表达式

一、文本编辑工具之VIM 1.1 vi 和 vim简介 在Linux中我们经常编辑修改文本文件,即由ASCII,Unicode或其他编码的纯文字的文件。 文本编辑种类: 全屏编辑器:vi,vim...... 行编辑器:sed vi visual editor,文本编辑器,是Linux必备工具之一,功能强大,学习曲线较陡峭,学习难度大。 vim Visual editor iMproved,和vi使用方法一致,但功能更为强大,最小化安装时不是必安装软件,需要自行安装 官网:https://www.vim.org/ 1.2 使用 vim 初步 1.2.1 vim 命令格式 vim [option]... FILE... 常用选项: +# #打开文件后,让光标处于第#行的行首,+默认行尾 +/PATTERN #让光标处于第一个被PATTERN匹配到的行行首 -b file #二进制方式打开文件 -d file1 file2... #比较多个文件,相当于vimdiff -m file #只读打开文件 -e file #直接进入ex模式,相当于执行ex file -y file #直接可以....

3-Linux用户组和权限管理

3-Linux用户组和权限管理

一、Linux安全模型 资源分派: Authentication:认证,验证用户身份 Authorization:授权,不同的用户设置不同权限 Accouting|Audition:审计 当用户登录成功时,系统会自动分配令牌token,包括:用户标识和组成员等信息 1.1 用户 Linux 中每个用户是通过User id (UID)来唯一标识的 管理员:root,0 普通用户:1-60000 自动分配 系统用户:1-499(centos6以前),1-999(centos7以后) 对守护进程获取资源进行权限分配 登录用户:500+(centos6以前),1000+(centos7之后) 给用户进行交互式登录使用 1.2 用户组 Linux 中可以将一个或多个用户加入用户组中,用户组是通过Group ID(GUID)来唯一标识的。 管理员组:root,0 普通组: 系统组:1-499(centos6以前),1-999(centos7以后),对守护进程获取资源进行权限分配 普通组:500+(centos6以前),1000+(centos7以后),给用户使用 1.....

2-Linux文件管理和IO重定向

2-Linux文件管理和IO重定向

一、文件系统目录结构 1.1 文件系统的目录结构 文件和目录被组织成一个单根倒置树结构 文件系统从根目录下开始,用“/”表示 跟文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL,Mail 以 . 开头的文件为隐藏文件 路径分割的 / 文件名最长255个字节 包括路径在内的文件名称最长4095个字节 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件 除了斜杆和NULL,所有字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用 每个文件都有俩类相关数据:元数据:metadata,即属性,数据:data,即文件内容 Linux的文件系统分层结构:FHS Filesystem Hierarchy Standard 参考文档:https://www.pathname.com/fhs/ 1.2常见的文件系统目录功能 /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,....

1-Linux基础

1-Linux基础

一、Linux 基础 1.1 用户类型 root用户 一个特殊的管理员账户 也被称为超级用户 root已接近完整的系统控制,对系统损害几乎有无限的能力 普通(非特权)用户 除非必要,不要登录为root 权限有限 造成损害的能力比较有限 是什么用户是由用户uid来决定 ,查看方法 id -u 1.2 终端 terminal 1.2.1 终端类型 控制台终端:/dev/console 串行终端:/dev/ttys# 虚拟终端:tty: /dev/tty# 图形终端:startx,xwindows 伪终端:tpy:/dev/pts/# 如:ssh远程连接 1.2.2 查看当前终端设备:tty 范例: [20:00:11 root@localhost ~]#tty /dev/pts/0 1.2.3 查看所有的登录终端:who | w [20:14:12 root@localhost ~]#who root pts/0 2020-11-25 08:37 (192.168.10.1) root pts/1 2020-11-25 20:14 (192.168.10.1) w命令也能看到其....

Centos与Ubuntu初始化shell脚本

Centos与Ubuntu初始化shell脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2020-12-18 #FileName:reset_Linux_OS_v4.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2020 All rights reserved #******************************************************************** Centos(){ centos_Version(){ Version=`grep -Eo "[0-9].[0-9]" /etc/redhat-release | tr '.' '%' | tr '\n' % |cut -d% -f 1` #Version=`sed -nr 's/.* ([0-9])\..*/\1/p'....

生而为人