Linux使用操作(二)

进程的管理_ps

程序运行在计算机操作系统中,由操作系统进行管理。为了管理正在运行的程序,每个程序在运行时都被注册到操作系统中,形成进程

每个进程都有一个独特的进程ID(进程号),用来区别不同的进程。进程ID通常是唯一的,而且在同一时间内不会被其他进程使用。当操作系统需要对某个进程进行操作时,可以通过进程ID来定位到该进程,并进行相应的管理和控制

操作系统通过监控进程的运行状态,保证各个进程能够共享CPU、内存等资源,实现多任务的并发执行,提高计算机的效率和利用率。同时,操作系统还可以通过调度算法来控制进程的执行顺序,保证系统的稳定性和可靠性

image-20230428003407357

image-20230428011753055

语法

ps [options] [--help]

参数

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程

内容信息

列名含义
USER进程所属的用户
PID进程的进程号ID
%CPU占用的 CPU 使用率
%MEM占用的内存使用率
VSZ占用的虚拟内存大小
RSS占用的内存大小
TTY终端的次要装置号码 (minor device number of tty)
STAT该行程的状态: S:静止状态 <:高优先序的行程 N:低优先序的行程 T:暂停执行
START行程开始时间
TIME执行的时间
COMMAND所执行的指令

查找制定进程

因为列的数据太多,因此需要筛选数据,这时就可以使用 管道与grep来进行过滤

ps -aux |grep python

提示

因为是字符串数据过滤,所以任何数据都可以用来过滤

关闭进程

在Linux中,可以通过kill命令关闭进程

语法

kill -9 进程ID

选项:

  • -9,表示强制关闭进程

端口的查看_netstat

在计算机网络中,端口是一个用来区分不同应用程序或进程的数字标识符

在Linux系统中,端口号是一个16位的整数,取值范围是0~65535

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用

    • 如SSH服务的22端口,
    • HTTPS服务的443端口
    • 非特殊需要,不要占用这个范围的端口
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务

  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用

如果要使用某个服务,需要先打开相应的端口,以下是在Linux系统中操作端口的几种方法

语法

netstat [选项]

参数说明

  • -a或--all 显示所有连线中的Socket。
  • -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
  • -c或--continuous 持续列出网络状态。
  • -C或--cache 显示路由器配置的快取信息。
  • -e或--extend 显示网络其他相关信息。
  • -F或--fib 显示路由缓存。
  • -g或--groups 显示多重广播功能群组组员名单。
  • -h或--help 在线帮助。
  • -i或--interfaces 显示网络界面信息表单。
  • -l或--listening 显示监控中的服务器的Socket。
  • -M或--masquerade 显示伪装的网络连线。
  • -n或--numeric 直接使用IP地址,而不通过域名服务器。
  • -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
  • -o或--timers 显示计时器。
  • -p或--programs 显示正在使用Socket的程序识别码和程序名称。
  • -r或--route 显示Routing Table。
  • -s或--statistics 显示网络工作信息统计表。
  • -t或--tcp 显示TCP传输协议的连线状况。
  • -u或--udp 显示UDP传输协议的连线状况。
  • -v或--verbose 显示指令执行过程。
  • -V或--version 显示版本信息。
  • -w或--raw 显示RAW传输协议的连线状况。
  • -x或--unix 此参数的效果和指定"-A unix"参数相同。
  • --ip或--inet 此参数的效果和指定"-A inet"参数相同。

注意

如果不能使用,可以先安装下命令

yum -y install net-tools

提示

如果想要快速找到数据,可以结合管道与grep筛选

netstat -nptl | grep 端口号

查看系统资源使用情况_top

主机状态-系统资源占用情况

在Linux中,为了更好的管理系统,这时就需要可以了解服务器运行状态

可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器

默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出

image-20230428101436004

参数说明

  • d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
  • q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  • c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
  • S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
  • s : 安全模式,将交谈式指令取消, 避免潜在的危机
  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
  • n : 更新的次数,完成后将会退出 top
  • b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内

系统状态

image-20230428102116980

内容含义
top - 10:14:15系统当前时间
up 9:44系统到目前为止已运行的时间
1 user当前登录系统的用户数量
load average: 0.00, 0.01, 0.03系统负载(任务队列的平均长度),3个数值分别为1分钟、5分钟、15分钟前到现在的平均值

提示

top给出的系统运行时间,反应了当前系统存活多久,对于某些应用而言,

系统需要保证7*24小时的高可用性,这个字段信息就能很好的衡量系统的高可用性

Task 进程状态

image-20230428102825473

所有启动的进程数、正在运行的进程数、挂起的进程数、停止的进程数、僵尸进程数

提示

在linux操作系统中,一般有以下5种状态的进程信息:

  • D:不可中断睡眠态(通常出现在IO阻塞)
  • R:运行态
  • S:睡眠态
  • T:已停止
  • z:僵尸态

CPU 状态

image-20230428103134623

字段含义关注度
us用户空间占用CPU百分比重要
sy内核空间占用CPU百分比重要
ni用户进程空间内改变过优先级的进程占用CPU百分比
id空闲CPU百分比重要
wa等待输入的CPU百分比重要
hi硬中断占用CPU百分比 ,使用率过高时,表示当前硬件中断占用很大的百分比重要
si软中断CPU百分比,Linux kernel通过用一种软件的方法(可延迟函数)来模拟硬件的中断模式,通常叫做软中断重要
st虚拟CPU等待实际CPU的时间的百分比重要

Mem内存信息(物理内存)

image-20230428103815725

物理内存总量、空闲物理内存、已经使用的物理内存、内核缓存内存量

说明

buffer和cache的作用是所用I/O系统调用的时间,比如读写等

一般一个系统而言,如果cache的值很大,说明cache住的文件多

如果频繁访问文件都能被命中,很明显会比读取磁盘调用快,磁盘的IO必定会减小


提示

cache的命中率很关键,如果频繁访问的文件不能被命中,对于cache而言是个比较的大的资源浪费

此时应考虑drop cache并提升对应的cache的命中率

Swap交换内存(虚拟内存)

image-20230428104004954

交换区总量、空闲交换区总量、已使用交互区总量、缓冲的交换区总量

进程信息

image-20230428105717682

列名含义
PID进程的进程号ID
USER进程所属的用户
PR进程优先级,越小越高
NInice值,负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
%CPU占用的 CPU 使用率
%MEM占用的记忆体使用率
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND所执行的指令

查看磁盘使用情况_df

df命令

Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计

df [选项]...
  • -a, --all 包含所有的具有 0 Blocks 的文件系统
  • --block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
  • -H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
  • -i, --inodes 列出 inode 资讯,不列出已使用 block
  • -k, --kilobytes 就像是 --block-size=1024
  • -l, --local 限制列出的文件结构
  • -m, --megabytes 就像 --block-size=1048576
  • --no-sync 取得资讯前不 sync (预设值)
  • -P, --portability 使用 POSIX 输出格式
  • --sync 在取得资讯前 sync
  • -t, --type=TYPE 限制列出文件系统的 TYPE
  • -T, --print-type 显示文件系统的形式
  • -x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
  • -v (忽略)
  • --help 显示这个帮手并且离开
  • --version 输出版本资讯并且离开

案例

# 显示文件系统的磁盘使用情况统计
df
# 显示所有的信息,包含一个额外的行,汇总的每一列
df --total
# 显示文件系统的磁盘使用情况统计,加上单位
df -h

环境变量的使用

环境变量是一种在操作系统(Windows、Mac、Linux)中存储的特殊字符串值,它们可以用于配置操作系统应用程序的行为。

Linux系统中有许多环境变量,包括PATH、HOME、LANG等。

环境变量是一种KeyValue型结构

在Linux中,可以通过env命令查看当前系统中记录的环境变量

image-20230503202517467

环境变量:PATH

在Linux系统中,环境变量PATH是一个非常重要的变量。它是由一组用冒号(:)隔开的路径组成的字符串,这些路径告诉操作系统去哪里查找可执行文件

当我们在终端输入一个命令时,Linux会按照PATH变量中指定的路径顺序依次查找,直到找到对应的可执行文件为止。如果最终没有找到对应的可执行文件,就会提示“command not found”的错误信息

修改环境变量方式

在Linux中,设置环境变量的方式有多种,下面列举了2种常见的设置环境变量的方式:

说明

配置环境变量,通过source 配置文件,进行立刻生效,或者重新开启shell窗口

  • 直接使用export命令设置环境变量
    export MY_VAR=my_value
    

    注意

    此方法设置的环境变量只会在当前终端窗口中生效,关闭后失效

  • ~/.bashrc~/.bash_profile文件中添加环境变量
  • 例如,在~/.bashrc文件末尾添加以下内容:
    MY_VAR=my_value
    

    提示

    此方法设置的环境变量会在每次启动bash时自动加载,并对所有子进程可见

    .bashrc与.bash_profile都是Bash shell的配置文件,它们位于用户主目录下,区别在于:

  • .bashrc 当用户打开一个新的终端窗口时,Bash shell就会读取并执行这些命令。通常,在.bashrc文件中设置一些环境变量、别名、函数等
  • .bash_profile只会在用户首次登录系统时被读取和执行一次。通常,.bash_profile文件用来设置一些与用户账户相关的环境变量和别名等信息

网络请求_ping命令的使用 

ping

ping命令用于测试主机之间的网络连接,可以用于检测网络连接是否正常,路由是否被正确配置,主机是否正在运行等

它的基本语法如下:

ping <选项> <主机名或IP地址>

常用选项说明:

  • -c <次数>:设置ping的次数,默认是无限制的
  • -i <间隔秒数>:设置ping的间隔时间,默认是1秒
  • -t:一直ping,直到Ctrl+C停止
  • -w <超时秒数>:设置ping的超时时间,默认是无限制的
  • -q:静音模式,只输出最终的统计信息
  • -v:详细输出模式,会输出来回的ICMP包信息
  • -n:使用IP地址而不是主机名
  • -4或-6:强制使用IPv4或IPv6

例如:

# ping www.baidu.com 5次
ping -c 5 www.baidu.com


# 每3秒ping一次ip地址 
ping -i 3 -n 192.168.0.1


# 一直ping,通过Ctrl+C停止
ping -t www.bing.com


# 设置ping超时时间为5秒 
ping -w 5 192.168.0.1

注意

有部分服务器,已经停止了ping服务。

所以ping不通,不一定服务器不通,可以使用其它命令再测试

网络请求_下载数据wget与curl

wget

wget是一个强大的命令行下载工具,可以非交互式地从web服务器上下载文件。它支持HTTP、HTTPS和FTP协议,可以使用代理,支持断点续传等功能。

wget命令用于在Linux中通过网络下载文件

它的基本语法如下:

wget [选项]... [URL]... 

常用选项说明:

  • -b:后台下载模式
  • -c:继续之前的下载任务
  • -q:安静模式,不打印进度条等信息
  • -O <文件>:将下载的数据写入指定的文件中
  • -t <次数>:设置重试次数,默认是20
  • -w <秒数>:设置两次尝试之间等待的秒数,默认是0秒
  • -nv:不详细显示下载进度
  • -np:不检查/$HOME/.netrc认证
  • -r:递归下载整个网站
  • -l <级数>:指定递归下载的级数,默认是5层
  • -A <后缀>:只下载指定后缀的文件
  • -R <后缀>:排除下载指定后缀的文件
  • -nd:不创建父目录
  • -x:不创建父目录例子:
    # 下载文件并命名为test.txt
    wget -O test.txt https://www.baidu.com 
    
    
    # 后台下载文件 
    wget -b https://linux.org/ftp/linux/kernel/v1.0/linux-1.0.tar.gz
    

    注意

    无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

    安装

    yum -y install wget
    

    curl

    在Linux中,curl是一个功能强大的命令行工具,可以下载/上传数据,支持多种协议(HTTP、FTP、POP3等)。

    它常被用来测试网站接口、下载文件等

    它的基本语法如下:

     curl [选项] [URL]
    

    常用选项说明:

  • -d/--data :POST方式传送数据

  • -o/--output :将输出写到文件中

# 使用指定的User-Agent字符串
curl -A 'Mozilla/5.0' https://www.example.com 


# 保存cookie到文件
curl -c cookies.txt https://www.example.com


# 上传文件
curl -T file.txt https://www.example.com


# 使用代理连接
curl -x http://user:password@proxyserver:8080 https://www.example.com

压缩命令tar的使用

市面上有非常多的压缩格式

  • zip格式:Linux、Windows、MacOS常用
  • rar:Windows系统常用
  • 7zip:Windows系统常用
  • tar:Linux、MacOS常用
  • gzip:Linux、MacOS常用

tar命令介绍

Linux和Mac系统常用有2种压缩格式,后缀名分别是:

  • .tar,称之为tarball,归档文件,仅将文件封装成一个.tar文件,未压缩文件体积
  • .gz,也常见为.tar.gz,使用gzip算法进行压缩,从而大幅减小压缩后的文件体积

针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作

语法

tar [选项] [压缩文件] [被压缩的文件1,被压缩的文件2,被压缩的文件3...] 

选项

  • -c,创建压缩文件,用于压缩模式
  • -v,显示压缩、解压过程,用于查看进度
  • -x,解压模式
  • -f,要创建的文件,或要解压的文件
  • -z,gzip模式,不使用-z就是普通的tarball格式
  • -C,选择解压的目的地,用于解压模式

注意

  • -f,必须在选项组合体的最后一位
  • -z,建议在开头位置
  • -C,选项单独使用,和解压所需的其它参数分开

tar 命令压缩

# 将1.txt 2.txt 3.txt 压缩到test.tar文件内
tar -cvf test.tar 1.txt 2.txt 3.txt
# 将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

tar 命令解压缩

# 解压test.tar,将文件解压至当前目录
tar -xvf test.tar
# 解压test.tar,将文件解压至当前目录
tar -xvf test.tar -C /home/bz
# 以Gzip模式解压test.tar.gz,将文件解压至指定目录
tar -zxvf test.tar -C /home/bz

压缩命令zip与unzip的使用

zip命令

在Linux中,可以使用zip命令,压缩文件为zip压缩包

语法

zip [选项] [压缩的文件名] [被压缩的文件1,被压缩的文件2,被压缩的文件3...]

选项

  • -r,递归压缩

案例

# 将a.txt b.txt c.txt 压缩到test.zip文件内
zip test.zip a.txt b.txt c.txt
# 将test文件夹和a.txt文件,压缩到test.zip文件内
zip -r test.zip test a.txt

安装

yum -y install zip

unzip命令

在Linux中,可以使用unzip命令,压缩文件为zip压缩包

语法

unzip [选项] [压缩的文件名]

选项

  • -d,指定要解压到哪个位置

案例

# 将test.zip解压到当前目录
unzip test.zip
# 将test.zip解压到指定文件夹内
unzip test.zip -d /opt

安装

yum -y install unzip

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值