linux操作系统
linux操作系统
第一章 初识LINUX
1.1 虚拟机
什么是虚拟机?
借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。这样就可以在电脑中,虚拟出一个出来的完整电脑。
1.2 VMmare Workstation 安装
- 安装步骤跳过
- 检查虚拟网卡(win+R 输入ncpa.cpl)
1.3 vm安装centos7
- 创建新的虚拟机
- 简易安装向导
- 选择安装程序光盘映像
- 设置用户名密码
- 设置虚拟机名称和位置
- 指定磁盘容量大小
- 启动虚拟机
1.4远程连接LINUX
- 操作系统的使用形式
- 图形化界面
- 命令行方式
- FinalShell
我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:
内容的复制、粘贴跨越VMware不方便
文件的上传、下载跨越VMware不方便
也就是和Linux系统的各类交互,跨越VMware不方便
我们可以通过第三方软件,FinalShell, 远程连接到Linux操作系统之上。
- 安装finalshell(步骤省略)
- FinalShell连接Linux
- 虚拟机命令行输入ifconfig找到IP地址:
- finalshell中输入ip、用户名和密码连接linux
1.5 WSL(Windows Subsystem for Linux)
- 为什么使用wsl?
WSL作为Windows10系统带来的全新特性,正在逐步颠覆开发人员既有的选择。
- 传统方式获取Linux操作系统环境,是安装完整的虚拟机,如VMware.
- 使用WSL,可以以非常轻量化的方式,得到Linux系统环境
目前,开发者正在逐步抛弃以虚拟机的形式获取Linux系统环境,而在逐步拥抱WSL环境。
所以,为什么要用WSL,其实很简单:
- 开发人员都在用,大家都用的,我们也要学习
- 实在是太方便了,简单、好用、轻量化、省内存
- 什么是wsl
WSL: Windows Subsystem for Linux,是用于Windows系统之上的Linux子系统。
作用很简单,可以在Windows系统 中获得Linux系统环境,并完全直连计算机硬件,无需通过虚拟机虚拟硬件
- wsl部署
控制面板
==》程序
==》程序和功能
==》启用和关闭windows功能
微软商店下载Ubuntu,安装完成设置用户名和密码:
安装windows Terminal:
1.6 虚拟机快照
VMware,虚拟机( Workstation和Funsion)支持为虛拟机制作快照。
通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。
相当于游戏存档
- 在VMware Workstation PRO 中制作并还原快照
还原快照:
第二章 Linux基础命令
2.1 Linux目录结构
Linux的目录结构是一个树型结构
Windows系统可以拥有多个盘符,如C盘、D盘、E盘
Linux没有盘符这个概念,只有一个根目录/
所有文件都在它下面.
Linux路径描述方式
- 在Linux系统中,路径之间的层级关系,使用
/
来表示 - 在Windows系统中,路径之间的层级关系,使用:
\
来表示
2.2 Linux命令入门
2.2.1linux命令基础
命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命
令对系统发出操作指令。命令:即Linux程序。一个命令就是一一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
Linux命令通用格式:command
[-options]
[parameter]
command
:命令本身
options
:[可选] 命令的一些选项,可以通过选项控制命令的行为细节
parameter
:[可选] 命令的参数,多用于命令的指向目标等
- ls命令入门
ls命令语法细节:
ls
[-a -l -h]
Linux路径
- -a -l -h是可选的选项
- Linux路径 是此命令可选的参数
当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
- ls命令的参数和选项
-a
: all的意思,即列出全部文件(包含隐藏文件、文件夹)
图中以.
开头的,表示Linux系统的隐藏文件/文件夹(只要以.
开头,就能自动隐藏)
-l
:表示以列表(竖向排列)的形式展示内容,并展示更多信息
选项可以组合使用,如:
- ls -l -a
- ls -la
- ls -al
上述三种写法,表示同时应用-l 和 -a 的功能
除了选项本身可以组合使用以外,选项和参数也可以一起使用,如:
- ls -al /
以上命令表示以列表形式展示根目录下全部文件
-h
:表示以易于阅读的形式展示且必须和-l
一起使用
上图可以看出文件大小不只有数值,还带上了单位
2.2.2目录切换相关命令(cd/pwd)
- cd命令
当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录
我们可以通过cd命令,更改当前所在的工作目录。
cd命令来自英文: Change Directory
语法: cd
[linux路径]
- cd命令无需选项,只有参数,表示要切换到哪个目录下
- cd命令直接执行,不写参数,表示回到用户的HOME目录
- pwd命令
通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。
pwd命令来自: Print Work Directory
语法:pwd
- pwd命令,无参数,无选项
2.2.3 绝对路径、相对路径和特殊路径符
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以
/
开头cd /home/weisiyang/Desktop
相对路径:以当前目录为起点,描述路径的一种写法,无需以
/
开头cd Desktop
- 特殊路径符
.
:表示当前目录,比如cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致..
: 表示上一级目录,比如:cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录~
:表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录
2.2.4 mkdir命令
通过mkdir命令可以创建新的目录(文件夹)
mkdir来自英文: Make Directory
语法: mkdir
[-p]
linux路径
- 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
-p选项的使用:
2.2.5 文件操作命令
- touch命令
可以通过touch命令创建文件
语法:touch
linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
- cat命令
cat命令用于查看文件内容
语法:cat
linux路径
cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
- more命令
more命令同样是用来查看文件内容的,但与cat不同的是
- cat是直接将内容全部显示出来
- more支持翻页,如果文件内容过多,可以一页页的展示
语法:more
linux路径
同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
linux系统内置有一个文件,路径为:/etc/services,可以通过more命令查看
- 查看过程中,空格翻页
- q键退出
- cp命令
cp命令可以使用于复制文件、文件夹,cp命令来自英文单词copy
语法:cp
[-r]
参数1
参数2
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,Linux路径,表示要复制去的地方
- mv命令
mv命令可以用于移动文件\文件夹,mv命令来自英文单词: move
语法:mv
参数1
参数2
- 参数1, Linux路径,表示被移动的文件或文件夹
- 参数2, Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
- rm命令
rm命令可用于删除文件、文件夹
rm命令来自英文单词: remove
语法:rm
[-r -f]
参数1
参数2
… 参数n
同cp命令-样, -r选项用于删除文件夹
-f表示force,强制删除(不会弹出提示确认信息)
- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
- 所以一-般普通用户用不到-f选项
参数1、参数2、…… 参数N表参数1、参数2….参数:要删除的文件或文件夹路径,按照空格隔开
rm命令支持通配符*,用来模糊匹配
- 符号*表示通配符,即匹配任意内容(包含空),示例:
- test*, 表示匹配任何以test开头的内容
- *test,表示匹配任何以test结尾的内容
- *test*, 表示匹配任何包含test的内容
- which命令
我们在前面学习的Linux命令,其实它们的本体就是一个个的二进制可执行程序。
和Windows系统中的.exe文件,是一个意思。
我们可以通过which命令,查看所使用的- -系列命令的程序文件存放在哪里
语法:which
要查找的命令
- find命令
在Linux系统中,我们可以通过find命令去搜索指定的文件。
语法:find
起始路径
-name
被查找文件名
(支持通配符*查找)
为了确保后续演示,拥有最大的权限,可以在整个系统完成搜索
我们可以切换到root用户以获得管理员权限
执行命令:
su
-
root
输入密码
语法: find
起始路径
-size
+|-n[kMG]
- +、-表示大于和小于
- n表示大小数字
- kMG表示大小单位,k(小写字母)表示kb, M表示MB, G表示GB .
- grep命令
可以通过grep命令,从文件中通过关键字过滤文件行。
语法:grep
[-n]
关键字
文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用 ” ” 将关键字包围起来
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
先创建一个weisiyang.txt,输入内容用于测试:
测试:
- wc命令
可以通过wc命令统计文件的行数、单词数量等
语法:wc
[-c -m -l -w]
文件路径
- 选项,-c, 统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l, 统计行数
- 选项,-W,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
不带参数选项,默认显示行数、单词数、byte数和文件名:
带参数选项:
- 管道符
符号:|
含义:将管道左边命令的结果,作为右边命令的输入
如上图:
- cat itheima.txt的输出结果(文件内容)
- 作为右边grep命令的输入(被过滤文件)
嵌套使用:
- echo命令
echo命令可以在命令行内输出指定内容
语法: echo
输出内容
- 无需选项,只有一个参数表示要输出的内容
反引号 `
:
反引号(通常也称作飘号)与echo命令搭配可以将包裹的内容作为命令进行执行,而非普通字符
未使用反引号:
使用反引号:
注意:是`
而不是‘
。
重定向符
>
:将左侧命令的结果,覆盖写入到符号右侧指定的文件中>>
:将左侧命令的结果,追加写入到符号右侧指定的文件中
- tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改
语法:tail
[-f -num]
linux路径
- 参数,Linux路径,表示被跟踪的文件路径
- 选项,-f,表示持续跟踪(follow)
- 选项, -num(整数不是单词),表示,查看尾部多少行,不填默认10行
-f参数选项持续跟踪文件尾部内容的更改:
2.3 vi/vim编辑器
vi\vim是visual interface的简称,是Linux中最经典的文本编辑器
同图形化界面中的文本编辑器一样, vi是命令行下对文本文件进行编辑的绝佳选择。
vim是vi的加强版本,兼容vi 的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
2.3.1 vi/vim三种工作方式
命令方式(command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。
此模式下,不能自由进行文本编辑。输入模式(insert mode)
也就是所谓的编辑模式、插入模式。
此模式下,可以对文件内容进行自由编辑。底线命令模式(last line mode)
以:开始,通常用于文件的保存、退出。
2.3.2 命令模式
- 终端命令行进入命令模式:
语法: vi
/vim
linux路径
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
- 命令模式下有一般指令
移动光标:
命令 | 含义 |
---|---|
gg | 光标移动到文档头部 |
G | 光标移动到文档尾部 |
ngg | 光标移动到第n行头部 |
n+ | 光标向下移动n行 |
n- | 光标向上移动n行 |
0 | 光标移动到当前行行首 |
$ | 光标移动到当前行行尾 |
w | 光标移动到下一个字的开头 |
b | 光标移动到上一个字的开头 |
fx | 光标移动到当前行下一个字母x的位置 |
h | 光标向左移动一个字符。等于方向键← |
j | 光标向下移动一个字符。等于方向键↓ |
k | 光标向上移动一个字符。等于方向键↑ |
l | 光标向右移动一个字符。等于方向键→ |
复制粘贴:
命令 | 含义 |
---|---|
yy | 复制当前行 |
nyy | 复制当前行以及下面的n-1行 |
p | 粘贴 |
删除:
命令 | 含义 |
---|---|
x | 删除光标后一个字符 |
X | 删除光标前一个字符 |
nx | 删除光标后n个字符 |
nX | 删除光标前n个字符 |
d0 | 从光标处删除到行首(delete) |
d$ | 从光标处删除到行尾 |
dG | 从光标当前行开始,向下全部删除 |
dgg | 从光标当前行开始,向上全部删除 |
dd | 删除光标所在行 |
ndd | 删除光标所在行以及后面n-1行 |
撤销:
命令 | 含义 |
---|---|
u | 撤销上一步操作 |
- 命令模式进入编辑模式:
命令 | 含义 |
---|---|
i | 光标前插入 |
a | 光标后插入 |
I | 光标当前行头部插入 |
A | 光标当前行结尾插入 |
o | 光标下一行插入 |
O | 光标上一行插入 |
2.3.3 底线命令模式
搜索查找:
命令 | 模式 |
---|---|
/ | 进入搜索模式 |
/str | 从光标处向文件尾部搜索,查找str字符串 |
?str | 从光标处向文件首部搜索,查找str字符串 |
n | 向下继续搜索(next) |
N | 向上继续搜索 |
替换:
命令 | 含义 |
---|---|
:s/str1/str2/g | 将当前行中所有str1,均用str2替换 |
:s/str1/str2/gc | 将当前行中所有str1,均用str2替换,需要确认 |
:%s/str1/str2/g | 将文件中所有str1,均用str2替换 |
:%s/str1/str2/gc | 将文件中所有str1,均用str2替换,需要确认 |
退出和其他:
命令 | 含义 |
---|---|
:q | 退出(quit) |
:q! | 强制退出 |
:wq | 保存文件并退出 |
:w | 将更改内容写入文件 |
:set nu | 显示行号 |
:set paste | 设置粘贴模式 |
第三章 Linux用户和权限
3.1认知root用户
无论是Windows. MacOS、Linux均采用多用户的管理模式进行权限管理。
在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
而在前期,我们一直使用的账户是普通的用户: weisiyang
- su命令和exit命令
su命令就是用于账户切换的系统命令,其来源英文单词: Switch User
语法:su
[-]
[用户名]
- - 符号是可选的,表示是否在切换用户后加载环境变量
- 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
- 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d
- sudo命令
我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。
语法:sudo
其他命令
- 在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
- 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证
切换到root用户,执行visudo命令,会自动通过vi编辑器打开: /etc/sudoers
在文件末尾添加:
用户名 ALL=(ALL) ALL
用户名 ALL=(ALL) NOPASSWD :ALL
- :wq保存
3.2 用户、用户组管理
- 用户、用户组
Linux系统中:
- 可以配置多个用户
- 可以配置多个用户组
- 用户可以加入多个用户组中
Linux中关于权限的管控级别有2个级别,分别是:
- 针对用户的权限控制
- 针对用户组的权限控制
- 用户组管理
1.创建用户组
语法: groupadd
用户组名
2.删除用户组
语法:groupdel
用户组名
- 用户管理
1.创建用户
语法:useradd
[-g -d]
用户名
- 选项: -g指定用户的组,不指定-g, 会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
- 选项: -d指定用户HOME路径, 不指定,HOME目录默认在: /home/用户名
2.删除用户
语法:userdel
[-r]
用户名
选项: -r, 删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
3.查看用户所属组
语法:id
[用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
4.修改用户所属组
语法:usermod
-aG
用户组
用户名
将指定用户加入指定用户组
- getent命令
gentent命令可以查看当前系统中有哪些用户
语法:getent
passwd
上图中:密码(x)
:用户id
:组id
:描述信息
:HOME目录
:执行终端(默认bash)
gentent也可以查看系统中的用户组
语法:getent
group
上图中:组名称
:组认证(显示为x)
:组id
3.3查看权限控制
- 认知权限信息
第一列:表示文件、文件夹的权限控制信息
第三列:表示文件、文件夹所属用户
第四列:表示文件、文件夹所属用户组
权限细节分为10位:
第1位:
-
或d
或l
:分别表示文件、文件夹、软链接第2-4位(用户权限):
r
或-
,w
或-
,x
或-
第5-7位(用户组权限):
r
或-
,w
或-
,x
或-
第8-10位(其他用户权限):
r
或-
,w
或-
,x
或-
3.4修改权限控制
- chmod命令
只有文件、文件夹的所属用户或root用户可以修改。
语法:chmod
[-R]
u=权限,g=权限,o=权限
文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
权限的数字序列
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字 | 含义 | 原表示 |
---|---|---|
0 (000) | 无权限 | — |
1 (001) | 有x权限 | –x |
2 (010) | 有w权限 | -w- |
3 (011) | 有w和x权限 | -wx |
4 (100) | 有r权限 | r– |
5 (101) | 有r和x权限 | r-x |
6 (110) | 有r和w权限 | rw- |
7 (111) | 有全部权限 | rwx |
- chown命令
使用chown命令,可以修改文件、文件夹的所属用户和用户组,需要root权限
语法:chown
[-R]
[用户]
[:]
[用户组]
文件或文件夹
- 选项, -R,同chmod,对文件夹内全部内容应用相同规则
- 选项,用户,修改所属用户
- 选项,用户组,修改所属用户组
:
用于分隔用户和用户组
第四章 linux实用操作
4.1快捷键
- ctrl + c 强制停止
强制停止某些程序的运行
命令输入错误,退出当前输入
- ctrl + d 退出或登出
退出账户的登录
退出某些程序的专属页面
- 历史命令搜索
1.history:
可以通过history
命令查看历史输入过的命令
!
+命令部分前缀:
可以自动匹配符合前缀的最近执行过的命令
3.ctrl
+ r
,输入内容:
使用输入的内容去匹配历史命令
- 回车键可以直接执行
- 键盘左右键,可以得到此命令(不执行)
- 光标移动
快捷键 | 含义 |
---|---|
ctrl +a |
光标移动到开头 |
ctrl +e |
光标移动到结尾 |
ctrl +← |
向左移动一个单词 |
ctrl +→ |
向右移动一个单词 |
- 清屏
1.快捷键ctrl
+l
2.命令clear
4.2软件安装
操作系统的两种安装软件的方法:
1.通过下载安装包自行安装
2.系统的应用商店安装
- yum软件安装(for centos)
yum: RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
语法:yum
[-y]
[install | remove | search]
软件名称
- 选项:-y,自动确认,无需手动确认安装或卸载过程
- install:安装
- remove:卸载
- search:搜索
安装:
卸载:
查找:
- apt软件安装(for ubuntu)
ubuntu系统软件安装包为.deb
文件,使用apt进行包管理
语法:apt
[-y]
[install | remove | search]
软件名称
安装:
4.3 systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启.
能够被systemctl管理的软件,一般也称之为:服务
语法:systemctl
start | stop | status | enable | disable
服务名
- start:启动
- stop:停止
- status:状态查看
- enable:开启开机自启动
- disable:关闭开机自启动
系统内置服务,如:
- NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd, ssh服务( FinalShell远程登录Linux使用的就是这个服务)
4.4软链接
在系统中创建软链接,可以将文件、文件夹链接到其它位置。
类似Windows系统中的快捷方式
.
语法:ln
-s
参数1
参数2
- -s选项,创建软连接
- 参数1:被链接的文件或文件夹
- 参数2:要链接去的目的地
4.5日期、时区
- date命令
通过date命令可以在命令行中查看系统的时间
语法:date
[-d]
[+格式化字符串]
- -d按照给定的字符串显示日期, -般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y
年%y
年份后两位数字(00….99)%m
月 份(01….12)%d
日 (01…..31)%H
小时(00…..23)%M
分钟(00……59)%S
秒(00…..60)%s
自1970-01-01 00000UTC到现在的秒数
-d选项的使用:
时间标记:
- year
- month
- day
- hour
- minute
- second
- 修改Linux时区
1.删除etc/localtime
2.创建新的软链接,将/usr/zoneinfo/Asia/Shanghai软链接到/etc/localtime
- ntp程序
ntp程序可以自动校准时间
安装程序并设置开机自启动即可
手动校准:
语法:ntpdate
-u
ntp服务器
4.6IP地址、主机名
- 查看本机IP地址
IP地址:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异
语法:ifconfig
或ipconfig
- 主机名
每一台电脑除了对外联络地址(IP地址)以外,也可以有一-个名字,称之为主机名
无论是Windows或Linux系统,都可以给系统设置主机名
- 查看主机名
语法:hostname
- 修改主机名
语法:hostnamectl
set-hostname
主机名
新主机名
- 虚拟机配置固定IP地址
1.vmware中配置IP地址和网段
编辑==>虚拟网路编辑器==>更改设置==>选择vmnet8并修改IP地址和网段==>nat设置==>设置网关==>确定应用
2.Linux中修改固定IP
使用vim编辑etc/sysconfig/network-scripts/ifcfg-ens33
编辑结果如下:
然后使用systemctl restart network
重启网络,修改ssh连接配置并连接:
4.7网络传输
- ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:ping
[-c num]
ip或主机名
- 选项: -C,检查的次数,不使用-C选项,将无限次数持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
- wget命令
wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget
[-b]
url
- 选项:-b,可选,(backend)后台下载,会将日志写入
- 当前工作目录的wget-log文件
参数:url,’下载链接
- curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
语法:curl
[-O]
url
- 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 参数:url,要发起请求的网络地址
- 端口
端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虛拟端口两类
- 物理端口:又可称之为接口,是可见的端口,如USB接口, RJ45网口, HDMI端口
- 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
查看端口占用
- 查看IP的端口占用
使用yum安装nmap
命令: nmap
被查看的ip
- 查看指定端口占用
安装net-tools
命令:netstat
-anp | grep
端口号
4.8进程管理
- 进程
程序运行在操作系统中,是被操作系统所管理的。.
为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程
并会为每一个进程都分配一一个独有的:进程ID (进程号)
- 查看进程
可以通过ps命令查看Linux系统中的进程信息
语法:ps
[-e -f]
- 选项: -e,显示出全部的进程
- 选项: -f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是: ps -ef列出全部进程的全部信息
- UID:进程所属的用户ID
- PID:进程的进程号ID
- PPID:进程的父ID(启动此进程的其它进程)
- C:此进程的CPU占用率(百分比)
- STIME:进程的启动时间
- TTY:启动此进程的终端序号,如显示?,表示非终端启动
- TIME:进程占用CPU时间
- CMD:进程对应的名称或启动路径或启动命令
- 管道符过滤查看指定进程
语法: ps
[-e -f]
|
grep
指定进程或名称
- 关闭进程
语法:kill
[-9]
进程id
选项: -9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
4.9 主机状态
- 查看系统资源占用
可以通过top
命令查看CPU、内存使用情况,类似Windows的任务管理器
默认每5秒刷新一次,
语法:top
[-p | -d | -c | -n | -b | -i | -u]
- -p只显示某个进程的信息
- -d 设置刷新时间,默认是5s
- -c显示产生进程的完整命令,默认是进程名
- -n 指定刷新次数,比如top -n 3,刷新输出3次后退出
- -b 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指
定文件,比如top -b -n 3 > /tmp/top. tmp- -i不显示任何闲置 (idle) 或无用(zombie) 的进程
- -u查找特定用户 启动的进程
按q
或 ctrl
+ c
退出
上图详解:
第一行:top:命令名称,22:00:45:当前系统时间,up 10:06:启动了10小时6分钟,2 user:2个用户登录,load :1、5、15分钟负载
第二行:Tasks:168个进程,1 runnning:一个进程在运行,167 sleeping:167个进程休眠,0个停止进程,0个僵尸进程
第三行:*%Cpu(s):cpu使用率,us*:用户cpu使用率,sy:系统cpu使用率,ni:高优先级进程占用cpu时间百分比,id:空闲cpu率,wa:IO等待cpu占用率,hi:cpu硬件中断率,si:cpu软件中断率,st:强制等待占用cpu率
第四、五行:
KiB Mem:物理内存,KiB Swap:虚拟内存(交换空间)
- PID:进程id
- USER:进程所属用户
- PR:进程优先级,越小越高
- NI:负值表示高优先级,正表示低优先级
- VIRT:进程使用虚拟内存,单位KB
- RES:进程使用物理内存,单位KB
- SHR:进程使用共享内存,单位KB
- S:进程状态(S休眠, R运行, Z僵死状态,N负数优先级, 1空闲状态)
- %CPU:进程占用CPU率
- %MEM:进程占用内存率.
- TIME+:进程使用CPU时间总计,单位10毫秒
- COMMAND:进程的命令或名称或程序文件路径
top交互式选项
按键 | 功能 |
---|---|
h | 显示帮助信息 |
c | 显示产生进程完整命令 |
f | 选择需要展示的信息列 |
M | 根据驻留内存(RES)大小排序 |
P | 根据CPU使用百分比大小排序 |
T | 根据时间/累计时间进行排序 |
E | 切换顶部内存显示单位 |
e | 切换进程内存显示单位 |
l | 切换显示平均负载和启动时间信息 |
i | 不显示闲置或无用进程 |
t | 切换显示CPU状态信息 |
m | 切换显示内存信息 |
- 磁盘信息监控
1.df命令查看硬盘的使用情况
语法: df
[-h]
选项: -h,以更加人性化的单位显示
2.iostat命令查看CPU、磁盘的相关信息
语法:iostat
[-x]
[num1]
[num2]
-x:显示更多信息
num1:刷新间隔
num2:刷新次数
- 网络状态监控
可以使用sar命令查看网络的相关统计
语法:sar
-n
DEV
num1
num2
-n:查看网络
DEV:查看网络接口
num1:刷新间隔
num2:刷新次数
IFACE:本地网卡接口的名称出
rxpck/s:每秒钟接受的数据包
txpck/s:每秒钟发送的数据包
rxKB/S:每秒钟接受的数据包大小,单位为KB
txKB/S:每秒钟发送的数据包大小,单位为KB
rxcmp/s:每秒钟接受的压缩数据包
txcmp/s:每秒钟发送的压缩包
rxmcst/s:每秒钟接收的多播数据包
4.10环境变量
环境变量是操作系统(Windows.Linux、Mac)在运行的时候,记录的-些关键性信息,用以辅助系统运行。
在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
- 环境变量PATH
PATH记录了系统执行任何命令的搜索路径
上图记录了,执行命令时会在目录中搜索程序本体
/usr/local/bin
/usr/bin:/usr/local/sbin
/usr/sbin
/home/weisiyang/.local/bin
/home/weisiyang/bin
- $ 符号
在Linux系统中,$符号被用于取”变量”的值。
如: echo
$PATH
- 自行设置环境变量
- 临时设置
语法:export
key (变量名)= value(变量值)
- 永久生效的变量
- 当前用户环境变量:~/.bashrc文件中配置
- 所有用户环境变量:/etc/profile文件中配置
配置完后使用source
配置文件
,使变量生效,或者重启ssh连接工具
当前用户变量配置:
所有用户变量配置:
- 自定义环境变量PATH
1.创建测试文件
2.添加环境变量
临时修改PATH:
语法:export
PATH=$PATH:要添加的路径
永久生效:
在用户环境变量文件(~/.bashrc
)中或系统环境变量中(/etc/profile)追加
export
PATH=$PATH:要添加的路径
4.11上传和下载
1.图形化窗口
- finallshell使用底部文件窗口上传和下载
- xshell可以使用同系列程序xftp进行上传和下载
2.rz、sz命令
rz、sz命令需要安装,可以通过: yum -y install lrzsz,即可安装。
上传:输入rz
,会自动打开一个文件窗口,选择文件即可上传
下载:输入sz
要下的文件
,finalshell会自动下载到桌面的/fsdownload中,xshell则是先选择要下载到的文件在开始下载
4.12压缩、解压
- tar命令
Linux和Mac系统常用有2种压缩格式,后缀名分别是:
tar, 称之为tarball,归档文件,即简单的将文件组装到一 个.tar的文件内,并没有太多文件体积的减少,仅仅是简单
的封装gz,也常见为.tar.gz, gzip格式压缩文件,即使用gzip压缩算法将文件压缩到- 一个文件内,可以极大的减少压缩后的
语法:tar
[-c -v -x -f -z -C]
参数1
….参数n
- -c,创建压缩文件,用于压缩模式
- -v,显示压缩、解压过程,用于查看进度
- -x,解压模式
- -f,要创建的文件,或要解压的文件, -f选项必须在所有选项中位置处于最后一个
- -z, gzip模式,不使用-z就是普通的tarball格式,一般位于选项第一个
- -C,选择解压的目的地,用于解压模式
压缩:
解压:
指定目的地解压:
- zip压缩命令
语法:zip
[-r]
parm1
… parm2
-r ,递归压缩整个文件夹,与rm,cp命令效果一致
- unzip解压命令
语法unzip
[-d]
parm1
parm2
- -d ,表示要指定解压目录,不指定默认是当前目录
- parm1 ,被解压目录
- parm2 :被解压的文件