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(链接)