shell
关于bash和zsh等shell自动化的一些操作
单林敏
心外无物,知行合一
CSDN 做为自己的简要易忘小知识点的记录,而自己的感想和长文一般发布在自己的个人blog,网址如下:
https://www.wolfdan.cn/
展开
-
Ubuntu安装GCC10
- sudo apt upgrade - sudo apt install software-properties-common - sudo add-apt-repository ppa:ubuntu-toolchain-r/test- sudo apt update - sudo apt install gcc-10 g++-10 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10原创 2023-06-08 19:52:00 · 2126 阅读 · 0 评论 -
查配置文件中配置项,不存在则添加
查配置文件中配置项,不存在则添加function update_rgw_supervisor_stopwaitsec() { # 更新rgw的supervisor配置文件中的stopwaitsec logmsg "update rgw supervisor stopwaitsec config" rgw_supervisor_conf="/root/ceph-rootfs/etc/supervisor/conf.d/radosgw_client.rgw.eds.conf"原创 2021-11-30 11:48:06 · 626 阅读 · 0 评论 -
找到文本中某个字符串的上下几行中的含有的其他指定字符串的方法
eg:找result文件中,compound的上面十行里有create的文本块,并且向下显示10行(-B向上,-A向下)grep compound_end result -B 10 | grep create -A 10原创 2021-10-31 14:49:03 · 162 阅读 · 0 评论 -
s3cmd常用命令和使用技巧
常用命令配置s3cmd: s3cmd --configure创建bucket:s3cmd mb s3://bucket01查看bucket:s3cmd ls查看bucket存量信息:s3cmd du s3://bucket01查看bucket基本信息:s3cmd info s3://bucket01删除bucket:s3cmd rb s3://bucket01上传对象:s3cmd put 对象名 s3://bucket01获取bucket对象列表:s3cmd ls s3://bucket0原创 2021-10-10 13:49:50 · 6936 阅读 · 0 评论 -
删除小于指定大小的文件
# 这么默认单位好像不是 Bytes, 而是Block块 == 512Bytes,导致我误删了许多,心痛# https://blog.csdn.net/qingfengxd1/article/details/102861396find ./ -size -621 -name "*smb*" -exec rm {} \;-size N[ bcwkMG] 查找指定文件大小的文件,1字节c,2字节w,块(512字节)b千字节k,兆字节M,吉字节Gfind --help查看用法man find可以查到原创 2021-10-10 13:46:57 · 344 阅读 · 0 评论 -
脚本生成多个指定大小的随机文件
批量生成指定大小的文件#!/bin/bash## 设置批量文件名格式fmt=output.%05d## 把文件生成到指定的目录cd lmfor i in $(seq 1 3)do## 通过head指定多少 K,多少M,多少G 的指定的大小的文件 head -c 512K /dev/urandom > `printf $fmt $i`done提示: windows端可以通过git shell来执行这个脚本...原创 2021-09-19 14:56:45 · 431 阅读 · 0 评论 -
yum报错网络不可达,但是配置的网络能够ping通
报错Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was14: curl#7 - "Failed to connect to 2a05:d012:8b5:6503:9efb:5cad:348f:e826: Network is unreachable"Could not retrieve mirro原创 2021-09-04 09:25:31 · 6357 阅读 · 0 评论 -
Centos7安装python3以及后续兼容yum
Centos7安装python3## 下载epel:sudo yum install epel-release## 安装python3:(python36是python3加一些pip等组件),可以去掉 -y 查看sudo yum install -y python36[root@lm graduate_work]# python3 --versionPython 3.6.8修改默认的python和pip版本,并更改yum的python版本为python2.7[root@lm build]#原创 2021-03-14 14:58:05 · 634 阅读 · 0 评论 -
linux常用命令以及常用知识库
查看服务端口的进程lsof -n -i :9092 | grep LISTEN# java 94330 root 99u IPv6 844902 0t0 TCP *:XmlIpcRegSvc (LISTEN)# 其实之前jps也发现 94330 运行着 kafka# 之后可以选择kill -9 94330...原创 2020-02-01 11:25:23 · 274 阅读 · 0 评论 -
ftp下载文件失败【网址为ftp://x.x.x.x/centos-7.6.1810.tar的网页可能暂时无法连接,或者它已永久性地移动到了新网址】
问题ftp下载文件时,点击链接的文件,结果报错网址为ftp://x.x.x.x/centos-7.6.1810.tar的网页可能暂时无法连接,或者它已永久性地移动到了新网址解决检查其他文件是否可以下载 — 从而确定网络是否有问题 (直接ping ip也很好)登录ftp服务器,确定对应目录的文件是否是其他用户有read的权限我今天的问题是网络可以通,其他文件可以下载所以到ftp服务器上,看,发现centos-7.6.1810.tar的文件权限是600所以sudo chmod 644 cen原创 2021-03-01 17:49:32 · 297 阅读 · 0 评论 -
There are no more loopback devices available
# systemctl start dockerJob for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.# dockerdINFO[2021-02-22T17:39:46.434251177+08:00] Starting upINFO[2021-02-原创 2021-02-22 20:53:32 · 1670 阅读 · 3 评论 -
安装docker-ce报错
安装docker-ce报错错误:软件包:docker-ce-rootless-extras-20.10.3-3.el7.x86_64 (docker-ce-stable) 需要:slirp4netns >= 0.4错误:软件包:docker-ce-rootless-extras-20.10.3-3.el7.x86_64 (docker-ce-stable) 需要:fuse-overlayfs >= 0.7解决方法只有现在的最新的版本有这个问题,所原创 2021-02-22 17:36:16 · 2262 阅读 · 0 评论 -
linux shell下除了某个文件外的其他文件全部删除的命令
[root@100-13 test]# ll -h总用量 0-rw-r--r-- 1 root root 0 2月 4 20:03 keep-rw-r--r-- 1 root root 0 2月 4 20:04 keep2drwxr-xr-x 2 root root 10 2月 4 20:04 keep3-rw-r--r-- 1 root root 0 2月 4 20:03 noise-rw-r--r-- 1 root root 0 2月 4 20:03 noise2原创 2021-02-04 21:37:31 · 323 阅读 · 0 评论 -
shell获取文件版本号[\1的含义]
version=`echo "${filename}" | sed -r "s/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/g"`## -r 表示regex正则表达式## .*表示匹配任意项## 一个()表示放在\1中,\0表示整体,当有多个()### 第一个括号放在\1中### 第二个括号放在\2中### 比如[root@100-13 shanlm]# echo "hdsad1.02.2.22" | sed -r "s/.*([0-9]+\.[0-9]+\.[0-9]+原创 2021-02-03 16:46:26 · 1703 阅读 · 0 评论 -
Git常用命令_初入职场必备(长期更新维护)
# 删除远程分支git push origin --delete new_a# 删除本地分支git branch -d new_a# 撤销提交HEAD^的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2--mixed 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。--soft原创 2020-07-25 15:50:09 · 160 阅读 · 0 评论 -
匹配文件某一行起始字符,替换整行__匹配某行,在下一行添加__自动化脚本
匹配开头,替换一整行change = [1.0, 2.0, 3.0]# 替换后的字符串change_str = "objectStorage_fileStorage_coefficient = {}".format(change[0])# sed -i 插入修改, /^匹配头, 然后 /c替换后的串cmd = r"sed -i '/^objectStorage_fileStorage_coefficient/c{}' {}".format(\ change_str, "/etc/clu原创 2020-07-19 18:00:33 · 765 阅读 · 0 评论 -
vscode中编译c++文件No such file or directory
原因分析vscode在win下${file}等中的默认文件分隔符是\,如果你使用了bash集成终端,bash使用的文件分隔符是/,不兼容,解决方案一修改VScode的默认shell为cmd或者powershell,要用bash的时候再直接在shell中输入bash解决方案二貌似没有什么好的解决办法,有人做了个插件可以试下,可以去看看https://github.com/microsof...原创 2020-04-12 15:53:10 · 12394 阅读 · 0 评论 -
服务器搭建个人图床,展示git仓库的图片
设立多location的nginx映射原来自己的Nginx已经搭建了自己的网站,所以需要配置多个location,用第二个location来展示自己的图片,因此Nginx一个server配置多个location主要是要注意自己的第二个location下面一定要有对应的目录,然后目录下最后有一个index.html需要添加的location格式如下 # 原来的网站的节点 location ...原创 2020-03-04 17:03:34 · 813 阅读 · 0 评论 -
脚本批量修改文件中链接的格式_shell的美妙
背景最近https://raw.githubusercontent.com/被墙了,然后众所周知我们就无法访问上面的内容了,所以我自己用github当图床,然后我的博客现在的图片全都无法正常加载了所以我需要更改到国内的链接仓库或者自己自己服务器搭建的仓库,那么我就要修改我现在整整131篇博文的图片链接,我想我会烦死的,所以我就想到了自己之前学的shell脚本,自动化批量修改文件链接的格式...原创 2020-02-27 11:39:51 · 424 阅读 · 0 评论 -
HBase1.1.x部署在Hadoop2.6.0上(3台vm虚拟机的部分分布式)
HBase1.1.x部署在Hadoop2.6.0上(3台vm虚拟机的部分分布式)下载hbase.apache官网配置环境变量/etc/profile#hbaseexport HBASE_HOME=/usr/local/soft/hbase-1.1.5export PATH=$PATH:$HBASE_HOME/bin配置$HBASE_HOME/conf/hbase-env.shex...原创 2020-01-29 17:54:25 · 304 阅读 · 0 评论 -
RDD编程学习笔记2_键值对RDD_综合案例-计算每种图书的每天平均销量
常见操作reduceByKey和groupByKey的区别groupByKey只做分组,不会进行汇总reduceByKey会进行汇总求和(写过map,reduce函数框架的话应该很好理解)groupByKey可以通过利用Iterable的容器函数达到一些reduceByKey的效果以下三种操作是等价的综合案例-计算每种图书的每天平均销量scala> val rdd = sc...原创 2020-01-29 14:21:36 · 1496 阅读 · 0 评论 -
RDD编程基础学习笔记1_Spark优雅的wordCount
hdfs默认主目录是/user/用户名(可能要自己在hdfs中先创建好)所以在hdfs操作文件的时候,1.txt 等价于 /usr/用户名/1.txt ,也等价于 hdfs://localhost:9000/usr/hadoop/1.txt下面这句是因为自己下面的疑问,自己错操作成了 /usr 而非 /user直接在master的终端hadoop fs -cat 1.txt则不行,必须在s...原创 2020-01-29 11:16:08 · 353 阅读 · 0 评论 -
scp不覆盖同名文件,覆盖同名文件,彻底覆盖(个人实践所得)
# scp错误方式一(会导致src的opt复制到dst的/opt下,变成/opt/opt): scp -r /opt root@du22:/opt# scp错误方式二(scp不会覆盖子文件): scp -r /opt/bin /opt/include /opt/lib root@du22:/opt# 正确方式如下(覆盖子文件,但是文件夹日期不变):scp -r /opt/bin /opt/include /opt/lib root@du22:/opt/原创 2020-01-28 16:44:39 · 28840 阅读 · 5 评论 -
yum的默认安装路径
看图看图可以得知SCALA_HOME=/usr/share/scala原创 2020-01-27 17:35:38 · 2613 阅读 · 0 评论 -
You've added another git repository inside your current repository.解决方案
shell大法好# cd 到你的根仓库目录,一般也就是你报错的当前rm -rf .git && git rm --cache . -f原创 2020-01-13 21:50:49 · 8011 阅读 · 2 评论