linux 常用命令

linux 常用命令

服务器运维

# 查看服务器运行情况,哪个程序占用资源比较高
ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20
# ubuntu 可以使用htop
apt install -y htop

磁盘挂载

https://zhuanlan.zhihu.com/p/688839019
Ubuntu 配置root用户的远程ssh连接
查看系统架构
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 将应用注册为服务
# 以redis 为例
# 注册redis服务:
注册服务:redis-server --service-install redis.windows.conf  

启动服务:services.msc
查看应用程序占内存大小
# 查看所有端口占用情况
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 限制日志文件大小和数量

 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"}
}

离线安装软件

#离线环境,提前在有网络的服务器上下载好需要的软件包
yum -y install nfs-utils --downloadonly --downloaddir /home/nfs
#nfs 安装
cd /home/nfs

# 安装nfs
rpm -ivh *.rpm --force --nodeps

Linux 开放端口

# 开启防火墙
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命令

# 全局查询
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 命令

# 查看磁盘路径的占用情况(百分比)
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

安装网络宽带监控

# 安装iftop 
yum install iftop -y
# 查看网卡
ifconfig
# 监听网卡带宽
iftop -i ens160

权限命令

# 修改文件的权限
chmod 777 test.txt
# 把目录和下面所有文件的权限
chmod -R 777 testdir

# 修改文件的拥有者 (chown -R 拥有者:拥有组 文件夹)
chown -R mysql:mysql testdir

# 把a.txt更改为root所有
chown root a.txt

服务器信息

# 查看CPU 核数 
 lscpu | grep "CPU(s)" 
 #另一种查看cpu核数的方式
cat /proc/cpuinfo | grep ^processor | wc -l

# 可以查看系统设置的最大文件句柄
ulimit -n 

压缩、解压文件

# .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 压缩包名称

网络

# 测试网络连通性
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 命令

# 获取服务器上所有可用的软件的列表
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


进程

# 查看进程是否占用
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

服务器监控

# 动态查看系统的状态
top 

# 显示内存状态
free -h

# 清理系统缓存并释放内存
echo 3 > /proc/sys/vm/drop_caches 

压测工具

# 总共100次访问 20并发量
ab -n 100 -c 20 http://127.0.0.1:8080/test
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值