什么是操作系统?

1.操作系统:(Operating System,OS)是计算机系统中的一个系统软件,它们管理和控制计算机系统中的硬件及软件资源,为用户提供一个功能强大、使用方便的和可扩展的工作环境。
2.它是配置在计算机硬件上的第一层软件,是对硬件功能的扩充
3.操作系统在整个计算机系统中具有极其重要的特殊位置,它不仅是硬件和其他软件系统的接口,也是用户和计算机之间交流的界面

操作系统的基本组成:
操作系统
用户接口
处理管理 存储管理 设备管理 文件管理

用户接口:
两种类型:
命令接口:用户通过交互命令方式直接或间接地对计算机进行操作
程序接口:也称为应用程序编程接口(Application Programming Interface API)用户通过调用系统提供的例行程序,实现既定的操作

处理器管理:
1.处理器管理的目的:为了让CPU有条不紊的工作
2.起因:由于系统内一般有多道程序存在,这些程序都要想用CPU资源
3.瓶颈:在同一时刻,CPU只能执行一条程序
4.处理:通过操作系统,把CPU的时间合理地、动态地分配给各道程
程序--硬盘---静态
程序--进程---内存--动态

存储器管理:
1.作用:操作系统对计算机系统内存的管理
2.目的:使用户合理的使用内存
3.工作:合理分配内存和及时回收内存;存储保护;扩充内存
内存中
代码区:代码中的变量-栈 ;代码中的对象-堆
静
栈:变量
堆:对象

设备管理:
1.作用:对除CPU和内存外所有的外部设备的管理
2.目标:保证用户方便的使用各种设备
3.实现手段:采用先进的技术比如:通道技术、虚拟设备技术、缓冲技术、终端技术等尽可能实现设备并行工作的能力,合理分配设备

文件管理:
1.作用:对计算机系统中软件资源的管理
2.目的:为用户创建一个方便安全的信息使用环境
3.文件管理功能包括:
 文件的结构及存取方式
 文件的目录结构及有关处理
 文件存储空间的管理
 文件你的共享和保护
 文件的操作和使用

什么是进程?
1.进程是执行起来的程序 是系统进行资源调度和分配的一个独立单位
2.进程由程序、数据和进程控制块(pcb)三部分组成
3.在哪里看进程?资源管理器 ID 0-65536
进程状态转换示意图
     提交           进程调度                  释放
创建-------就绪-----------------------运行---------------退出
                     时间片到
                          
              事件发生           事件请求    

                        阻塞

常见的PC操作系统:
1.WINDOWS是MicroSoft公司的产品。是一个单用户多任务操作系统
2.UNIX操作系统是一个多用户、多任务的分时操作系统
3.Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel X86系列CPU的计算机上

Linux定义:
狭义:
1.指Linux kernel(内核)
2.内核负责管理硬件,并为上层应用提供接口
广义:
1.指以Linux kernel为基础,包括OS和各种应用在内的各个Linux版本
2.各版本之间的差异体现在客户群、升级维护和界面等方面

LS命令 :
1.作用:显示指定目录下的内容
2.常用的参数
  -a:显示所有文件和目录,包含隐藏文件和目录
  -A:显示所有文件和目录,包括隐藏文件和目录,但不显示“.”和“..”目录

LS中命令结果中各种色彩代表的含义:
1.蓝色:目录
2.绿色:可执行文件
3.红色:压缩文件
4.浅蓝色:链接文件
5.灰色:其他文件

================================================================================================

Linux系统不同文件夹的作用

dev CPU

etc  hosts

lib  系统文件,比如自带的python2.7

var 可变文件,比如日志/var/log/secure

boot  存放内核与启动文件  比如systemctl

opt  软件存放目录  比如安装的Python-3.9.0

root 特权用户目录

sbin  存放特权的二进制文件 比如我们使用的lsof工具,ifconfig可以查看系统下的数据

sys 系统的配置,比如系统的防火墙,内核

usr 安装软件默认路径

/proc  存放了硬件信息 比如cpuinfo

/var/log  记录系统及软件运行信息文件所在目录

  messages:系统级别日志文件

  secure:用户登录信息日志文件

  dmesg:记录硬件信息加载情况的日志文件

================================================================================================

命令 :
命令 [选项][参数]
用户主目录:/home/用户名     ~

1.ls 显示路径中的内容
ls [参数] [路径]
    ls
    ls -l 显示根目录下详细信息
    ls -l /dev

-:普通文件
d:目录文件
l:链接文件
c:字符设备文件
b:块设备文件
p:管道文件

    ls -a 显示所有文件,包括隐藏文件
    ls -A
    ls  -R 递归显示所有目录及文件
    ls -t
    ls  -F
    
./b/c  <==> b/c
E:/a/b/c ==> /a/b/c

路径: 绝对路径: D:/file
        D:/new/b
      相对路径: ../file
        ./b ==> b

linux:  绝对路径:   /
    /--跟目录   /home/www/
       相对路径:     ./  可以省略不写 (当前路径)
            ../ (上一级路径)
            ~ /home/wch

2.切换路径
cd :进入用户主目录
 cd 路径
    /
    ~  进入用户主目录
     - 返回进入此目录之前所在目录
     . 表示当前目录
     .. 返回上级目录

3.历史纪录:
4.清屏、清空记录:clear/ ctrl+l
5.pwd
6.tree  
     yum -y install tree

3.创建目录文件
mkdir -p 目录文件名的路径

4.删除空目录文件
rmdir 目录文件名    
    1.在目录文件外
    2.目录文件是空目录

5.删除文件
rm 文件名
    1.删除目录文件 rm -ri 目录文件名
        -r:递归删除
        -i:提示信息
        -f:不显示提示信息

    2.删除普通文件 rm -i 普通文件名
        -i:提示信息
        -f:不显示提示信息

6.创建普通文件:空文件
touch 路径/文件名

1.root 2.网格连接
tree命令的安装: yum -y install tree
tree的使用: tree

su 用户名
1.普通用户到管理用户需要输入密码
2.管理用户到普通用户不需要输入密码

7.cp复制文件
 普通文件:   cp 原文件路径/普通文件名 新文件的路径/文件名
        文件名不写,与原文件同名
        文件名写,原文件改名为文件名

目录文件    cp  -r 原文件路径 新文件的路径
    新文件的路径 不存在时,创建一个
    新文件的路径 存在时,在里面创建一个

8.mv 移动
    1.剪切(原文件不存在)
    mv 原文件路径 新文件的路径
    2.更名
    mv 原文件路径 新文件的路径
    原文件路径与新文件的路径相同,但文件名不同

9.查找文件
    find 路径 -name 文件名

10.通配符
    *:0,1,多个字符
    ?:1字符

11.关机 重启电脑
shutdown命令用于关机
reboot命令用于重启电脑

语法:reboot
   作用和shutdown –r now一样。

====================================================================================================

帮助的命令:
1.man 命令 , 打开帮助手册
        1.命令: man cd
        2.系统调用: man 2 系统函数
        3.C语言库函: man 3 C语言函数
    printf  fork

2.help:
        内部:help 命令
        外部: 命令  --help
        type 命令
            cd is a shell builtin 内部
            ls is aliased to `ls --color=auto' 外部
3.命令文件的路径:whereis -mb 命令
4. info 命令     显示的是命令手册

一。vi / vim
vi 路径/文件名

1.命令模式
2.输入模式
3.末行模式

  命令模式 - i/o/a/ I/A/O--> 输入模式
      <----ESC 键------

 命令模式  --  :  /开头的命令--->  末行模式
:w
:q
:wq

4基本使用
    1)命令模式下的命令: x:删除光标所在的字符,
               dd:删除当前行,
               dw:删除单词
               yy:剪贴板
               p:粘贴
               ZZ:保存并退出    
            
    2)输入模式下的命令:
    移动光标

    3)未行模式下的命令:
        :x
        :w 文件名
        :q
        :wq
        :set nu/ set nonu

        ?
        :
         /sss  n , shift+n
        :开始的行号, 结束的行号s/要被替换的字符/新字符/ic   默认参数:无提示区分大小写 eg

    行号:9, 到文件尾 $, %

5.vim打开多个文件
    1. vi 文件名1, 文件名2, 文件3,。。。    
        :n          跳到下一个文件
        :e 文件名     跳到指定文件 如果文件名不存在创建一个新文件

    2.vi 文件名
      :sp 文件名   竖向打开文件 :new
      :vsp 文件名  横向打开文件 :vnew
      ctl+ww

    sp 无文件名  打开当前光标所在处的文件
    new 无文件名 创建一个新文件,再保存时需要加入文件名,wq 文件名

二。查看文件
cat [文件名]
    -n:连行号一起显示在屏幕上
    -b:连行号一起显示在屏幕上,但空行不算。
    
 -t:连特殊字符一起显示在屏幕上。
    
more 文件名
    +n:从笫n行开始显示
    
-n: 定义屏幕大小为n行
下翻命令:回车(单行下翻)
    ctrl+f(整页下翻)
    空格键(整页下翻)
    未到底退出则按q键。

less 文件名
     -N  显示每行的行号
    按q可以退出
    less 命令;空格键 滚动一页;
    回车键 滚动一行。

head -n 文件名
     -n:指定显示多少行

tail -n 文件名
       -n:指定显示多少行

vi / vim 查看也作编辑

grep -rin 用查找的内容  要查找的文件路径
    -v反向筛选出不含过滤关键词的
     -i:忽略关键词大小写
    -n 在显示符合范本样式的那一列之前,标示出该列的编号
    -r 在目录文件中查找

find     -name 文件名

三。压缩打包命令
    一)归档并压缩
    1.tar -cvf 归档文件名.tar  要归档的文件名列表
    2.tar -czvf 归档并压缩文件名.tar.gz 要归档的文件名列表
    3.tar -cjvf 归档并压缩文件名.bz2 要归档的文件名列表
    4.zip  归档并压缩文件名.zip 要归档的文件名列表

    二)解归档并压
    1.tar -xf 归档文件名.tar -C 解压缩的路径
    2.tar -xzf 归档并压缩文件名.tar.gz -C 解压缩的路径
    3.tar -xjf 归档并压缩文件名.bz2 -C 解压缩的路径
    4.unzip  归档并压缩文件名.zip  -d 解压缩的路径

    三)查看解归档并压
    1.tar -tf 归档文件名.tar
    2.tar -tzf 归档并压缩文件名.tar.gz
    3.tar -tjf 归档并压缩文件名.bz2
    4.unzip -v 归档并压缩文件名.zip

四。用户的管理 (root)
    1.useradd -m 用户名
         -m:创建用户并创建用户的主目录(略)
        -M:创建用户,不创建用户的主目录
                mkdir 用户
    
    2.passwd a1
            
    3.su - 用户名

    4.userdel -r 用户名

    5.usermod -L 用户名
        锁定用户的密码
      usermod -U 用户名
        解锁 用户的密码可用

    6.创建组
        groupadd 组名

    7.组中添加用户
        usermod -g 组名  以存在的用户     : 用户,组存在改变用户所属的组
        useradd -g 组名 -m 用户不存在     :用户不存,组存在, 创建用户时直接添加组(如不指定组,用户名就是组名)
        -m可以省略

    8.删除组
        groupdel 组名

========================================================================================================

1.用户账号文件:/etc/passwd

2.影子密码文件:/etc/shadow

3.组账号文件/etc/group

4.组影子密码文件/etc/gshadow

5.查看用户组

语法:
    groups  [用户名] ; 显示用户名所在的组
    id      [用户名];当前用户的信息

6.用户群组 成员更改

语法:
    gpasswd  [-option]用户名 群组名
     -a  添加用户进群组
     -d 从群组移除用
    gpasswd  -a a1 B ;  
    gpasswd -d a1 B;

二、用户的类型

1.root管理员:所有权限

2.文件拥有者(u):谁创建谁拥有

3.组 (g):用户组

4.其它用户(o):不属于用户组,也不是文件的创建者,不是管理员

5.所有用户(a): u, g , o

r--读, w--写, x--执行

0 0 1 ==> 1
0 1 0 ==> 2
1 0 0 ==> 4

1 1 1 ==> 7

rwx    
111==> 7  
 
__ x
001===> 1

-w-
010===> 2

r--
100 ==>  4

4       2       1
100    010   001

111

三、修改文件权限
chmod 777 文件名
chmod 0777 文件名

chmod u+wrx, g-wr, o=wrx 文件名

四、默认权限
umask : 补码
普通文件: 002
666
664

目录文件: 002
777
775
umask 001

五、文件重定向

1.标准输入文件(键盘): 0
2.标准输出文件(显示器): 1
3.标准错误文件(显示器): 2

wc ,  cat :  标准输入输出命令

标准输入重定向: <
 
标准输出重定向: > ,>>

标准错误重定向: 2>,2>>

标准错误与标准输出重定向: &> , &>>

六、管道命令:|
前一个命令的输出做为下一个命令的输入
ls -l | wc

ps -aux | grep vim
 
Wc  统计行数 字符串数  字符数  

七、进程管理 (程序, 进程)
0-255 系统进程, 255--2048保留端口号 , 2048---65535 无符号整数的上限

1.查看进程   ctrl + d 进程结束
ps -aux
ps -ef
-a:所有进程。

-u:显示用户。

-x:列出所有tty进程,tty是当前所使用虚拟终端。

-e:所有进程,与a略有区别,这里不做具体区分。

-f:完整显示进程信息。

2.杀死
kill -9 进程id
ctrl + c

3.后台进程
命令 &
ctrl + z

4.查看所有后台进程
jobs

5.将后台进程变为前台进程
fg %任务编号

6.查看当前系统负载
w
用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

7.动态监控进程所占系统的资源,每隔3秒变一次
top
top -p 进程id
top命令经常用来监控Linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。

第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比

在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。

第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)

第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)

这里要说明的是不能用windows的内存概念理解这些数据,如果按windows的方式此台服务器“危矣”:8G的内存总量只剩下530M的可用内存。Linux的内存管理有其特殊性,复杂点需要一本书来说明,这里只是简单说点和我们传统概念(windows)的不同。

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 = 4.7GB。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行是空行

第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

8.监控当前系统状态
vmstat

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,

r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。

swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。

free   空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。

buff   Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M

cache cache直接用来记忆我们打开的文件,给文件做缓冲,我本机大概占用300多M(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)

si  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。

so  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte,我本机上没什么IO操作,所以一直是0,但是我曾在处理拷贝大量数据(2-3T)的机器上看过可以达到140000/s,磁盘写入速度差不多140M每秒

bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

in 每秒CPU的中断次数,包括时间中断

cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。

us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。

sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

id  空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。

wt 等待IO CPU时间。

9.查看内存使用状况
free

free的输出一共有四行,第四行为交换区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free),这个比较清楚,不说太多。

  free输出地第二行和第三行是比较让人迷惑的。这两行都是说明内存使用情况的。第一列是总量(total),第二列是使用量(used),第三列是可用量(free)。

  第一行的输出时从操作系统(OS)来看的。也就是说,从OS的角度来看,计算机上一共有:

24677460KB(缺省时free的单位为KB)物理内存,即FO[2][1];
在这些物理内存中有23276064KB(即FO[2][2])被使用了;
还用1401396KB(即FO[2][3])是可用的;
这里得到第一个等式:

FO[2][1] = FO[2][2] + FO[2][3]
FO[2][4]表示被几个进程共享的内存的,现在已经deprecated,其值总是0(当然在一些系统上也可能不是0,主要取决于free命令是怎么实现的)。

环境:ubuntu16.04
1.执行命令free输出如下:

Mem:是内存的使用情况。
total:总内存大小。
used:已经使用的内存大小(这里面包含cached和buffers和shared部分)。
free:空闲的内存大小。
shared:进程间共享内存(一般不会用,可以忽略)。
buff:内存中写完的东西缓存起来,这样快速响应请求,后面数据再定期刷到磁盘上。
cached:内存中读完缓存起来内容占的大小(这部分是为了下次查询时快速返回)。
available:显示还可以被应用程序使用的物理内存大小。(total = used + free + available)
Swap:硬盘上交换分区的使用大小。
Swap的设计目的是为了内存上的空间用完以后,可以将内存中的空间交换到磁盘上,空出内存来使用。

状态: 当used大、free低、buff/cache低说明内存不足。当used低、free低、buff/cache高,是正常状态,只是缓存没有被使用或者销毁。

调用的顺序:free > buff/cache > Swap

2.linux下内存、Swap、Cache、Buff关系

Cache(缓存)为了调高CPU和内存之间数据交换而设计。Buffer(缓冲)为了提高内存和硬盘(或其他I/O设备的数据交换而设计)。
Cache主要是针对读操作设计的,不过Cache概念可能容易混淆,我理解为CPU本身就有Cache,包括一级缓存、二级缓存、三级缓存,我们知道CPU所有的指令操作对接的都是内存,而CPU的处理能力远高于内存速度,所以为了不让CPU资源闲置,Intel等公司在CPU内部集成了一些Cache,但毕竟不能放太多电路在里面,所以这部分Cache并不是很大,主要是用来存放一些常用的指令和常用数据,真正大部分Cache的数据应该是占用内存的空间来缓存请求过的数据。
Buffer主要是针对写操作设计的,更细的说是针对内存和硬盘之间的写操作来设计的,目的是将写的操作集中起来进行,减少磁盘碎片和硬盘反复寻址过程,提高性能。在Linux系统内部有一个守护进程会定期清空Buffer中的内容,将其写入硬盘内,当手动执行sync命令时也会触发上述操作。

八、网络管理

IP :地址 ***.***.***.***

    192.168.31.001
    192.168.31.001

网络中唯一标识一台计算机

1.ifconfig  显示
2.ifconfig  enss 192.168.6.234 设置ip

3.ping ip地址  , 查检ip地址是否能使用

4.netstat 显示网络状况

Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等从整体上看,netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

5.ifup ens33 启动网络

九、链接文件:

硬链接文件:ln -d 源文名 链接文件名
    指向文件的指针多一个
    删除文件,指向文件的指针少一个
    ls -l
    -
软链接文件:ln -s  源文名 链接文件名
    指向文件的指针不会
    删除文件,文件不存在
    ls -l
    l

十、 附加
在linux下搭载数据库怎么做?

使用rpm 或者yum安装
1.查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql

2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm -e --nodeps 包名

3.下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找

4.安装MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm

5.安装MySQL客户端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm

6.安装MySQL开发依赖包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm

7.启动msyql
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可使用如下命令启动MySQL:
service mysql start

安装依赖包libaio,可通过yum快速安装

Linux详解的更多相关文章

  1. linux 详解useradd 命令基本用法

    linux 详解useradd 命令基本用法 时间:2019-03-24 本文章向大家介绍linux 详解useradd 命令基本用法,主要包括linux 详解useradd 命令基本用法使用实例.应 ...

  2. linux详解sudoers

    sudo使用 Linux是多用户多任务的操作系统, 共享该系统的用户往往不只一个.出于安全性考虑, 有必要通过useradd创建一些非root用户, 只让它们拥有不完全的权限; 如有必要,再来提升权限 ...

  3. linux 详解

    一.日常使用命令/常用快捷键命令开关机命令        1.shutdown –h now:立刻进行关机 2.shutdown –r now:现在重新启动计算机 3.reboot:现在重新启动计算机 ...

  4. Linux详解(基础、环境配置、项目部署入门)

    Linux(CentOS 7)操作系统 消息队列(Kafka.RabbitMQ.RocketMQ),缓存(Redis),搜索引擎(ES),集群分布式(需要购买多台服务器,如果没有服务器我们就只能使用虚 ...

  5. mysql-5.7 Using Asynchronous I/O on Linux详解

    一.mysql - innodb 使用异步IO的场景 总的来说innodb 只会对数据文件采用异步IO,为了保存日志是真正被写入到磁盘,innodb不会对日志文件启用异步IO 更新细一步的说,inno ...

  6. ubuntu14.04搭建LAMP环境(nginx,php,mysql,linux)详解

    最近更换开发环境至ubuntu,整理开发环境和常用软件的安装配置(更新排版) 以下安装过程经过多次操作得出,参照步骤进行操作即可 一.LAMP基本环境搭建 1 切换root账号 sudo su 2,安 ...

  7. Linux┊详解udev

    是一小部分例子,如果你的系统采用了udev方式,那你应该可以看到更多的规则.如果你想修改设备的权限或者创建信的符号连接,那么你需要熟读这些规则,特别是要仔细注意你修改的那些与之相关的设备. 修改你的u ...

  8. Linux详解 --- 进程管理

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 进程管理一览 接下来的几篇博客,我将主要按照这个思维导图的划分去进行讲解. 管理 在理解什么是进程管理之前,我想我们可以先理解一下什么是管理! 问 ...

  9. linux详解 rsync 服务和配置文件

    首先要选择服务器启动方式: l      对于负荷较重的 rsync 服务器应该选择独立运行方式 l      对于负荷较轻的 rsync 服务器应该选择 xinetd 运行方式 l      创建配 ...

  10. 详解Linux中的cat文本输出命令用法

    作系统 > LINUX >   详解Linux中的cat文本输出命令用法 Linux命令手册   发布时间:2016-01-14 14:14:35   作者:张映    我要评论   这篇 ...

随机推荐

  1. 30:33 error 'scope' is defined but never used vue/no-unused-vars

      由于一直报错,所以把这个slot-scope="scope"删除掉

  2. 发现一个API接口自动化测试平台

    gitee地址:https://gitee.com/season-fan/autometer-api 记录一下: 1.API测试平台的5个需求: ①支持不同的项目,不同的角色,技术人员多人协作 ②支持 ...

  3. 福音---Mysql数据库Schema快速生成

    数据库工具--Navicat Premium 参考链接:https://jingyan.baidu.com/article/ea24bc395231e49b62b33183.html 以下是数据库sq ...

  4. Unity动态修改材质球RenderingMode属性

    Material四个模式 动态修改代码 using System.Collections; using System.Collections.Generic; using UnityEngine; p ...

  5. 利用canvas合并两个海报

    图片1 是个海报,图片2是个二维码,把这个二维码镶嵌到图片1 的指定位置上 function drawAndShareImage(opt, cb) { if (!opt) { console.erro ...

  6. ANSI/Unicode字符串简单介绍

    1.1.wchar_t.char区别 ANSI:char,可以用strcat().strcpy().strlen()等str开头的函数处理char*字符串: UNICODE:wchar_t是Unico ...

  7. TCAM and CAM memory usage inside networking devices(转)

    TCAM and CAM memory usage inside networking devices Valter Popeskic Equipment and tools, Physical la ...

  8. VS Code编写stm32

    说明 virtual code实现编辑功能,其有强大的代码提示.代码阅读功能. 通过bat文件,通过cmd编译.下载,具体下载器设置仍需在keil软件中设置 具体代码调试仍需在keil软件下 项目配置 ...

  9. 智能风控:python金融风险管理与评分卡建模

    Ch1 互联网金融的申请过程,通常由用户从移动端发起,首次贷款用户会经理申请.四要素验证.授信与额度利率定价.多层审批.用户提款等多个环节:对于还款后再次贷款的复贷客户,平台通常会基于更好的信用评估结 ...

  10. SQL命令--合并查询union

    union命令作用:连接两个以上的 SELECT 语句的结果组合到一个表中 一. 示例: select id, url, auth_status as authStatus, enterprise_n ...