shell脚本

Linux网络流量实时监控ifstat iftop命令详解

南楼画角 提交于 2019-12-17 01:49:26
Linux介绍    Linux入门——个人感想    Google怎么用linux 初入Linux    Windows XP硬盘安装Ubuntu 12.04双系统图文详解    实例讲解虚拟机3种网络模式(桥接、nat、Host-only)    在线求助 man page 文件,目录,权限    所有者,群组,其他人    文件的属性    Linux目录规范和含义    改变文件属性与权限    常用的文件和目录操作命令    ”十六“进制查看器    文件与目录的默认权限与隐藏权限    文件的搜寻    权限与命令间的关系 帐户    Linux 的账号与群组    Linux 账号管理    账户切换 磁盘和文件系统    EXT2 文件系统    磁盘的分区、格式化、挂载    磁盘检验    磁盘参数修订    另一个分区工具:GNU 的 parted    磁盘与目录的容量    硬链接与软链接    启动挂载    内存置换空间(swap)之建置    释放 Linux 系统预留的硬盘空间    Linux磁盘空间被未知资源耗尽    恢复Ext3下被删除的文件    使用grep恢复被删文件内容 程序管理    shell下的作业管理    常用的程序管理命令    程序的运行顺序    查询进程打开的文件 启动流程,grub,模块管理,系统服务   

Shell 脚本编程之基础

柔情痞子 提交于 2019-12-16 22:26:14
最近闲着无聊,把笔记写在这吧 0x00 特殊符号和常见的运算符 <1>特殊符号 $*:命令行所有参数组成的字符串 $@:命令行所有参数组成的字符串 $n:n位数字,$0表示命令名称,$1表示命令行第一个参数,以此类推 $?:上一个命令的返回值,如果正常退出则返回0,反之为非0值 $$:当前进程的进程号PID $!:后台运行的最后一个进程的进程号 $#:位置参数的数量 <2>算术运算符 +,-,*,/,% <3>比较运算符 -eq:等于比较 -ne:不等于比较 -lt:小于比较 -gt:大于比较 -le:小于等于比较 -ge:大于等于比较 <3>逻辑运算符 -a:逻辑与 -o:逻辑或 !:逻辑非 <4>字符串比较符 -z:测试字符串 -n:测试字符串是否为非零 = :等于一个字符串 !=:不等于某个字符串 0x01 常见环境变量 HOME:当前用户的主目录 PATH:命令搜索路径 PWD:用户的当前目录 UID:当前用户标识符 LOGNAME:用户登录名 TERM:终端的类别 0x02 shell脚本编程常用运算命令 let命令:只能进行整数间的比较 expr命令 test命令 bc命令 0x03 shell脚本之选择结构 if语句格式: 单if分支语句 if experssion then fi 多if分支语句 if expression then statement esle

Shell标准输出、标准错误 >/dev/null 2>&1

て烟熏妆下的殇ゞ 提交于 2019-12-16 20:44:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> shell中可能经常能看到:>/dev/null 2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print $4}'` 1>/dev/null 2>/dev/null 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 那么本文标题的语句: 1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。 2>&1 接着,标准错误输出重定向 等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。 ///////////////////// 脚本只使用标准输入、标准输出和标准错误 Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。标准输入是命令的输入,默认指向键盘;标准输出是命令的输出,默认指向屏幕

shell脚本进程查看及结束

你。 提交于 2019-12-16 14:06:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 场景: 有一个脚本执行需要很长时间,现在需要检查脚本是否还在运行,杀死脚本的进程。 1.查看进程详细信息 # pgrep -fl test01.sh 或 # ps -aux| grep "test01.sh" 2.统计进程数 # ps aux | grep -i "test01.sh" | grep -v "grep" | wc -l 3.杀死当前脚本进程 # kill -9 PID 4.补充: pkill 命令常用信号及其含义 信号编号 信号名 含义 0 EXIT 程序退出时收到该信息。 1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。 2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。 3 QUIT 退出。 9 KILL 杀死进程,即强制结束进程。 11 SEGV 段错误。 15 TERM 正常结束进程,是 kill 命令的默认信号。 来源: oschina 链接: https://my.oschina.net/comics/blog/3143546

Linux中profile、bashrc、bash_profile之间的区别和联系

感情迁移 提交于 2019-12-16 11:41:19
为使Bash更好地为我们服务,我们需定制bash shell环境。 ~/.bash_profile、~/.bashrc、和~/.bash_logout 1.上面这三个文件是bash shell的用户环境配置文件,位于用户的主目录下。其中.bash_profile是最重要的一个配置文件,它在用户每次登录系统时被读取,里面的所有命令都会被bash执行。.profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。 2..bashrc文件会在bash shell调用另一个bash shell时读取,也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。这样可有效分离登录和子shell所需的环境。但一般 来说都会在.bash_profile里调用.bashrc脚本以便统一配置用户环境。 3..bash_logout在退出shell时被读取。所以我们可把一些清理工作的命令放到这文件中。 在 /etc目录的bashrc和profile是系统级(全局)的配置文件,当在用户主目录下找不到.bash_profile 和.bashrc时,就会读取这两个文件。.bash

『VulnHub系列』View2aKill: 1-Walkthrough

孤街浪徒 提交于 2019-12-16 06:14:58
靶机地址 难度:中等 靶机发布日期:2019年10月29日 靶机描述:Mission: Millionaire psychopath Max Zorin is a mastermind behind a scheme to destroy Silicon Valley in order to gain control over the international microchip market. Get root and stop this madman from achieving his goal! Difficulty: Intermediate Flag is /root/flag/flag.sh Use in VMware. DHCP enabled. Learning Objectives: Web Application Security, Scripting, Linux enumeration and more. 博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:want2live233@gmail.com 友情提示:这个靶机可能会经常性"失联",每次我只能重启靶机解决。 工具、知识点和漏洞 nmap dirsearch searchsploit metaspaloit 0x00、信息收集 靶机IP:192.168.0.110 nmap -sn 192

Shell脚本编程

自古美人都是妖i 提交于 2019-12-15 22:48:37
目录 1 基本介绍 1.1 什么是Shell 1.2 什么是Shell Script 1.3 Shell能做什么 2 运行环境 2.1 Shell 环境 2.2 bash环境文件 3 运行基础 3.1 Shell脚本格式 3.2 脚本的执行 4 编程语法 4.1 变量 4.2 字符串 4.3 数组 4.4 注释 4.5 基本运算符 1 基本介绍 1.1 什么是Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁 是一种命令语言,又是一种程序设计语言 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务 1.2 什么是Shell Script 是一种为Shell编写的脚本程序 1.3 Shell能做什么 将多个命令写在一起,让用户很轻松的就能执行一个文件的Shell脚本,就能够一次执行多个命令。 2 运行环境 2.1 Shell 环境 Bourne Again Shell (/bin/bash) Bourne Shell (/usr/bin/sh或/bin/sh) 只要有一个能编写代码的文本编辑器vi和一个能解释执行的脚本解释器就可以了 2.2 bash环境文件 .bash_profile 设置环境变量 账户一建立,该文件就存在 .bashrc 存放针对bash的命令 在 .bash_profile 之后执行 .bash_logout

Shell编程—图形化脚本

允我心安 提交于 2019-12-15 21:41:04
1 创建文本菜单 1.1 普通的文本菜单 $ cat menu1 #!/bin/bash # simple script menu function diskspace { clear df -k } function whoseon { clear who } function memusage { clear cat /proc/meminfo } function memu{ clear echo echo -e "\t\t\tSys Admin Menu\n" echo -e "\t1. Display disk space" echo -e "\t2. Display logged on users" echo -e "\t3. Display memory usage" echo -e "\t0. Exit program\n\n" echo -en "\t\tEnter option: " read -n 1 option } while [ 1 ] do menu case $option in 0) break ;; 1) diskspace ;; 2) whoseon ;; 3) memusage ;; *) clear echo "Sorry, wrong selection";; esac echo -en "\n\n\t\t\tHit any key to

Shell编程—正则表达式

余生长醉 提交于 2019-12-15 20:58:48
1 什么是正则表达式 1.1 定义 正则表达式是你所定义的模式模板,Linux工具可以用它来过滤文本。Linux 工具(比如sed编辑器或gawk程序)能够在处理数据时使用正则表达式对数据进行模式匹配。 1.2 正则表达式的类型 正则表达式是通过正则表达式引擎实现的。正则表达式引擎是一套底层软件,负责解释正则表达式模式并使用这些模式进行文本匹配。 在Linux中,有两种流行的正则表达式引擎: POSIX基础正则表达式(basic regular expression,BRE)引擎 POSIX扩展正则表达式(extended regular expression,ERE)引擎 2 定义 BRE 模式 2.1 纯文本 $ echo "This is a test" | sed -n '/test/p' This is a test $ echo "This is a test" | sed -n '/trial/p' $ $ echo "This is a test" | gawk '/test/{print $0}' This is a test $ echo "This is a test" | gawk '/trial/{print $0}' $ 第一个模式定义了一个单词test。sed编辑器和gawk程序脚本用它们各自的print命令打印出匹配该正则表达式模式的所有行

Shell编程—创建函数

安稳与你 提交于 2019-12-15 20:28:49
1 基本的脚本函数 函数是一个脚本代码块,你可以为其命名并在代码中任何位置重用。要在脚本中使用该代码块时,只要使用所起的函数名就行了。 1.1 创建函数 有两种格式可以用来在bash shell脚本中创建函数。第一种格式采用关键字function,后跟分配给该代码块的函数名。 function name { commands } 二种格式更接近于其他编程语言中定义函数的方式。 name() { commands } 1.2 使用函数 $ cat test1 #!/bin/bash # using a function in a script function func1 { echo "This is an example of a function" } count=1 while [ $count -le 5 ] do func1 count=$[ $count + 1 ] done echo "This is the end of the loop" func1 echo "Now this is the end of the script" $ ./test1 This is an example of a function This is an example of a function This is an example of a function This is