分类 shell脚本学习 articles

linux test命令

linux下的test命令是脚本编写中一个非常重要的命令。其主要用于文件(目录)的检测、属性判读、权限判断等。而在使用该命令的过程中,一般不直接使用test -n 字符串这类的表达式去表示。而是使用”[]”或代替test命令。”[]”里使用的参数是继承自test命令的。 一、test命令……

Continue reading

shell列出所有的运营商的ip地址范围

公司最近也有自建CDN的打算,无意在网上看到一则通过下apnic的数据并进行shell脚本区分的方法。感觉挺方便的,虽然在台机上测试效率有点低,不过服务器上效果应该还不错。可以自动区分电信网通教育网铁通移动_联通ip地址范围,用于做智能DNS解析应该不错。脚本如下: 1#!/bin/sh 2# download ip info from apnic……

Continue reading

找出两个文件之间的不同

最近在写一个对比/etc/dhcpd文件的配置IP和arp -n获取的IP比对的脚本。这就要找出两个输出文件之间的差别——即在文件1中有而在文件2中没有部分,或者在文件2中有而在文件1中没有的部分。实现该功能,网上常见的有四种方法,不过在实际测试中发现有一种方法的结果是不准确的。即……

Continue reading

ip、ifconfig命令与IP

ifconfig命令应该是属于linux下的入门命令了。不过,最近在某技术群里看到有人提到在某公司面试时,被一道关于ifconfig用法的问题给难住而被拒之门外的 。该问题的要求就是在linux下不重新情况下,如何临时增加一个IP及临时删除一个IP 。该问题除了可以通过ifconfi……

Continue reading

select与shell脚本交互界面

在shell 脚本执行过程中,经常会用到需要自我判读的人机交互的界面。而常用的交互界面有以下几种情况: 1、入参检查,$#是入参数量;$1,$2分别表示第一和第二个入参,以此类推;$0表示命令名称。这种一般会用于参数不足提示帮助信息的情况。 2、read读取用户输入的字符串,可以带提示……

Continue reading

shell数组的定义与应用

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。shell 下的多维数组是可以通过1维数组组合的,本篇也会在后面提到多维数据。 一、定义数组 在Shel……

Continue reading

shell 生成随机数与随机字符串

一、生成随机数 1、使用系统的 $RANDOM 变量 1[root@361way ~]# echo $RANDOM 214436 2、增加整数实现范围 $RANDOM 的范围是 [0, 32767] ,如需要生成超过32767的随机数,可以用以下方法实现。 生成40000~50000的随机数 1#!/bin/bash 2function rand(){ 3 min=$1 4 max=$(($2-$min+1)) 5 num=$(($RANDOM+1000000000)) #增加一个10位的数再求余 6 echo $(($num%$max+$min)) 7} 8rnd=$(rand 40000 50000) 9echo $rnd 10exit 0 3、使用date +%s%N 1#!/bin/bash 2function rand(){ 3 min=$1 4 max=$(($2-$min+1)) 5 num=$(date +%s%N) 6 echo $(($num%$max+$min)) 7}……

Continue reading

nagios 检测IO状态

因为最进要增加对所有主机的IO检测,首先上nagios exchange看了下插件,不能满足我的个人需求。于是到网上先转转吧,实在不行就自己写。果然在网上找到了一个还不错的脚本,是通过第三方工具sysstat里的iostat工具实现的检测。(看来和我的想法一致,本来我自己写也打算用……

Continue reading

linux下删除某一时间段的文件

在Linux下实现批量删除文件的方法很多,而正如标题中所提到的一样。想要对某一时间段内的文件进行删除,可以通过find实现,find中有几个关于指定时间的参数。而且find还可以指定删除比某个文件的时间早或比别一个文件时间晚的所有文件进行删除。具体可以参看https://blog……

Continue reading

/bin/tar: 从成员名中删除开头的“/”

今天在使用tar进行打包时,发现报了‘从成员名中删除开头的“/”’的错误。我使用的打包语句如下: 1[root@bj~]# tar czvf test.tar.gz /root/tomcat/ 2tar: 从成员名中删除开头的“/” 3/root/tomcat/ 4/root/tomcat/tomcat_spider 5/root/tomcat/tomcat_generator 6/root/tomcat/tomcat_cms 7/root/tomcat/tomcat_biz 8/root/tomcat/tomcat_mgrab 9/root/tomcat/tomcat_register 10/root/tomcat/tomcat_expert 11/root/tomcat/tomcat_monitor 12/root/tomcat/tomcat_generator.bak 13/root/tomcat/tomcat_sgapp 14/root/tomcat/tomcat_enterprise 15/root/tomcat/tomcat_jjhadmin 16/root/tomcat/tomcat_passport 17/root/tomcat/tomcat_usercenter 18/root/tomcat/tomcat_mws 19/root/tomcat/tomcat_crawl 20/root/tomcat/tomcat_bbs 21/root/tomcat/tomcat_feedback 22/root/tomcat/tomcat_search 23/root/tomcat/tomcat_comment 24/root/tomcat/tomcat_register32 于是赶快的看tar的help手册和man手册。发现使用-P(大写)参数后可以解决这个问题:使用后,果然……

Continue reading

Latest articles

Categories

Tags

ACL AD AES AI Alpine Android Anpic Ansible Apache Apm Apparmor Appfog Apr Apt-Get Aria2 Array Atlassian Atop Audit Awk AWS Awstats Axel Azure Backdoor Backup Bamboo Bash Bat Benchmark Bigdata Bin Bind Bitwise Blockchain BMC Book Bootstrap Brocade Bsd C1000 Cache Capistrano Catlog CDH5 Centos Centos7 Chatops Chattr Check_mk Checkinstall Cisco CL210 Clickhouse Cloud Cloud-Desktop Cmdb Cms Cobbler Collectd Comm Compress Confd Conver Corosync Cpu Crontab Crunchbang Css Curl C语言 Date DDOS Decode Dell Desktop Devops Df Dhcp Diff Diskpart DISTINCT Django DNS Docker Dos2unix Dpkg Drupal Duckdb EKS ELK Etcd Excel Fail2ban Fastcgi Fdisk Fiddler Find Firewalld Flask Flvtool Ftp Function Fuser GCP Geek Ghost Gin Git Github Gitlab Glances Glusterfs Go Godaddy Golang Google Gooupadd Grafana Graphviz Gravatra Grep Grub2 Hadoop Haproxy Hardware HBA HCIE Heartbeat Helm Hexdump Hhvm History Hotspot Html Http/Html/Web Http/Html/Web Httplogs Https HttpWatch Huawei Huaweicloud Hugo IBM Icmp Iconv Ifconfig IIS InfluxDB Ingress InnoDB Inotify Iopp IOS Ipmitool Iptables Iredmail Iscsi Isito It-News Java JavaScript Jdk Jenkins Jinja2 Jira Join Joomla K3s K8s Kdump Keepalived Kernel Kingate KVM Lamp Last Leetcode Lib Linux Linux高级篇 Ln Ls Lsi Lsof Lvm Lvs Mac Mail Man Mark Markdown Matplotlib Maven Memcached Microservice Mimikatz Mkdocs Mkpasswd Mmonit Mod_jk Mongodb Monit Monitor Mono Moodle Mosh Mount Mplayer Mpm Mrtg Mtr My.cnf Mysql Mysqlbinlog Mysqld_multi MySQLdb Mysqldump Mysqlhotcopy Nagios Nc Nethogs Netlify Nexus Nfs Nginx Nmon Nocatlog Node.js Nrpe Ntfs Ntop Ntp Obs Ocr Open-Falcon Openbox Opencv Openldap OpenResty Openssl Openstack Oracle Oswatch Paas Pacemaker Pam Pandas Parted Pcp Pcre Pdf Percona Perl Pexpect Pgrep Php Php-Fpm Ping Plsql Develope PM Postfix PostgreSQL Powershell Prettify Proc Prometheus Puppeteer Pushd Pwgen Pxe Pyecharts Python Python模块 QoS Radmin Raid Rdesktop Read Redhat Redis Redmine Regex Rh134 RH318 RH442 RHCA RHCE Rhel7 Rhel8 RHEV Rm Rman Rootkit Route Rpm Rpmforge Rrdtool RSA Rsync Rsyslog Safe Saltstack Samba Scapy Screen SecureCRT Sed Selenium Selinux Seo Seq Session Set Shc Sheepdog Shell Shopt Sitemap Skydns Smokeping Snffier Snmp Socket Soft Sort Spider Sql Sqlserver Squid SRE Ss Ssh Sshpass Statuscode Strace Strings Su SublimeText2 Sudo Suse Svn Sysbench Syslog-Ng Sysstat Systemd T Tar TC Tcpcopy Tcpdump Tech Telecom Telnet Tencentcloud Tengine Test Testlink Threads Time Tmux Tomcat Touch Tr Tsar Twisted Ubuntu Udev Ulimit Unix Unixbench User-Agent Useradd Varnish VBA Vbs Vercel Vi Vim Visudo Vmstat Vmware Vnc Voice Vpn Vscode Vsftp Vsftpd Vue Watchdog Web Webcam Webistrano Wget Wiki Windows Wol Wordpress Workshop Wsl X-Windows Xampp Xcache Xmllint Xtrabackup Yule Yum Zabbix Zeromq Zip Zonetime Zookeeper 下载工具 云主机 云原生 代理 加密 古意 吐槽 圈里圈外 娱乐 字符串函数 安全 平台架构 推理 提权 故事汇 故障案例 数据结构 每日看点 民国史 生活 科学记录 站长管理工具 算法 管理 网站架构 翻墙 股票 行业 诗韵 负载均衡 远程管理 面试题

Links

Meta