分类 shell脚本学习 articles

两道简单而不简单的shell题目

偶然的一次从linuxtone上看到的两个题目,据说是百度的面度题目,看起来挺有意思的,现摘录下来供大家玩味下: 题目1: a文件内容 a a a a b b b b c c c c b文件内容 1 1 1 1 2 2 2 2 3 3 3 3 将b文件内容插入到a文件内容的b b b b 下面,只依本题来看,可以做如下解法: 1sed -i '2r b' a 这样似乎……

Continue reading

最牛B 的 Linux Shell 命令(四)

本文编译自commandlinefu.com的系列文章Top Ten One-Liners from CommandLineFu Explained。作为一个由用户推荐最有用shell命令的网站,其记录了数以万计的各色shell命令,其中不乏相当实用和有趣的,本文就要细数当 中获投票最高的一些命令,从其中取材并加以细释,希望读者能从中受益。 1……

Continue reading

最牛B 的 Linux Shell 命令(一)

引言:Shell作为Unix系操作系统当中最有魅力且不可或缺的组件,经过数十载的洗礼不仅没有被淘汰,而且愈加变得成熟稳健,究其原因,大概因为它是个非常稳固的粘合剂,能够把大量功能强大的组件任意配搭,总能很好很快地完成用户的任务。 本文的一些命令很可能看起来是“雕虫小技”,我们只好仰……

Continue reading

最牛B 的 Linux Shell 命令(二)

本文编译自commandlinefu.com的系列文章Top Ten One-Liners from CommandLineFu Explained。作为一个由用户推荐最有用shell命令的网站,其记录了数以万计的各色shell命令,其中不乏相当实用和有趣的,本文就要细数当 中获投票最高的一些命令,从其中取材并加以细释,希望读者能从中受益。 1……

Continue reading

最牛B 的 Linux Shell 命令(三)

1. 更友好的显示当前挂载的文件系统 1mount | column -t 这条命令适用于任何文件系统,column 用于把输出结果进行列表格式化操作,这里最主要的目的是让大家熟悉一下 columnt 的用法。下面是单单使用 mount 命令的结果: 1$ mount 2 3/dev/root on / type ext3 (rw) 4/proc on /proc type proc (rw) 5/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime) 而加了 column -t 命令后就成为这样了: 1$ mount | column -t 2 3/dev/root on / type ext3 (rw)……

Continue reading

shell编程中while与for的区别

在shell编程中经常用到循环,常用的循环有for和while循环两种。while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别。 一、常用语法 1、for循环 for循环常用的语法结构有如下几种: 1for 变量 in seq字符串 2for 变量 in……

Continue reading

shell下读取文件的方法

读文件的方法: 第一步: 将文件的内容通过管道(|)或重定向(<)的方式传给while 第二步: while中调用read将文件内容一行一行的读出来,并付值给read后跟随的变量。变量中就保存了当前行中的内容。 例如读取文件/tmp/test.txt 1)管道的方式 1cat /tmp/test.txt |while read LINE 2do 3 echo $LINE 4done……

Continue reading

第七章.脚本参数的传递

shift命令 shift n 每次将参数位置向左偏移n 1#!/bin/bash 2#opt2 3usage() 4{ 5echo "usage:`basename $0` filename" 6} 7totalline=0 8if [ $# -lt 2 ];then 9 usage 10fi 11while [$# -ne 0] 12do 13 line=`cat $1|wc -l` 14 echo "$1 : ${line}" 15 totalline=$[$totalline+$line] 16 shift # $# -1 17done 18echo "-----" 19echo "total:${totalline}" 20 21// 输出 22[test@szbirdora 1]$ sh opt2.sh myfile df.out 23myfile : 10 24df.out : 4 25----- 26total:14 getopts命令 获得多个命令行参数 getopts ahfvc OPTION –从ahfvc一个一个读出赋值给OPTION.如果参数带有:则把变量赋……

Continue reading

第六章 shell函数

1.定义函数 1funcation name() 2{ 3 command1 4 .... 5} 6或 7函数名() 8 { 9 command1 10 ... 11 } 12eg. 13#!/bin/bash 14#hellofun 15function hello() 16{ 17echo "hello,today is `date`" 18return 1 19} 2.函数调用 1#!/bin/bash 2#hellofun 3function hello() 4{ 5echo "hello,today is `date`" 6return 1 7} 8echo "now going to the function hello" 9hello 10echo "back from the function" 所以调用函数只需要在脚本中使用函数名就可以了。 3.参数传递 像函数传递参数就像在脚本中使用位置变量$1,$2…$9 4.函数文件 函数可以……

Continue reading

第五章.文本过滤

1.正则表达式 一种用来描述文本模式的特殊语法,由普通字符以及特殊字符(元字符)组成 1^ ----只匹配行首 2$ ----只匹配行尾 3* ----匹配0个或多个此单字符 4[] ----只匹配[]内字符,可以使用-表示序列范围[1-5] 5 ----屏蔽一个元字符的特殊含义 6. ----匹配任意单字符 7pattern{n} 只用来……

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