shell笔记整理
2023-06-22 10:12:05 9 举报
AI智能生成
shell 常用命令和注意事项
作者其他创作
大纲/内容
find . -type f -size +800M 查找大文件
df -h 查看磁盘空间
du -h –max-depth=0 * 查看文件夹大小
su 切换用户
sed awk
curl 发http请求
find / -name '*.log' -type f -mtime +3 -ctime +3 -atime +3 -delete
删除机器上3天内未被访问且文件属性、文件内容均未发生变化的所有*.log文件
uptime 查看机器的负载情况
dmesg | tail 该命令会输出系统日志的最后10行
vmstat 1 用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 模块、中断、CPU 活跃状态等更多信息,需安装sysstat包
free –m 可以查看系统内存的使用情况,-m参数表示按照兆字节展示 ############################################
mpstat -P ALL 1 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的
pidstat 1 输出进程的CPU占用率
iostat -xz 1 命令主要用于查看机器磁盘IO情况
sar命令在这里可以查看网络设备的吞吐率
sar -n TCP,ETCP 1 用于查看TCP连接状态
top 命令是性能监控程序
htop 是一个更加先进的交互式的实时监控工具,需要安装才能使用
iotop 也是和 top 和 htop 命令相似,已安装
ulimit 系统限制最大进程数,用来限制系统用户对shell资源的访问
chmod 修改权限
crontab -e 添加定时任务
sshpass -p VBsit@2020 ssh -o StrictHostKeyChecking=no root@"$host" -p "$prort" -n pgrep -f "$service" &>/dev/null
ssh -o 去掉密码提示 配合sshpass直接远程访问其他机器
curl "${WEBHOOK_URL}" -H "Content-Type: application/json" -d '{"msgtype": "text","text": {"content":"'"$faild_log"'"}}'
curl 中的json参数 需要用一对"'"进行包裹
while read line;do success_log="$success_log""$line"; done < $resultlog/"$datedir"/success.log
循环读取的文件行内容 需要用变量存起来才能完整输出
window脚本编码问题,linux系统执行报错 需要编辑脚本,下发 set ff=unix
sql_cmd="SELECT Fcreator from t_model_newest_deploy_info WHERE Fserver_name=""'"$service"'"" ORDER BY Fmodify_time desc limit 1"
owner=$(mysql -uroot -pvb_at_test -h9.135.235.22 vb_data -e sql_cmd)
owner=$(mysql -uroot -pvb_at_test -h9.135.235.22 vb_data -e sql_cmd)
变量需要包裹起来
-h紧跟ip,不能有空格
pgrep -f "$service"
获取服务进程id
export http_proxy=ip:port设置代理
array_name=(value0 value1 value2 value3) 数组用空格分离元素
$n 系统接收参数 例如 echo "执行的文件名:$0";
当n>=10时,需要使用${n}
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。如”$*“用「”」括起来的情况、以”$1 $2 … $n“的形式输出所有参数。
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。如”$@“用「”」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
read 读取文件
docker
Docker 是一种流行的容器化平台,可以提供一种轻量级的虚拟化技术,使得应用程序可以在不同的操作系统之间移植
docker version 查看版本
docker pull <image_name>:<tag> 拉取镜像
docker run <image_name> 创建并运行一个指定镜像的容器
docker ps 查看当前正在运行的容器列表
docker rm <container_id> 删除容器
docker stop <container_id> 停止容器
docker images 查看镜像列表
docker rmi <image_id> 删除指定镜像
docker exec -it <container_id> bash 该命令用于进入指定 ID 的容器,并启动一个新的 Bash 终端。
nohup
nohup 的用途就是让提交的命令忽略 hangup 信号,一般我们可在结尾加上”&”来将命令同时放入后台运行
setsid
0 条评论
下一页