![](https://img-blog.csdnimg.cn/20210421143225720.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
shell
文章平均质量分 60
shell scripting
itachi-uchiha
这个作者很懒,什么都没留下…
展开
-
Bash Shell脚本札记(持续更新:2021-9-10)
for i in $(cat id-file);do echo $i| awk '{if (substr($1,17,1)%2==0) {print 2} else {print 1}}';done原创 2020-10-29 21:33:06 · 391 阅读 · 0 评论 -
Bash Shell案例列表(持续更新:2023-03-07)
判断文件权限是否低于644#定义多变量if [ "$CONFIG_FILE" != "" ];then user_mod=$(sudo stat -c %a $CONFIG_FILE|awk '{print substr($1,1,1)}') group_mod=$(sudo stat -c %a $CONFIG_FILE|awk '{print substr($1,2,1)}') other_mod=$(sudo stat -c %a $CONFIG_FILE|awk '{print原创 2020-12-09 19:20:26 · 419 阅读 · 1 评论 -
linux sed命令使用说明
sed是一种流编辑器,用于对输入流(文件或来自管道的输入)执行基本的文本转换。虽然在某些方面类似于允许脚本编辑(如ed)的编辑器,sed的工作方式是只对输入进行一次传递,因此效率更高。sed在管道中过滤文本的能力是它与其他类型编辑器的特别之处。原创 2022-09-09 15:08:09 · 739 阅读 · 0 评论 -
csh/tcsh脚本札记(持续更新:2021-8-24)
我这里总结了一些csh/tcsh编写脚本的注意点(相对于bash);但是,csh/tcsh建议大家尽量避免使用:如果无可避免要使用csh,处理逻辑能尽可能使用awk等。>> 能用sh(Bourne shell)不用csh/tcsh>> 能用bash不用sh。1、csh/tcsh没有function的概念,不能像bash一样定义function:function f_1 { }function f_1() {}2、定义变量非数字变量,需要使用set关键字进...原创 2021-08-24 11:09:55 · 4097 阅读 · 1 评论 -
局域网内部主机(无法接入外网)配置互联网镜像源
局域网某些安全域内的主机无法访问互联网,我们可以搭建一台局域网私有镜像库,但是如此即占用磁盘,还需要大量精力去维护。不如搭建中转服务器(192.168.15.110),这台中转服务器可以使用nginx、rinetd、firewalld等实现。只需要对该中转服务器放开访问互联网策略即可。我这里使用rinetd做的端口转发,并且做了源地址访问限制。# cat /etc/rinetd.confallow 192.168.16.*allow 192.168.17.*allow 192.168.18.*..原创 2021-01-13 17:10:40 · 1002 阅读 · 1 评论 -
Linux遍历目录查找大文件
本脚对指定目录进行遍历:1、降序展示指定目录下文件、目录大小2、对大于5GB的子目录进行递归查询,将子目录下文件和目录的资产占用情况一同打印。# ./list_store.sh /Size Path310G /u01/310G /u01/app/30G /opt/……# ./list_store.sh /u01/app/oracle/oradata/Size Path286G /u01/app/oracle/oradata/orcl/3...原创 2020-12-08 16:02:47 · 522 阅读 · 0 评论 -
Linux 安全删除脚本(避免删除重要文件)
#!/bin/bashdefine_safe_files="/etc/security/rm_file_ignore"args=$(echo "$*" | tr -s '/' | tr -d "\042\047")safe_files=$(find / -maxdepth 1 |tr '\n' '|')$(cat $define_safe_files | tr -s '/' | tr -d "\042\047"|tr '\n' '|')echo "$args"|grep -wqP "(?:^$.原创 2020-11-02 15:59:33 · 589 阅读 · 0 评论 -
禁用自动获取IPv4地址
据说,关闭NetworkManager服务可以禁用接口自动获取IP地址。未验证!但是,既然NetworkManager服务和接口自动获取IP地址有关系,那么使用nmcli命令应该也可以达到相同的效果。通过nmcli conn modify $CC ipv4.method disabled 可以禁用IPv4,自然就不会自动获取ipv4了;也可通过nmcli conn modify $CC ipv4.methodmanual ,改成手动配置IP地址,这里需要同时设置IP地址,否则报错。ipv4.原创 2020-08-14 14:35:27 · 2532 阅读 · 0 评论 -
分享一条shell命令:是否有更简洁的处理方法
一条命令写下来,感觉很酷~~IFS_OLD=$IFS ;IFS=$'\n';for conn in $(nmcli c show |grep Wired|cut -b 1-19);do nmcli c show "$(echo $conn |awk '{gsub(/^\s+|\s+$/, "");print}')"|grep 'ipv4.method';done;IFS=$IFS_OLD还是换行好看一些:IFS_OLD=$IFSIFS=$'\n'for conn in $(nmcl..原创 2020-08-14 14:24:43 · 214 阅读 · 0 评论 -
shell脚本:丢弃报错信息,保留正常输出
我们知道,shell中通过>/dev/null 2>&1 可以丢弃信息,但是标准输出和标准错误输出同时被丢弃了。怎么做可以把错误输出丢弃掉,不在输出打印,而标准输出保留呢?答案是通过赋值和错误信息重定向。将标准输出和错误输出都赋值给一个变量,然后通过if语句判断命令是否执行成功加以过滤:如下脚本list xxxx文件,如果不存在肯定会报错:ls: cannot access xxxx: No such file or directory。我们不想看到这个错,而是默默原创 2020-08-06 13:12:52 · 8118 阅读 · 2 评论 -
shell脚本:获取SR-IOV中PF和VF之间的关系
使用如下脚本可以获取到SR-IOV中,Physical Functions和Virtual Functions之间,清晰的关系。包括接口名称,domain、bus、slot、function的编号信息,接口mac地址信息,以及给VF是否被绑给了vm。#!/bin/bashfunction pf_vf(){ echo "<=============>PF:$1<==============" echo "`lspci|grep $(ls -l /sys/class/n..原创 2020-08-06 13:00:02 · 2734 阅读 · 0 评论