linux命令

发布时间 2023-03-22 21:16:19作者: 一尺灯光

下文提到的命令均为个人在工作中使用命令的梳理,仅做记录,方便需要时查看

系统相关

du -h 目录 #查看目录占用空间
du -h --max-depth=1 |sort #查看当前目录下所有一级子目录文件夹大小 并排序
grep 查询内容 目录/文件 | wc -l #查询文件指定内容并统计行数
ps -ef|grep redis #查看redis服务进程情况,这里拿redis服务举例,其他服务查询更改名字即可
lsof -i :6379 #查看6379(为redis的端口号)端口号是否被占用
netstat -tnlp #显示tcp的端口和进程等相关情况
#关闭指定的程序
kill -9 进程号
su root
sudo useradd -d /home/webapp -m webapp #创建用户
sudo passwd webapp #设置用户密码
sudo groupadd webapp #创建用户组
sudo gpasswd -a webapp webapp #添加用户到组,这里有很多种方式
sudo chown -R webapp:webapp /webapp_file #修改文件夹及其子文件夹所有者和组
sudo chmod -R 777 /webapp_file #修改文件夹及其子文件夹权限

目录相关

cd /xx/xx #进入指定目录/home
ls -lrt /home #展示目录下内容/home,若不输入文件夹路径则展示当前目录文件
mkdir /xxx #创建文件夹

文件相关

cp xxx newxxx #复制文件
mv xxx newxxx #移动文件
vi xxx #编辑文件
log_date=$(data -d yesterday +%Y-%m-%d) #获取昨天的时间 使用时格式 ${log_date}
find 目录 -type f -name "*.log" -ctime +7 -exec rm -f {} \; #找出超过7天的日志文件并删除
##从本地复制到远程
scp xxx.sh username@ip:/tmp/xxx.sh
sftp username@ip
#zip解压方式,-o表示同名覆盖,-d为指定解压文件存放路径
unzip -o fileName.zip -d path/
#tar解压 x代表提取 v为verbose展示解压的文件 -C为指定解压文件存放路径,注意使用tar解压时指定的路径如果不存在必须先使用mkdir进行创建
tar -xvf fileName.tar -C path
du -BM /tmp/xx.log | awk '{print $1}' #获取指定文件的大小单位为M

创建定时任务

crontab -l #查看当前用户的定时任务
crontab -e #设置用户级别的定时任务,可以通过定时任务调用脚本
* * * * * echo `date` >> /home/xxx/time.log
#分 时 天 月 年 /代表每
0 1 * * * /bin/sh /webapps/logs/xxx.sh

配置系统级别的任务直接使用 root 权限编辑系统级别定时任务的配置文件: /etc/crontab

创建一个web服务访问页面监控脚本,这个脚本用于服务启动后检查服务是否启用成功

#!/bin/bash
url="http://....."
status_code=$(curl -I -m 30 -o /dev/null -s -w %{http_code}"\n" $url)
echo "访问时间是:`date '+%Y%m%d %H:%M:%S'`---$status_code--->$url"
#while循环访问url,直到状态码为200或者次数大于9次时结束
count=1
while ( [ $status_code -ne 200 -a $count -lt 9 ] )
do
    sleep 60s
    status_code=$(curl -I -m 30 -o /dev/null -s -w %{http_code}"\n" $url)
    echo "访问时间是:`date '+%Y%m%d %H:%M:%S'`---$status_code--->$url"
    ((count++))
done