shell笔记整理
2023-06-22 10:12:05   10  举报             
     
         
 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 条评论
 下一页
 为你推荐
 查看更多