一、前言
记录一些日常系统运维的命令和语句
二、linux命令与语句
1、linux查看各目录使用磁盘情况
du -h /home home为目录
du -h /home
2.查看内存使用情况
free -h
3、查看进程和CPU使用情况
top
top
三、数据库语句
1、统计mysql数据库表数量
SELECT COUNT(*) AS table_count FROM information_schema.tables WHERE table_schema = 'your_database_name';
将上面的your_database_name
替换为你想要统计表数量的数据库名称。这条查询会返回指定数据库中所有表的数量作为结果集。
2、统计mysql各表占磁盘大小
SELECT table_name AS "表名",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "表大小(MB)",
ROUND((data_length / 1024 / 1024), 2) AS "数据大小(MB)",
ROUND((index_length / 1024 / 1024), 2) AS "索引大小(MB)"
FROM information_schema.tables
WHERE table_schema = '数据库名' AND table_name = '表名';
以下是一些常见的Linux命令及其描述,这些命令在大多数Linux发行版中都可用。请注意,由于Linux命令非常丰富,这里只列出了一部分常用的命令。
文件操作
ls
:列出目录中的文件和子目录cd
:更改当前工作目录pwd
:显示当前工作目录的路径mkdir
:创建新目录rmdir
:删除空目录rm
:删除文件和目录cp
:复制文件和目录mv
:移动或重命名文件和目录cat
:查看文件内容more
/less
:分页查看文件内容head
/tail
:查看文件的开头/结尾部分touch
:创建空文件或更新文件时间戳find
:在目录树中查找文件和目录locate
:快速查找文件(需要事先建立数据库)grep
:在文件中查找文本模式chmod
:更改文件和目录的权限chown
:更改文件和目录的所有者chgrp
:更改文件和目录的所属组
系统信息
uname
:显示系统信息hostname
:显示或设置主机名df
:显示磁盘使用情况du
:显示目录或文件的磁盘使用情况free
:显示内存使用情况top
/htop
:显示系统进程和资源占用情况ps
:显示当前进程信息kill
:终止进程uptime
:显示系统运行时间、用户数和负载平均值w
/who
:显示登录用户信息last
:显示最近的登录记录ifconfig
/ip
:显示和配置网络接口信息ping
:测试网络连接netstat
:显示网络连接、路由表、接口统计等信息lsof
:列出打开的文件和使用它们的进程vmstat
:显示虚拟内存统计信息
软件包管理(依赖于发行版)
- Debian/Ubuntu系列:
apt-get
,dpkg
,aptitude
,apt
- Red Hat/CentOS系列:
yum
,rpm
,dnf
(CentOS/RHEL 8及更高版本) - Arch Linux:
pacman
- Fedora:
dnf
,yum
(旧版本) - openSUSE:
zypper
- Gentoo:
emerge
压缩与备份
tar
:打包和解包文件gzip
/gunzip
:压缩和解压缩文件(使用gzip格式)bzip2
/bunzip2
:压缩和解压缩文件(使用bzip2格式)xz
/unxz
:压缩和解压缩文件(使用xz格式)zip
/unzip
:创建和解压zip文件dd
:复制并转换文件内容(常用于备份和恢复磁盘映像)
文本处理
sed
:流编辑器,用于对输入流(或文件)进行基本的文本转换和处理awk
:文本和数据提取和报告工具,适合处理结构化文本文件和数据流cut
:从文件或标准输入中删除部分内容,常用于提取文件的指定字段sort
:对文本行进行排序,并将结果写入标准输出或文件uniq
:从输入中删除或报告重复的行,常用于处理排序后的数据以删除重复项tr
:字符替换和删除工具,用于转换或删除文件中的字符集合join
:根据共同字段将两个文件的行连接在一起,常用于数据库操作中的连接操作(但不是SQL那种)paste
:并行合并文件的对应行,用制表符分隔并写入标准输出或文件split
:将文件拆分为较小的文件,根据行数、字节数或其他条件进行拆分tee
:从标准输入读取数据,并将其同时写入标准输出和一个或多个文件,常用于管道中的中间输出保存操作。