常用命令及简单shell语句

常用命令及简单shell语句

● 删除注释和空行

sed -e "s/#.*//g" test_file.conf | awk '{if (length !=0) print $0}'

● ES查看更多有关于集群信息、当前节点统计信息等等

curl -XGET 'http://ip:9200/_cat/nodes?pretty'

● 过滤僵尸进程

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'


 

● docker容器备份迁移

docker commit -p 246bb3fb8307 fastdfs-tracker

docker save -o fastdfs-tracker.tar fastdfs-tracker

docker load -i /root/fastdfs-tracker.tar

● 如果容器已经被创建,我们想要修改容器的重启策略

docker update --restart no mynginx

//多个参数值选择

no 不自动重启容器. (默认值)

on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10

unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器

always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算

● read -p "xxxxxxxx" name引号部分想要设置字体和颜色时,可以通过echo来实现

Eg:echo -e -n "\e[31mxxxxxxxxx\0[m"

read -p "" name

● grep匹配多个字段

docker ps |grep -E "****|****|****|****"

● awk循环判断

awk '{for(i=1;i<=NF;i++){print $i}}'




 

● ES集群添加索引报错

{

 "error":"Content-Type header [] is not supported",

 "status":406

}

在curl后面添加以下字段

-H "Content-Type: application/json"

● 释放缓存

echo 1 > /proc/sys/vm/drop_caches

0:不释放(系统默认值)

1:释放页缓存

2:释放dentries和inodes

3:释放所有缓存

● 网页禁止复制粘贴,F12在控制台输入以下命令

document.onselectstart=new Function("return true");


 

● 获取输入内容并换行写入配置文件

示例①

echo "多个tracker_server请用空格隔开."

echo && echo

while true

do

echo -n "请输入tracker_server的ip地址及端口(127.0.0.1:22122):"

read -p "" tracker_info

if [ ! -n "$tracker_info" ];then

echo "该项不能为空,请重新输入!!!"

echo && echo

else

for i in `echo $tracker_info | awk '{for(i=1;i<=NF;i++){print $i}}'`

do

sed -i "/^tracker_server=ip:22122/atracker_server=$tracker_info" $conf_dir/client.conf

done

sed -i "s|^tracker_server=ip:22122|#^tracker_server=ip:22122|g"

fi

done

● 执行脚本同时传入多个参数

if [ -n $@ ];then

while getopts "abc:" c

do

case $c in

a)

echo "a"

;;

b)

echo "b"

;;

esac

done

fi

● yum回滚移除rpm包及其依赖包

  yum history

  yum history undo id

● ES Unassigned解决办法如下:

curl -XPUT 'http://ip:9200/iuap_custom/_settings' -d '{

> "number_of_replicas" : 0

> }'

● 命令前+\表示不执行别名,例如:

cp='cp -i'

执行cp命令的时候,会默认带上-i参数,在文件存在时交互,在shell脚本中,为了避免交互,可以在cp前+\;如nginx动态添加模块时,

\cp -p /data/nginx/sbin/nginx /usr/bin

● WARNING: IPv4 forwarding is disabled. Networking will not work.

echo "net.ipv4.ip_forward = 1" >> /usr/lib/sysctl.d/00-system.conf


 

● ssh免密钥登陆

  ssh-keygen #生成密钥和公钥

  ssh-copy-id ip #将私钥发送给其他服务器

● 阿里epel源地址

wget http://mirrors.aliyun.com/repo/Centos-7.repo

wget http://mirrors.aliyun.com/repo/epel-7.repo

● 磁盘卸载提示devise is busy,查看占用的进程

fuser -m -v /data/

● ES启动指定JAVA环境变量

export JAVA_HOME=/wbalone/iuap-server/middleware/JDK/jdk1.8.0_181-linux/

export PATH=$JAVA_HOME/bin:$PATH

if [ -x "$JAVA_HOME/bin/java" ]; then

JAVA="/wbalone/iuap-server/middleware/JDK/jdk1.8.0_181-linux/bin/java"

else

JAVA=`which java`

fi

● 查看HAProxy最大pid数量:

sysctl -a | grep 'kernel.pid_max'

查看最大进程数:

ps -elf | tail -n 1

● docker容器映射多个目录:

docker run -it -v /src01:/dest01 -v /src02:/dest02 -d images

eg:docker run -it --name dir_test -v /root:/usr/share/nginx/html -v /data:/tmp -d docker.io/nginx:latest

● $0: 脚本本身文件名称

$1: 命令行第一个参数,$2为第二个,以此类推

$*: 全部参数

$@: 所有参数元素列表

$#: 参数个数

$$: 脚本运行时的PID

$?: 脚本退出码

∗与@的区别

当命令行为test.sh 1 2 3

"$*“表示"1 2 3”

"$@“表示"1” “2” “3”

二者没有被引号括起来时是一样的都为"1 2 3",只有当被引号括起来后才表现出差异


 

● 脚本安装ElasticSearch修改堆内存:/etc/sysconfig/elasticsearch


 

● 查看磁盘格式

df -T 只可以查看已经挂载的分区和文件系统类型。

fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。

parted -l 可以查看未挂载的文件系统类型,以及哪些分区尚未格式化。

lsblk -f 也可以查看未挂载的文件系统类型。

file -s /dev/sda3

● 创建数据库

create database myweb character set utf8 collate utf8_general_ci;

● 修改本地镜像名称

//docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

● //文件格式转换,将.sh,.service,.conf,.yaml和.cnf文件全部转换为unix下的文件格式

echo "正在将文件转换为unix格式"

find ./ -regex '.*\.sh\|.*\.service\|.*\.conf\|.*\.yaml\|.*\.repo' | xargs dos2unix > /dev/null 2>&1

● 临时使用

npm --registry https://registry.npm.taobao.org install express

● 永久使用

npm config set registry https://registry.npm.taobao.org

● 查看各中间件版名:

redis:

redis-server -v

zookeeper:

echo stat|nc localhost 2181


 

● 清理iptables规则

iptables-restore < /etc/sysconfig/iptables


 

● docker save -o image.tar image

//image.tar(保存的镜像名称)image(要保存的镜像名称)

docker load --input image.tar

● docker tag image_id image_name:tag ##修改镜像名称

● ulimit -u 65535 #修改最大进程数

ulimit -HSn 64435 #修改进程打开最大文件数


 

● 数据库授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by "password";


 

● Windows杀死进程

taskkill /pid 14820 -t -f

● SCP将远程主机文件拷贝到本地

scp root@ip:/data/update_kernel_418.tar.gz /data/

● 查看容器IP地址

docker inspect --format='{{.NetworkSettings.IPAddress}}' contain_id

查看容器运行状态 #返回容器name和运行状态(true、false)

docker inspect --format '{{.Name}} {{.State.Running}}' contain_id

● //手动修改mut值

//echo "1460" > /sys/class/net/eth0/mtu

● //获取系统时间戳

ctime=`date "+%Y-%m-%d %H:%M:%S"`

● //查看消耗内存最多的四个进程

ps auxw|head -1;ps auxw|sort -rn -k4|head -4

● npm install在哪个目录下执行就安装在这个目录的node_modules文件夹下。

● package.json定义了需要安装哪些依赖,在package.json所在的目录下执行npm install。

● 如果是npm instal -g,则是安装在全局的地方,所有node项目都可以使用这个module,安装路径可以通过npm config get prefix查看。


 

//机器重置后,lvm卷怎么重新激活

●lvscan

inactive '/dev/vgdata/lvdata' [<200.00 GiB] inherit

●vgchange -ay /dev/vgdata

1 logical volume(s) in volume group "vgdata" now active

●mount /dev/vgdata/lvdata /data/






 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Tesla T4为例】GPU安装最新版本NVIDIA Driver、CUDA、cuDNN、Anaconda、Pytorch

NVIDIA Driver 进入英伟达官网下载页面 按照以上方式选择即可得到>535.113.01版本的驱动&#xff0c;可以实现多卡推理&#xff0c;小于这个版本会导致多卡训练以及推理报错 虽然最新版本为550.54.15&#xff0c;但是535版本更加稳定&#xff0c;并且pytorch目前只支持到1…

YoutobeDNN

目录 1. 挑战 2. 系统整体结构 3.召回 4. 排序 5. 训练和测试样本的处理 1. 挑战 &#xff08;1&#xff09;规模。很多现有的推荐算法在小规模上效果好&#xff0c;但Youtobe规模很大。 &#xff08;2&#xff09;新颖度。Youtobe语料库是动态的&#xff0c;每秒都会有…

javaagent使用

Java Agent是什么&#xff1f; Java Agent是Java平台提供的一个强大工具&#xff0c;它可以在运行时修改或增强Java应用程序的行为。是在JDK1.5以后引入的&#xff0c;它能够在不影响正常编译的情况下修改字节码&#xff0c;相当于是在main方法执行之前的拦截器&#xff0c;也叫…

【面试经典 150 | 二分查找】在排序数组中查找元素的第一个和最后一个位置

文章目录 写在前面Tag题目来源题目解读方法一&#xff1a;二分查找方法二&#xff1a;使用库函数 知识回顾二分查找的三种写法与三个问题常用的二分库函数 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更……

二叉树的层次遍历(配图详解)

二叉树的层次遍历 层序遍历顾名思义就是一层一层的遍历的树中的所有结点。 typedef char EmpeType 在本篇文章中&#xff0c;将char类型使用EmpeType&#xff1b; typedef char EmpeType;创建一个结构体 typedef struct BiTNode {EmpeType data; //数据域struct BiTNode* …

使用docker配置CCM-SLAM

一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:18.04拉取的为ununtu18版本镜像&#xff0c;环境十分干净&#xff0c;可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image&#xff0c;可以使用指令 sudo docker rmi -f <id&g…

“开关是灯的日出日落,日出日落是灯的开关”

C语言刷题 day01 本篇是C语言刷题大杂烩&#xff0c;收集了笔者遇到的认为有价值的题目&#xff0c;本篇会持续更新~~ day01 至少是其他数字两倍的最大数 题目原文&#xff1a; 题意解析&#xff1a; 请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 …

符文协议的演变历程:从挑战到创新

在比特币网络长期面临的挑战中&#xff0c;与主流去中心化金融功能的兼容性一直是一大难题。相比之下&#xff0c;以太坊通过ERC-721和ERC-1155代币标准&#xff0c;为NFT和去中心化金融应用提供了支持&#xff0c;而比特币的应用范围却相对有限。然而&#xff0c;近年来&#…

蓝桥杯2024年第十五届省赛真题-爬山

贪心优先队列的题&#xff0c;贪心会漏一个情况&#xff0c;不知道怎么处理&#xff0c;这里直接打表了 2 1 1 48 49 答案是30&#xff0c;贪心是31 专有名词&#xff1a;hack-有新的测试点过不了 #include<bits/stdc.h> using namespace std; #define endl \n #define …

取模学习之Image2Lcd

使用软件Image2Lcd V0.4 1.&#xff1a;打开图片&#xff0c;图片格式可选如下图&#xff0c;本文使用的.jpg格式 转换后数组例子&#xff08;数组头数据占前8字节&#xff09;&#xff1a; 2.&#xff1a;扫描模式 由第1个字节低四位配置 &#xff08;1&#xff09;水平扫描 …

动手学深度学习11 权重衰退

动手学深度学习11 权重衰退 1. 权重衰退2. 代码实现3. QA 视频&#xff1a; https://www.bilibili.com/video/BV1UK4y1o7dy/?spm_id_fromautoNext&vd_sourceeb04c9a33e87ceba9c9a2e5f09752ef8 电子书&#xff1a; ttps://zh-v2.d2l.ai/chapter_multilayer-perceptrons/wei…

【MySQL 数据宝典】【内存结构】- 004 自适应哈希索引

自适应哈希索引 https://developer.aliyun.com/article/1230086 什么是自适应哈希索引&#xff1f; 自适应哈希索引是MySQL InnoDB存储引擎中的一种索引结构&#xff0c;用于加速查询。它根据查询模式和数据分布动态地调整自身的大小&#xff0c;以提高性能。 上图就是通过…

Redis中的订阅发布和事务(一)

订阅发布 PUBSUB NUMSUB PUBSUB NUMSUB [channel-1 channel-2… channel-n]子命令接受任意多个频道作为输入参数&#xff0c;并返回这些频道的订阅者数量。 这个子命令是通过pubsub_channels字典中找到频道对应的订阅者链表&#xff0c;然后返回订阅者链表的长度来实现的(订阅…

Nuclei 减少漏报的使用小技巧

在最近工作的渗透测试项目中发现Nuclei存在一个问题&#xff0c;就是相同的网站连续扫描多次会出现漏报的情况&#xff0c;此前没有注意过这个情况&#xff0c;所以写篇文章记录一下。 在此之前我的常用命令都是一把梭&#xff0c;有就有没有就继续其他测试 $ nuclei -u htt…

患者关系管理系统功能详解

脉购健康管理系统&#xff08;软件&#xff09;包含&#xff1a;客户开卡、健康档案、问卷调查、问诊表、自动设置标签、自动随访、健康干预、健康调养、历年指标趋势分析、疾病风险评估、饮食/运动/心理健康建议、同步检查报告数据、随访记录、随访电话录音、健康阶段总结、打…

Java - 阿里巴巴命名规范

文章目录 前言一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 日期时间(六) 集合处理(七) 并发处理(八) 控制语句(九) 注释规约(十) 前后端规约(十一) 其他 二、异常日志(一) 错误码(二) 异常处理(三) 日志规约 三、单元测试四、安全规约五、MySQL 数据…

2024面试软件测试,常见的面试题(上)

一、综合素质 1、自我介绍 面试官您好&#xff0c;我叫XXX&#xff0c;一直从事车载软件测试&#xff0c;负责最多的是中控方面。 以下是我的一些优势&#xff1a; 车载的测试流程我是熟练掌握的&#xff0c;且能够独立编写测试用例。 平时BUG提交会使用到Jira&#xff0c;类似…

电缆检测仪的正确使用方法有哪些步骤?

电缆检测仪的正确使用方法是&#xff1a;首先&#xff0c;确保检测仪电源充足&#xff0c;设备完好无损&#xff1b;其次&#xff0c;根据电缆类型和故障类型选择合适的测试模式和参数&#xff1b;接着&#xff0c;将检测仪与电缆正确连接&#xff0c;确保接触良好&#xff1b;…

深入挖掘C语言 ----动态内存分配

开篇备忘录: "自给自足的光, 永远都不会暗" 目录 1. malloc和free1.1 malloc1.2 free 2. calloc和realloc2.1 calloc2.2 realloc 3. 总结C/C中程序内存区域划分 正文开始 1. malloc和free 1.1 malloc C语言提供了一个动态开辟内存的函数; void* malloc (size_t s…

python处理IP对应城市省份

python处理IP对应城市省份 IP地理地址库geoip2用法 数据包下载 数据包下载地址&#xff08;需要注册&#xff09; https://www.maxmind.com/en/accounts/258630/geoip/downloads 考虑到注册麻烦&#xff0c;可以到下面这个github的链接去直接下载 https://github.com/Hackl0…