linux 常用命令
磁盘挂载
https://zhuanlan.zhihu.com/p/688839019
Ubuntu 配置root用户的远程ssh连接
shell
复制代码
查看系统架构
dpkg --print-architecture
# 安装openssh
执行命令:sudo apt install openssh-server
# 修改配置文件
修改配置文件/etc/ssh/sshd_config
命令:sudo vim /etc/ssh/sshd_config
找到 #PermitRootLogin prohibit-password
改为 PermitRootLogin yes
#重启ssh服务
命令:sudo systemctl restart ssh
windows 将应用注册为服务
shell
复制代码
# 以redis 为例
# 注册redis服务:
注册服务:redis-server --service-install redis.windows.conf
启动服务:services.msc
查看应用程序占内存大小
java
复制代码
# 查看所有端口占用情况
netstat -tanlp
# 统计所有进程占用的物理内存,相加后与free命令结果进行核对,确认是否有偏差
ps aux|awk '{sum+=$6} END {print sum/1024}'
# 根据rss列排序结果,核实最大消耗内存进程。
ps -eo pid,rss,pmem,pcpu,vsz,args --sort=rss
# 检测slab内存分配器占用情况,执行如下命令
cat /proc/meminfo | awk '{sum=$2/1024} {print $1 sum " MB"}'
# Linux 离线设置时间
date --set='24 may 2023 16:33'
# 将本地内容,同步到远程服务器
rsync -avz /root/test/ root@10.0.0.51:/test/
# 将远程内容同步到本地
rsync -avz root@10.0.0.51:/test/ /root/test/
docker 限制日志文件大小和数量
java
复制代码
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","https://hub-mirror.c.163.com"],
"insecure-registries": [
"172.16.11.13"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver":"json-file",
"log-opts": {"max-size":"50m", "max-file":"2"}
}
离线安装软件
powershell
复制代码
#离线环境,提前在有网络的服务器上下载好需要的软件包
yum -y install nfs-utils --downloadonly --downloaddir /home/nfs
#nfs 安装
cd /home/nfs
# 安装nfs
rpm -ivh *.rpm --force --nodeps
Linux 开放端口
shell
复制代码
# 开启防火墙
systemctl start firewalld
# firewall 开放端口并重启
firewall-cmd --zone=public --add-port=8080/tcp --permanent && firewall-cmd --reload
# 查看端口是否开启
firewall-cmd --zone=public --query-port=8080/tcp
查看端口是否开启netstat -nlpt
find命令
shell
复制代码
# 全局查询
find / -name 'redis'
# 当前目录下的文件数目 wc 程序来计算出文件的数量
find ./ | wc -l
# 查找文件过滤条件 -type; d 限制了只搜索目录 f 限制了只搜索普通文件
find ./ -type d | wc -l
# 根据文件大小和文件名来搜索 (查找JPG大于1M的文件)
find ./ -type f -name "*.JPG" -size +1M | wc -l
# 预定义的操作 -delete -ls (删除当前路径下扩展名为".BAK")
find ./ -type f -name '*.BAK' -delete
# 某路径下(/data)文件数量排名
find /data -xdev -printf '%h\n' | sort | uniq -c | sort -nr -k 1 | head -30
# 其他 locate whereis which
locate 'test*'
// 查看所有nginx目录和文件列表
rpm -ql nginx
df 、du 命令
shell
复制代码
# 查看磁盘路径的占用情况(百分比)
df -h
# 查看磁盘路径的文件数目
df -ai
# 查看磁盘路径的占用情况(实际占用多少M/k)
du -h
# 查看某个路径的占用情况(实际占用多少M/k) -d 深度
du -h -d 1 /usr/application/yangtzebd
# 释放磁盘空间
lsof | grep deleted | awk '{print $2}' | xargs kill -9
安装网络宽带监控
java
复制代码
# 安装iftop
yum install iftop -y
# 查看网卡
ifconfig
# 监听网卡带宽
iftop -i ens160
权限命令
powershell
复制代码
# 修改文件的权限
chmod 777 test.txt
# 把目录和下面所有文件的权限
chmod -R 777 testdir
# 修改文件的拥有者 (chown -R 拥有者:拥有组 文件夹)
chown -R mysql:mysql testdir
# 把a.txt更改为root所有
chown root a.txt
服务器信息
powershell
复制代码
# 查看CPU 核数
lscpu | grep "CPU(s)"
#另一种查看cpu核数的方式
cat /proc/cpuinfo | grep ^processor | wc -l
# 可以查看系统设置的最大文件句柄
ulimit -n
压缩、解压文件
powershell
复制代码
# .tar 格式
## tar -zcvf 打包压缩后的文件名 要打包压缩的文件
### z:调用gzip压缩命令进行压缩 c:打包文件 v:显示运行过程 f:指定文件名
tar -zcvf test.tar.gz /test/
### 解压到当前目录下 x:代表解压
tar -xvf test.tar.gz
# .zip
# zip -r 压缩生成的文件名 要压缩的目录
# zip 压缩生成的文件名 要压缩的文件
# unzip 要解压缩的文件
# .tar
# tar -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz
# tar -zxvf 要解压的文件名 :解压缩.tar.bz2的文件
# tar -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2
# tar -jxvf 要解压的文件名 :解压.tar.bz2的文件
# .gz
# 压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了
# 解压缩:gunzip/gzip -d 压缩包名称
网络
powershell
复制代码
# 测试网络连通性
ping 172.16.11.45
# 远程管理与端口探测
telnet 172.16.11.45:8080
# linux 设置网络开虚拟机自动连接
cd /etc/sysconfig/network-scripts && ls
# 找到自己的网络配置 例如 ifcfg-eth33 ifcfg-eth0
# 修改配置 找到ONBOOT=no 修改为 ONBOOT=yes
vim ifcfg-eth33
# 重启网关服务
service network restart
yum 命令
powershell
复制代码
# 获取服务器上所有可用的软件的列表
yum list
# 搜索服务器上所有和关键字相关的包
yum search redis
# 卸载
yum -y remove redis
##### yum源配置start
# 备份/etc/yum.repos.d/CentOS-Base.repo文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载阿里云的Centos-6.repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 重新加载yum
yum clean all
yum makecache
# yum /var/run/yum.pid 已被锁定
rm -f /var/run/yum.pid
kill -9 进程号
yum clean all
##### yum源配置end
进程
powershell
复制代码
# 查看进程是否占用
lsof -i:8080
# 查看所有端口占用情况
netstat -tanlp
netstat -tunlp |grep 8080
# 查看服务进程是否占用
ps -lef |grep nginx
netstat -aux|grep niginx
# 关闭进程
kill -9 进程ID
# 根据进程名称关闭进程
pkill -9 进程名称 或 killall -9 进程名称
pkill -9 nginx
服务器监控
powershell
复制代码
# 动态查看系统的状态
top
# 显示内存状态
free -h
# 清理系统缓存并释放内存
echo 3 > /proc/sys/vm/drop_caches
压测工具
powershell
复制代码
# 总共100次访问 20并发量
ab -n 100 -c 20 http://127.0.0.1:8080/test