Linux 命令行(2) 性能监控
pwd 查看当前目录
cd 转到指定目录
cd .. 返回上一级
cd ../.. 返回上上级
ls 当前目录下文件列表
ls -al 显示隐藏文件
ls -hl 显示详细信息
ls xxx* 查找当前目录下包含xxx的文件名
more 在黑屏上分页显示文件内容,从前往后读取文件
more -5 每页显示5行
空格 下一页
b 上一页
less 分页显示工具 [pageup] [pagedown]
history | less
cp 复制文件
cp /路径1 /路径2
mv 移动 重命名
tar 打包 解包
gzip bzip2 压缩 解压缩
tar xvf 解包
tar cvf file.tar dirname 打包
tar cvf file.tar file1 file2 file3 ...
tar -zxvf file.tar.gz 解压并解包
vi 以文本编辑器的方式打开文件
dd 删除当前行
x 删除一个字符
gg 回到第一行
shift + g 到最后一行
:x :wq! 强制保存退出
:q! 不保存退出
?xxx 在文本中查找xxx字符串
n 下一处
Shift + n 上一处
reboot 重启服务器
rm 删除
rm -f *强制删除
rm -i *删除前询问
rm -r *删除子目录及子目录中所有文件
mkdir 建立文件夹/路径及其下面所有文件
mkdir -p test/test1 递归创建多目录
rmdir 删除空目录(非空目录无法删除)
cat (1)在黑屏上显示文件中的所有内容
(2)将几个文件合并为一个文件 cat file1 file2 > file
cat -n * 显示行号
tail 黑屏显示最新的文件内容
tail -f 黑屏实时显示文件内容
grep 使用正则表达式搜索文本内容,将匹配行打印出来
grep -n ‘xxx’file 显示行号
ps 查看进程
ps -ef | grep xxx
ps -aux | grep xxx
yum Shell前端软件包管理器 基于rpm包管理
(1)安装 yum install package1
(2)更新 yum update package1
(3)删除 yum remove | erase package1
shutdown 关闭服务器
shutdown -r +10 十分钟后关机并且马上重新启动
shutdown -h now 马上关机并且不重新启动
hostname
等同于cat /proc/sys/kernel/hostname
hostname newname
whoami 查看当前登录用户名
clear 清屏
date
(1)查看日期
(2)修改服务器时间
nate -s mm/dd/yyyy
nate -s hh:mm:ss
(3)同步网络时间
ntpdate pool.ntp.org
head 显示文件前十行
与tail命令类比
chmod 更改权限
文件权限说明drwxrwxrwx
(1)第一位 d目录 l符号链接指向另一个文件 s套接字文件 b块设备文件 c字符设备文件 p命名管道文件 -普通文件
(2)三组用户:文件所有者,组用户,其他用户
(3)r读权限 w写/修改权限 x执行权限
(4)二进制表示
chmod 777 *
chmod a-x * -减少权限 +增加权限 u文件所有者 g属组用户 o其他用户 a所有用户
chmod -R 664 /temp/* 连同子目录下文件一起设置
which 查看可执行文件的位置
whereis 查看文件的位置 (速度比find快)
locate 配合数据库查看文件位置
find 实际搜寻硬盘查询文件名称
find 实际搜寻硬盘查询文件名称
find / -name ‘xxx’
history 显示历史执行命令
export HISTTIMEFORMAT='%F %T ' 显示执行时间
history | more
ifconfig 查看网卡信息 配置网卡
kill -9 pid 强制终止进程
uname -a 查看系统信息
rpm -ivh package_name RedHat软件包管理工具 添加/删除程序
-ivh 显示安装进度
rz 本地上传到服务器
sz 发送文件到本地
sh 执行shell脚本
top 实时监控系统处理器
当前时间 系统运行时间 当前登录用户数 系统负载
进程总数 运行中 睡眠中 ...
us用户空间占用CPU百分比 sy内核空间占用CPU百分比 id空闲CPU百分比
物理内存总量 交换区总量
进程信息
free 显示内存使用情况 MEM SWAP
free命令的输出值从/proc/meminfo中读出的
free -k -m 输出结果单位KB MB
iostat 输出CPU和磁盘I/O相关的统计信息
avg-cpu段:
%user 用户空间(应用程序使用)
%nice 优先进程消耗的CPU时间占用百分比
%system 内核空间(内核使用)
%iowait CPU等待硬件I/O 占用百分比
%idle CPU空闲时间百分比
Device 段
tps每秒发送到I/O的请求数
Blk_read/s每秒读取的block数
Blk_wrtn/s每秒写入的block数
Blk_read 读入的block总数
Blk_wrtn 写入的block总数
iostat 2 每两秒显示一次统计信息
(C.F. 内核空间与用户空间Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间。而将较低的3G字节(从虚拟地址 0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间)
mpstat 获取CPU相关统计信息
%irq 用于处理系统中断的CPU百分比
%soft 用于软件中断的CPU百分比
%idle CPU空闲时间
%intr/s 每秒CPU接收的中断总数
(和vmstat区别,mpstat可以查看多个CPU)
mpstat -P ALL 2 3 显示所有CPU,每两秒刷新,显示三次
netstat 显示网络相关信息,网络连接、路由表、接口状态、masquerade连接、多播成员
(1)Active Internet connections有源TCP连接
Recv-Q 接收队列
Send-Q 发送队列
一般都为0,不是0表示有包在队列中等待
(2)Active UNIX domain sockets有源Unix域套接字
Proto 连接使用的协议
RefCnt 连接到本套接字的进程号
Types 套接字类型
State 套接字状态
I-Node
Path 连接套接字的其他进程使用的路径名
netstat -a | more 列出所有端口
netstat -at 列出所有tcp端口
netstat -au 列出所有udp端口
netstat -s 显示所有端口的统计信息
netstat -an | grep [PORT]
netstat -tunlp | grep [PORT] 查看某端口号是否被占用
pmap pid 查看具体进程所用内存的分布情况
Address 进程所占地址空间
Kbytes 该虚拟段的大小
RSS 驻留集大小
Anon 设备节点号,0表示没有节点与内存相对应
Locked 是否允许swapped
Mode 权限
Mapping bash对应的映象文件名 [anon]已分配内存 [stack]程序堆栈
Offset 文件偏移
Device 设备名(主设备:次设备)
pmap -x pid 显示扩展格式
pmap -d pid 显示设备格式
uptime 显示系统负载
参看top
vmstat 查看整机的CPU、内存、IO使用情况
vmstat 2 每两秒采集一次服务器状态
r 在运行队列中等待的进程数
b 在等待io的进程数
r b列一般为0,表示没有等待进程
swpd 虚拟内存使用情况
free 空闲的内存
buff 被用来作为缓存的内存数
cache 被用来做文件缓存的内存数
in 每秒中断数
cs 每秒上下文切换次数
watch 帮助用户重复执行某命令,把每次的结果显示在黑屏上
watch command (默认执行间隔2s)
watch -n 10 ‘cat /proc/loadavg’每10秒执行一次
watch -d ‘cat /proc/loadavg’ 高亮显示差异
【服务器连接数】
查看历史连接数
netstat -na | wc -l
查看有效的连接数
netstat -nat | grep ESTABLISHED | wc -l
对服务器各种状态下的连接数分组并查询得到结果
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
统计80端口连接数
netstat -nat|grep -i "80"|wc -l
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

浙公网安备 33010602011771号