Bash Shell
文章平均质量分 54
Linux shell脚本
键盘会跳舞
不积跬步,无以至千里
展开
-
来杯咖啡,读点源码:中了脚本的毒(2)
#!/usr/bin/env sh ################################################################################## Gradle start up script for UN*X################################################################################ # Attempt to set APP_HOME# Re...原创 2021-07-09 00:28:30 · 909 阅读 · 1 评论 -
来杯咖啡,读点源码:中了脚本的毒(1)
好像也已经深夜了,额,整个世界都超级安静。刚睡了一觉醒来,看看窗外,听不到太多的杂音,武汉白日的喧嚣似乎已经沉寂。看看熟睡的女友,啊,我没有女友!~~ 这样的夜,适合一杯咖啡,开始搞点事情~ 以前没太注意,突然看到Android Studio 创建的项目下,有这样两个文件,一个linux的shell脚本,和一个windows的bat脚本,实现的功能基本一致。那么,比较下,研究研究。噶事。翠花,洗脚(`shell脚` 方言像不像 xi jiao,我开始恶趣了) ...原创 2021-07-07 02:23:50 · 557 阅读 · 1 评论 -
shell 多文件编程?可乎
shell支持多文件编程吗?答案是肯定的。我家翠花拍着大胸脯子,信誓旦旦的告诉我滴~(此处有车,请慢行)其实,只需要在执行脚本文件中,通过“source 源文件” 就可以了。这里简单写个例子# module01.sh#!/bin/shmyprint(){ echo "$*" echo "$@"}在另一个shell文件中,我们去调用module01.sh 脚本中的myprint 函数,可以如下操作亵玩一番,不不不,对待shell要神圣:#!/bin/shsource mo原创 2021-07-15 00:26:54 · 274 阅读 · 0 评论 -
Linux Shell 圣经
# FOREWORDA collection of pure `bash` alternatives to external processes and programs. The `bash` scripting language is more powerful than people realise and most tasks can be accomplished without ...原创 2020-01-09 13:41:49 · 533 阅读 · 0 评论 -
Shell开发在运维中的经验总结(转载)
无论是系统运维,还是应用运维,均可分为“纯手工”——> “脚本化”——> “自动化”——>“智能化”几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避免重复性操作及风险,另一方面提高执行效率。在自动化运维的转变过程中,经常使用的可能就是shell脚本了,今天主要分享下shell脚本开发在运维工作中的一些经验总结。小脚本有大智慧,别小...原创 2019-11-16 09:38:04 · 260 阅读 · 0 评论 -
Linux sed 指令:查找和替换文件中的字符串
当你在使用文本文件时,很可能需要查找和替换文件中的字符串。sed 命令主要用于替换一个文件中的文本。在 Linux 中这可以通过使用 sed 命令来完成。sed 命令是什么sed 命令表示 Stream Editor(流编辑器),用来在 Linux 上执行基本的文本操作。它可以执行各种功能,如搜索、查找、修改、插入或删除文件。此外,它也可以执行复杂的正则表达式匹配。它可用于以下目的:◈ ...原创 2019-11-16 09:21:29 · 4364 阅读 · 0 评论 -
linux shell中常见文本处理:去重(uniq)、文本截取(cut)、文本转换(tr)、文本合并(paste)、文件分割(split)
1、文本去重 uniqusage: uniq [-ic]-i 忽略大小写-c 计算重复行数$ cat aa.txt bb 3aa 2bb 3bb 3aa 2$ cat aa.txt | sort -t" " -k 2| uniq -ic 2 aa 2 3 bb 32、使用 cut 截取文本usage:usage: cut -b lis...原创 2019-11-09 19:19:10 · 654 阅读 · 0 评论 -
linux sort 指令:排序
思考:如何获取当前目录下文件的对应文件名、文件大小两列,并按照文件大小进行排序,并保存到文件中? ls -l | awk '{print $9,$5}' | sort -t " " -k 2 -n -o st.txt#如果要从大到小排序 ls -l | awk '{print $9,$5}' | sort -t " " -k 2 -n -r -o st.txt总结下sort的用法...原创 2019-11-09 18:21:38 · 213 阅读 · 0 评论 -
Linux 文件查找:find、whereis、which、grep
文件查找findusage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression] find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]eg: 查找cat文件kissness$ find /bin/ -name cat/bin/...原创 2019-11-09 00:41:42 · 318 阅读 · 0 评论 -
Linux 用户密码相关操作:密码修改和密码破解
1、通过终端修改用户密码passwd [usrname]2、用户密码查看与破解我们知道linux是一个多用户的操作系统,也就是说在linux系统中存储着很多不同用户的用户名及密码,这些用户名被存放在了/etc/passwd这个文件中;密码存放在/etc/shadow中。如果我们要查看某个用户的密码,我们得先登陆为超级用户才可查看:su root然后输入超级用户的登陆密码,紧...原创 2019-11-08 23:40:21 · 388 阅读 · 0 评论 -
linux 使用Vi/Vim加密和解密文件
在linux下使用vi/vim可以很方便的对文件进行加密和解密的操作。加密:1) 进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车;:X2) 这时系统提示让你输入密码,2次3)保存退出。2、取消密码(1)通过vi打开文件,正确输入文件密码,使用ESC退出编辑模式(2)输入:X,然后在提示输入密码时不输入任何密码即可;或者:set ...原创 2019-11-08 23:19:49 · 644 阅读 · 0 评论 -
Linux date指令
date 根据给定格式显示日期或设置系统日期时间。print or set the system date and time指令所在路径:/bin/date命令语法:date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]命令参数: 参数 描述 ...原创 2019-11-08 22:49:47 · 200 阅读 · 0 评论 -
awk 入门 —— 强大的文本分析工具
awk 是用于 Unix 和类 Unix 系统的强大文本解析工具,但是由于它有可编程函数,因此你可以用它来执行常规解析任务,因此它也被视为一种编程语言。你可能不会使用 awk 开发下一个 GUI 应用,并且它可能不会代替你的默认脚本语言,但是它是用于特定任务的强大程序。这些任务或许是惊人的多样化。了解 awk 可以解决你的哪些问题的最好方法是学习 awk。你会惊讶于 awk 如何帮助你完成更多工...原创 2019-11-08 15:29:30 · 170 阅读 · 0 评论 -
Linux的userdel和deluser命令
userdel网络资料很多,删除用户,都会用。deluser就很少人知道是做什么的了。将一个用户从一个组中删除(即退出用户组),大家都推荐用usermod,其实deluser才是正解。adduser把一个用户加到一个组中,为什么就不知道deluser是相反的过程呢?!adduser 用户名 组deluser 用户名 组官方帮助文档是这样的:deluser USER 删除普...原创 2019-11-07 09:13:26 · 1362 阅读 · 0 评论 -
Linux chown命令
Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。 。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人。只有系统管理者(root)...原创 2019-11-07 09:07:12 · 104 阅读 · 0 评论 -
linux下md5sum用法 (查看文件或字符串的md5值)
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和...转载 2019-11-07 09:01:43 · 153 阅读 · 0 评论 -
通过编写扫雷游戏提高你的 Bash 技巧 | Linux 中国
添加链接描述原创: 译者/wenwensnow Linux中国 10月7日那些令人怀念的经典游戏可是提高编程能力的好素材。今天就让我们仔细探索一番,怎么用 Bash 编写一个扫雷程序。-- Abhishek Tamrakar我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个...转载 2019-10-23 17:31:16 · 295 阅读 · 1 评论 -
Bash 学习的快乐之旅:3 个命令行游戏 | Linux 中国
通过这些命令行游戏,学习有用的 Bash 技能也是一件乐事。-- Seth Kenlon学习是件艰苦的工作,然而没有人喜欢工作。这意味着无论学习 Bash 多么容易,它仍然对你来说就像工作一样。当然,除非你通过游戏来学习。你不会觉得会有很多游戏可以教你如何使用 Bash 终端吧,这是对的。严肃的 PC 游戏玩家知道,《辐射Fallout》系列在金库中配备了基于终端的计算机,...转载 2019-10-23 17:24:32 · 247 阅读 · 0 评论 -
生成 Linux 运行时间报告的 Bash 脚本 | Linux 中国
出于一些原因,你可能需要每月收集一次 Linux 系统运行时间报告。-- Magesh Maruthamuthu出于一些原因,你可能需要每月收集一次Linux 系统运行时间报告。如果是这样,你可以根据需要使用以下bash 脚本之一。我们为什么要收集这份报告?在一段时间后重启 Linux 服务器是解决某些未解决问题的好方法。(LCTT 译注:本文这些观点值得商榷,很多服务器可...转载 2019-10-23 17:21:53 · 248 阅读 · 0 评论 -
shell之删除行首尾空格
eg: cat config.ini MODEL = xxxx-xxxxWIDTH = 800HEIGHT = 480DISPLAY = 0MEMORY = 20Mcat config.ini | grep "MODEL" | cut -d "=" -f 2 | sed s/[[:space:]]//g原创 2019-10-23 16:31:32 · 1556 阅读 · 0 评论 -
shell脚本之实现menu菜单
#!/bin/bashfunction copy(){ read -p "please input your old_file:" old_file read -p "please input your new_file:" new_file cp -r $old_file $new_file if [ $? -eq 0 ];then e...原创 2019-10-23 16:29:33 · 3202 阅读 · 0 评论 -
shell 脚本编写总结(1)
[知识点1]:变量1、环境变量1、变量:BASHBash Shell的全路径比如:echo $BASH2、变量:BASH_VERSIONBash Shell的版本号3、变量:EUID记录当前用户的UID。root用户值为0。4、FUNCNAME在用户函数体内部,记录当前函数体的函数名。5、变量:HISTCMD说明:记录下一条命令在history命令中的编号。6、HISTF...原创 2019-06-16 17:02:05 · 989 阅读 · 0 评论 -
查询局域网电脑的IP,端口号,MAC地址
网上看到很多都是使用nmap工具,这个工具我没有使用过,我自己实现nmap工具的功能,首先我们查询局域网内有哪些电脑是alive的,下面我写了一个脚本:ping.sh 这样局域网内哪些电脑的ip是alive的就可以知道,下面来查看对于IP的MAC地址,使用cat /proc/net/arp 命令:然后在使用netstat -an命令来分析端口号。这样我们就轻松获取了局域网内所有电脑的信息,...转载 2018-03-01 22:21:35 · 3304 阅读 · 0 评论