操作命令
基础命令
sh
mkdir xxx # 创建文件夹
touch xxx # 创建文件
chmod u+x *.sh # 把 .sh 结尾的文件变成可执行文件
find / -name xxx # 查找文件路径
sudo netstat -tuln| grep 8080 # 查看 8080 端口占用情况
ps -ef | grep tomcat # 查找以 tomcat 运行的项目
ps -ef | grep jar # 查找以 jar 运行的项目
ps -ef | grep node # 查到以 node 运行的项目
# 查看最后 100 行并保存到文件
tail -n 100 ./logs/catalina.out > /root/20230711.txt
# 获取指定时间断日志到文件(先看日志日期格式yyyy-MM-dd 还是 yyyy.mm.dd)替换日期区间格式
sed -n '/2024-12-12 17:46:/,/2024-12-12 17:50:/p' /soft/apache-tomcat-8.5.98-8080-rzdp/logs/catalina.2024-12-12.out > /root/20241212.txt
sh
kill - 9 $(ps -aux|grep nginx-ui|grep -v grep|awk '{print $ 2}')
ps -aux # 显示系统中所有的进程信息
grep nginx-ui # 从进程中筛选出所有包含 nginx-ui 的行
grep -v grep # 排除掉 grep 本身(因为上一步的 grep 命令也会被显示出来)
awk '{print $2}' # 使用 awk 工具提取出匹配行的第二个字段,通常就是进程的 PID
压缩解压
tar
是磁带归档(Tape ARchive)工具。
-c
表示创建一个新的归档文件(压缩)。-z
表示使用 gzip 压缩格式进行解压缩。-x
表示执行解包操作(解压)。-v
表示显示详细的解压缩过程信息。-f
后面接要解压缩的文件(这里是xxx.tar.gz
),表示指定操作的文件对象。-C
后面跟路径-C /soft/tools
,即解压文件至指定目录
压缩 | 解压 | 类型/说明 |
---|---|---|
tar cvf xxx.tar 被压缩目录 | tar xvf xxx | tar(是打包非压缩) |
gzip xxx | gunzip xxx.gz gzip -d xxx.gz | gz |
tar –czf xxx.tar.gz 被压缩目录 | tar -zxvf xxx | tar.gz |
先 tar -cvf xxx.tar 被压缩目录 然后 xz -z xxx.tar (如果要保留被压缩文件加上 ==k== 参数) | 分次解压 xz -d xxx.tar.xz + tar -xvf xxx.tar.xz 或直接解压 tar xvJf xxx -C /soft/tools | tar.xz(两层,外面是 xz 压缩,里层是 tar 打包) |
zip -r xxx.zip 被压缩文件 | unzip xxx.zip | zip |
rar xxx.rar 被压缩目录 | rar x xxx.rar | rar |
系统命令
shell
poweroff # 关机
reboot # 重启
sudo shutdown -h now # 关机命令
shutdown -h 10 # 定时关机
systemctl status firewalld # 查看防火墙状态
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙
systemctl restart firewalld # 重启防火墙
firewall-cmd --reload # 重新加载防火墙(开放或关闭端口后执行)
firewall-cmd --query-port=8080/tcp # 查看 8080 端口是否开放(防火墙开启状态下)
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放 8080 端口(8080-8099 可以批量开放)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 关闭 8080 端口
netstat -tulnp|grep :3306 或 netstat -tulpn|grep <服务> # 查看端口 3306 被什么程序占用
telnet <ip 或 域名> <端口号> # 测试端口通不通 telnet inkwell.top 80
systemctl list-unit-files --type=service grep enabled # 查看所有自启服务
systemctl disable <服务名> # 关闭自启服务
hostnamectl set-hostname <主机名> # 修改主机名(无需重启,新开窗口即可生效)
系统相关
sh
uname -a # 查看系统信息
cat /proc/cpuinfo|grep name |cut -f2 -d: |uniq -c # 查看 cpu 型号
cat /proc/cpuinfo|grep "physical id"|sort|uniq|wc -l # 查看物理 cpu 个数
cat /proc/cpuinfo|grep "cpu cores"|uniq # 查看 cpu 即核数
cat /proc/cpuinfo|grep "processor"|wc -l # 查看逻辑 CPU 的个数
cat /proc/meminfo 或 grep MemTotal /proc/meminfo # 查看内存总量(Mem 是内存条--高效, Swap 是虚拟内存--低效)
free -h 或 free -m # 查看内存使用情况
dmidecode|grep -A5 "Memory Device"|grep Size|grep -v Range # 查看内存插槽数及内存大小
dmidecode|grep -A16 "Memory Device"|grep 'Speed' # 查看内存的频率
# ssh 连接别的服务器执行命令
ssh -p 22 root@36.134.59.209 'rm -f /soft/apache-tomcat-8.5.72-8081/webapps/xazl.war'
wget
wget
是一个用于从网络上下载文件的命令行工具,支持 HTTP、HTTPS 和 FTP 协议。它是 GNU 项目的一部分,非常适合在终端或脚本中使用,尤其是在需要批量下载文件或在不稳定的网络环境下进行下载时
-O
:将下载的文件保存为指定的文件名。-c
:断点续传。-r
:递归下载。-l
:递归下载的层级深度。--limit-rate=<rate>
:限制下载速度。-b
:后台下载。- e <command>
:执行一个命令,例如设置代理。
YUM命令
yum常用命令
sh
yum list installed # 查看已安装软件包
yum list installed | grep <包名> # 查看指定名称软件包
yum update or yum update <包名> # 更新所有软件包 / 指定更新
yum remove <包名> # 删除软件包
yum info <包名> # 显示软件包信息
yumdownloader --destdir /root openvpn # 只下载rpm包不安装,需要先安装yum-utils,可选参数--destdir指定下载路径
yum 源设置为阿里源
shell
# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 删除缓存数据
yum clean all
# 创建元数据缓存
yum makecache
启用 EPEL 仓库
EPEL(Extra Packages for Enterprise Linux)仓库提供了许多额外的软件包
shell
# 先查看是否已经安装
yum repolist enabled | grep epel
# 如果没有那就开始安装
yum install epel-release
RPM命令
RPM命令是Linux系统中用于管理软件包的一个工具,主要用于安装、升级、卸载和查询软件包。
sh
# RPM命令的基本用法
rpm -ivh # 命令安装软件包。例如:rpm -ivh filename.rpm
rpm -e # 命令卸载软件包。例如:rpm -e package_name。
rpm -Uvh # 命令升级软件包。例如:rpm -Uvh filename.rpm。
rpm -qpi # 命令查询软件包的描述信息。例如:rpm -qpi filename.rpm。
rpm -qpl # 命令列出软件包内的文件信息。例如:rpm -qpl filename.rpm。
rpm -qf # 命令查询指定文件属于哪个RPM软件包。例如:rpm -qf filename.rpm。
# RPM命令的选项和参数
-i, --install # 安装软件包。
-e, --erase # 卸载软件包。
-U, --update # 升级或安装软件包。
-v, --verbose # 提供更详细的输出。
-h, --hash # 显示安装进度条。
-q, --query # 查询软件包信息。
--test # 测试安装,检查依赖关系和冲突。
--nodeps # 忽略依赖关系,强制安装或卸载。
# RPM命令的常见问题解决方法
--nodeps # 选项可以忽略依赖关系,但可能会导致软件无法正常运行。
--test # 选项可以测试安装,检查依赖关系和冲突,但不实际进行安装。
-qa # 可以查询所有已安装的软件包