当前位置: 首页 > news >正文

Linux系统-系统信息网络目录文件的相关命令

1.系统信息和性能查看

查看磁盘的占用情况:

df -Th 这是参数连着写。相当于df -T -h

df -Th

此命令主要用于监控服务器的磁盘空间,如果空间不够用了,会导致服务器和应用的性能严重下降。这时候要手动清理一些不用的垃圾文件,比如大量的日志文件等。

-T:代表type类型,可以查看到磁盘的类型。

-h:代表human人类,就是以人们熟悉的单位来表示磁盘大小,如K、M、G。如果不加这个参数,默认以KB字节单位显示,可读性差。

查询结果含义:size代表磁盘总大小,used代表已使用的空间,avail代表剩余可用空间。我们重点关注根目录的磁盘使用情况即可。

查看当前目录占用的空间大小:

du -h

-a:显示当前目录和子目录占用的大小,包括了隐藏文件。如果不加-a,显示的是默认目录里面的情况。

查看内存使用情况:

free -m

内存满了也会严重影响性能,这时候也要看下是哪个进程占用了太多内存,处理一下。

-m:代表以M为单位查看内存大小

查询结果的含义:

total列:代表总内存大小,used代表已使用的内存,free代表空闲的内存。

mem行:代表内存的情况。

swap行:代表内存的交换分区情况。

动态监控系统状态:

top

top命令是一个持续运行的进程,需要按q退出,数据每3秒更新一次。

查询结果含义:

第一行:top -后面:当前系统时间 up 系统连续运行的时间,当前登录的用户数,load average(系统的平均负载值):第一个值代表1分钟内的平均负载值,第二个值代表5分钟的平均负载值,第三个值代表15分钟的平均负载值。

关于平均负载值的含义:

理解这个值,首先确定一个标准值,条件如下:

1个cup并且1个核心的情况下,负载值为1的时候达到满负载。根据以上标准,当cup的数量和核心数量改变的时候,满负载也对应改变。比如:现在变成2个cpu,每个cpu也是1核心,这时候满负载值就称为2,如果还是1个cpu,但是有两个核心,满负载值也是2。

查看cpu的数量:

cat /proc/cpuinfo

这个文件含义如下:

每一行model name代表一个cpu

每个cpu的核心数,通过cpu cores来看

第二行:进程的具体运行情况:tasks:代表进程任务:tatal代表进程的总数量,running代表正在前台运行的进程数,sleeping代表后台休眠进程数,stoppped代表停止的进程数,zombie代表僵尸进程数。

第三行:cpu的占用情况,百分比表示。us代表用户空间占用情况,sy代表内核空间占用情况,ni代表改变过优先级的进程的占用情况,id代表空闲cpu情况。后面的wa,hi,si,st不必关注。

第四行、第五行代表内存使用情况:参考内存查看命令free即可。额外关注一点,交换分区的used数据,如果为0,说明内存够用,不需要使用交换分区。如果有值,就说明内存不够用了,一直在用交换分区。

进程列表部分:

PID列:进程id,每个进程有唯一的id号

USER列:代表进程的所有者

PR列:进程优先级,数字越高优先级越高

NI列:跟优先级相关的值,nice的缩写,这个值越低优先级越高。

VIRT\RES\SHR:都是关于内存的虚拟内存、共享内存等详细的参数。

S列:代表进程状态,status的缩写。有如下几种状态:

        S:后台休眠运行

        R:前台运行中

        T:停止

        Z:僵尸进程

%CPU:代表某个进程占用cpu百分比

%MEM:代表进程占用内存百分比

TIME+:代表进程使用cpu的时间总计

        单位如下:从右到左看,单位分别是百分之一秒,十分之一秒,秒,十秒,分钟。

COMMAND:即命令,也就是这个进程的名称或者命令。

2.Linux网络相关命令

网络查看命令:

查看网络配置的基本信息:ifconfig,Windows上是ipconfig。ens33代表当前的网卡。

测试网络的连通性:ping IP地址或者域名,这个命令使用Ctrl+c退出

查看网络端口:此命令需要安装

yum -y install lsof

lsof -i:端口号 查看当前端口号的文件信息,此命令用于查看某个端口号是否被占用。如果有内容就说明被占用了。

查看结果的含义:

command列:进程名称(重点关注)

pid列:进程的id(重点关注)

user列:进程拥有者

fd列:文件标识符

type列:文件类型

device列:磁盘名称位置编号

size列:大小

node列:节点

name列:文件名称

网络诊断和监控命令netstat:

netstat是一个命令行工具,用于显示网络统计信息,可以显示计算机上当前的网络连接和端口活动。netstat在各种操作系统上可用,并且可以通过不同的参数来定制输出。

可以通过netstat --help来查看具体的参数含义,来选择不同的参数进行输出。

查看当前系统有哪些端口正在被监听使用:netstat -lntp

全0的IP地址0.0.0.0可以表示本网络中的所有主机

查看指定端口号被哪个进程使用:

        Linux:netstat -lntp | grep 端口号

netstat -lntp | grep 端口号

        Windows:netstat -ano | findstr "端口号"

netstat -ano | findstr "端口号"

重点关注这几列:

Local Address代表本地地址,是个IP地址,IP地址后冒号后的就是端口号,说明这个端口号被监听。

PID/Program name代表占用本端口的进程id和进程名称。

防火墙管理命令:

查看防火墙的状态:

service firewalld status

启动防火墙:

service firewalld start  等同于 systemctl start firewalld

关闭防火墙:

service firewalld stop

禁用防火墙(禁止开机自启动):

systemctl disable firewalld

重新启用防火墙(开机自启动):

systemctl enable firewalld

网络配置方法:

修改配置文件

先找到网卡的文件,文件所在位置:/etc/sysconfig/network-scripts/ifcfg-ens33

使用vi编辑器修改这个文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33

按 i 进入插入模式,此时左下角会显示--insert--

修改如下内容:

修改 bootproto=static  代表修改ip地址的分配规则为固定IP,默认的是dhcp规则,这种是动态分配IP。

修改onboot=yes,默认是no,代表我们的修改立刻生效

修改IP地址为你自己的IP,IP地址的关键字字段有的系统没有写,需要我们手动添加。这个字段是IPADDR=你的IP

修改子网掩码,也需要手动添加,字段是NETMASK=子网掩码

修改网关,也许手动添加,字段是GATEWAY=你的网关

修改DNS域名服务器,也需要手动添加

        两个常用的DNS地址:DNS1=114.114.114.114 和 DNS2=8.8.8.8

修改完以上信息后,按esc,然后按shift+:,然后输入命令:wq,回车,保存退出

重启网络服务让修改立刻生效:service network restart 或者systemctl restart network

3.Linux目录和文件操作命令

3.1目录操作命令

进入目录:cd 目录名称或者一个目录的路径 cd是change directory的缩写

cd /home/test01

打印当前工作目录的完整路径:pwd,全称是print word directory

pwd

查看目录的内容:ls,全称是list。直接ls代表查看当前目录的内容,ls后面也可以跟上路径,代表查看这个路径下的内容。比如:ls /home/test01

ls /home/test01

参数-a:all的缩写,查看目录下所有内容,包括了隐藏文件

参数-l:list的缩写,以详情的形式查看目录

参数-h:human的缩写,以人们容易理解的单位查看大小

绝对路径和相对路径:

绝对路径:就是从根目录/开始的一个路径,可以准确定位到一个位置,比如:/home/tommy

./home/xue

相对路径:相对于你当前位置的一种表现方式

.  代表当前位置

..  代表上级目录

~  代表当前用户的家目录

-  代表上一次所在的目录

创建目录:mkdir 目录名或者路径 mkdir全称是make directory。

mkdir a

mkdir支持同时创建多个目录,如:mkdir a b,默认在当前目录下创建,也可以使用路径指定一个创建位置,如:mkdir /root/test01

mkdir支持创建多级目录,使用 -p 参数即可,-p参数是parent的缩写。如:mkdir -p dir1/dir2

mkdir -p dir1/dir2

Linux文件和目录的特点

名称是区分大小写的

Linux的文件是没有专用后缀名的。当你看到类似后缀名的表示,其实那也属于文件名的一部分。之所以这么写是为了区分文件属于什么类型,是一种约定的写法。比如:anaconda-ks.cfg这个整体就是一个文件名,.cfg 不是后缀名。

以树状形式来展示目录结构:tree

tree

如果显示没有找到相关的操作,需要安装tree

yum -y install tree

3.2文件操作命令

创建文件

touch命令可以创建一个空白文件,可以同时创建多个,空格分开。比如:touch file1 file2

touch test1 test2

使用vi编辑器命令也可以创建文件,并且同时打开文件进行编辑,如:vi file_vi

vi test3

查看文件

cat:一次性显示文件的所有内容,当文件内容较多时,会快速滚动屏幕,直到最后一屏。所以cat命令适合查看短文件。如:cat file1

参数-n:n是number的缩写,用于显示行号

cat  -n file1 

tac:倒过来查看文件,就是对文件进行倒叙排序后再查看

more:一次性显示一屏内容,并且在底部有一行提示信息,给出当前的位置百分比。

more text

        快捷键:空格显示下一屏内容

        快捷键:回车显示下一行内容

        快捷键:q 可以手动退出,否则显示完毕后自动退出

less:这个命令跟more相似,但功能更全面,more只能往下看,不能回看。less支持回看。

        快捷键:空格显示下一屏内容

        快捷键:回车显示下一行内容

        快捷键:j、k可以上下翻行

        快捷键:翻页键(pageup、pagedown)可以实现上下翻页

        快捷键:q 退出,注意less不会自动退出

        快捷键:/ 支持在文件中查找内容,查找的内容关键字写到/后面即可

head:从头开始查看

head -30 text

参数:可以指定查看的行数,默认只显示10行。如:head 文件名 显示这个文件前10行。head -30 文件名 代表显示文件的前30行。

tail:从尾部开始查看

tail -f /var/log/messages

参数:可以指定查看的行数,默认只显示10行。如:tail 文件名 显示这个文件后10行。tail -30 文件名 代表显示文件的后30行。

参数-f:代表实时查看文件,监控文件的最新变化,也是查看尾部,默认显示10行,是一个连续运行的程序,需要ctrl+c退出。这个命令很常用,主要用来查看日志,因为日志的内容会经常更新,而更新的内容都写在了尾部。可以查看系统日志:/var/log/messages

3.3目录和文件通用操作

复制文件或目录:cp,copy的缩写

cp 源文件 目标文件

格式:cp 源 目标。源可以是多个文件 ,可以是绝对路径或相对路径。目标如果是一个目录,那么会在这个目录下产生同名文件,完成复制。目标如果是一个文件,那么复制以后会再进行重命名。相当于改名另存为。

参数-r:这个参数代表递归的意思,可以实现操作目录的每一级,直到最下面一级。这样就可以实现对一个目录的完整复制。所以当你复制的是一个目录的时候,需要-r参数,否则只能复制文件。

剪切移动文件或目录:mv,move的缩写

mv 源 目标文件

格式:mv 源 目标。源和目标如果相同,都是一个位置,相当于重命名。如果源和目标位置不同,就是移动。

剪切目录不需要-r参数。

删除文件或目录:rm,remove的缩写

格式:rm 要删除的文件或目录

rm -f 目标文件

参数-r:代表递归,用于删除目录,如果不加-r参数,只能删除文件。

参数-f:代表强制删除,不需要跟我确认。

注意:这个命令 rm -rf 是很危险的,代表着直接强制删除后面的一个目录,如果删错了就无法恢复,一定要慎用,一定要确认好你删除的对象。

查找和搜索

通配符:* 可以匹配0到多个任意字符    ?匹配一个任意字符

查找文件:find

按照名称查找:find 目录名 -name 文件名

        如:find  -name file2 代表在当前目录下查找file2文件。

        通配符查找:find /etc -name "*ens33" 代表在/etc目录下查找以ens33结尾的文件

按类型查找:find 目录名 -name 文件名 -type d(目录) f(文件) l(链接,相当于快捷方式)

find 目录名 -name 文件名 -type d(目录) f(文件) l(链接)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 微服务基础知识
  • 8.19Qt作业
  • C语言内存操作函数
  • 力扣第 411 场周赛题解
  • 西安旅游系统--论文pf
  • 每日快讯 | 京东健康:2024年上半年营收283亿元
  • vue+fastadmin跨域请求问题
  • 【Docker】宿主机上装个ES和使用docker装个ES有啥不一样
  • 【gitlab】gitlab-ce:17.3.0-ce.0 之2:配置
  • Windows 上使用 OpenSSL 生成一个 10 年有效期的自签名 PFX 证书
  • Spring Boot 3.3 【五】Spring Boot 整合JPA-原生SQL支持
  • 萝卜快跑和端到端的自动驾驶(1)
  • mysql 之 explain
  • c语言基础-------数组元素的指针
  • 2024新型数字政府综合解决方案(七)
  • es6
  • ES6之路之模块详解
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • mysql 数据库四种事务隔离级别
  • 初探 Vue 生命周期和钩子函数
  • 对超线程几个不同角度的解释
  • 少走弯路,给Java 1~5 年程序员的建议
  • 实习面试笔记
  • 小程序button引导用户授权
  • 译自由幺半群
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #### go map 底层结构 ####
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #在 README.md 中生成项目目录结构
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (day 12)JavaScript学习笔记(数组3)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (循环依赖问题)学习spring的第九天
  • (转)h264中avc和flv数据的解析
  • (转)Scala的“=”符号简介
  • (转)程序员技术练级攻略
  • .ai域名是什么后缀?
  • .net dataexcel winform控件 更新 日志
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .Net6 Api Swagger配置
  • .Net各种迷惑命名解释
  • .net通过类组装数据转换为json并且传递给对方接口
  • @Controller和@RestController的区别?
  • @RequestBody的使用
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [] 与 [[]], -gt 与 > 的比较
  • [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告
  • [Angular] 笔记 18:Angular Router
  • [Angularjs]asp.net mvc+angularjs+web api单页应用