在互联网世界中,服务器被认为是我们的“大脑”,它处理着大量的数据和请求,为我们提供各种网站、应用和服务。对于那些一直在互联网行业中打拼的人来说,服务器就像是我们至亲的朋友,我们时刻与它们相伴。但是,在与服务器朝夕相处的过程中,我发现有些常用命令是我们不能少掉的技能,它们让我们操作服务器更加得心应手。
下面,就让我带您一起探索那些历经了我10年开发经验的服务器常用命令吧!别担心,我会以通俗幽默的方式为您呈现,让您不仅能轻松理解这些命令,还能感受到其中的乐趣。
接下来,请坐稳,系好安全带,我们要启程了!
命令行连接服务器
ssh root@192.168.30.201
查看网卡带宽情况
iftop -i eth1
查看linux版本
lsb_release -a
cat /etc/issue
查看shell版本
echo $s
定时任务
linux定时任务的设置:
crontab -e 编辑
crontab -l 查看
举例如下:
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]
查看系统磁盘及文件夹使用情况或大小
df -m 查看系统磁盘使用情况
du -sh * 查看当前文件大小 *可换成具体文件
du -s * | sort -nr | head -n 10 显示前10个占用空间最大的文件或目录 *可换成具体目录
du -sh * --exclude cache 排除某个文件夹
压缩解压
tar -czvf /tmp/etc.tar.gz /etc 压缩
排除掉某个目录压缩
tar -zcvf yun.tar.gz --exclude=yun/upload --exclude=yun/application/admin/cache yun
tar -xzvf file.tar.gz //解压tar.gz
解压
unrar x XX.rar 解压
开机自启脚本
/etc/rc.d/rc.local
#开机自启脚本
/home/jayzhen/jay/my.sh
PHP相关命令
ps -fe |grep "php-fpm"|grep "pool"|wc -l //查看服务器进程数
netstat -pnt | grep :80 | wc -l //查询并发请求数量
ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }' //查询平均每个php-fpm进程占的内存数量
netstat -napo |grep "php-fpm" | wc -l //查询当前php-fpm 数量 【不准】
lsof -i :9001|grep -v "PID"|awk '{print "kill -9",$2}'|sh 杀死所有占用9000端口的进程
netstat -apn | grep 9001 | wc -l 查看端口启动数量
进程查看相关
top -U www 查看www用户的进程详情
ps -ef |grep "nginx72"|wc -l 查看nginx72用户的进程数量
服务器运行状态相关命令
ps -aux 查看所有进程
ps -T -p ${pid} 查看某个进程的线程
查看系统进程树,他可以把各个进程之间的关系用树形结构标识出来。
pstree -a
查询当前进程占用内存前100个
ps auxw|head -1;ps auxw|sort -rn -k4|head -100
ps -A --sort -rss -o comm,pmem,pcpu |uniq -c |head -100
检测某个端口是否对外开放
lsof -i:(端口号)
如果有就说明开放了 没有就没开放
TCP 121.40.153.138:mysql->58.246.194.146:63652 (ESTABLISHED)
被谁正在连接
netstat -lntp 监听所有端口被谁占用情况
查看文件数量
ls | wc -c
删除指定日期之前的文件
find ./ -mtime +400 -type f -exec rm -f {} \
/tmp --设置查找的目录;
-mtime +30 --设置时间为30天前;
-type f --设置查找的类型为文件;
-name '*.sh[ab]' --设置文件名称中包含sha或者shb,最好有引号,否则有时会报find: paths must precede expression
-exec rm -f --查找完毕后执行删除操作;
{} ; 一定要有否则报 find: missing argument to '-exec'
递归删除指定后缀的文件
find . -name '*.exe' -type f -print -exec rm -r {} ;
创建软连接
ln -s 源文件或目录 目标软链接文件
# 示例
ln -s /home/lighthouse/test.txt test.link
ln -s /home/lighthouse/test test
mount挂载
fdisk -l
mount /dev/mapper/vg_htxd-lv_home /lv_home
第二种
lsblk
mkfs.ext3 /dev/xvdd
mount /dev/xvdd /目标路径
mount /dev/vdk /目标路径
卸载: umount /dev/vdf