Shell脚本命令常用技巧
- 如果一个命令只有一次输出,但想持续观察输出变化,使用watch -d -n1 'df -h'可行,df -h输出一次硬盘使用情况,用上面指令可以持续观察。-d表示相邻输出如果有差异要高亮标记,-n1表示每隔一秒执行一次df -h指令。
- 观察网络接口流量sar -n DEV 1 200,DEV 1表示监控第一个网卡,200表示输出200次监控结果。
- 日志文件很大,只想处理最后的十万行, tail -n 100000 access.log > accesspart.log, accesspart.log里就是最后的十万行。
- $可以理解为取内容运算符 echo是打印 export是设置环境变量
- 查看PATH变量值用echo ${PATH},查看PATH变量长度用echo ${#PATH}
- pgrep ssh显示ssh进程的pid号
- cat /proc/16119/environ | tr '\0' '\n' 查看pid号为16119的进程的环境变量,tr '\0' '\n'把每一项环境变量的末尾替换为换行符,使输出便于阅读
- top显示各个进程资源占用情况。然后按shift+M,结果按内存占用由大到小排序。按shift+P,结果按cpu占用由大到小排序。
- find指令后面必须有基本路径,-path后面的目录前后都要加*
- shell中命令之间的空格很重要,空格分隔了不同的命令,\转义的一般都用空格与其他的指令隔离
- shell常用变量:$1命令或脚本的第一个参数,第二个以此类推;$#参数数量;$0当前程序名称;$?上个命令的返回值;$$ 程序PID;$! 之前程序PID;$@以列表的方式打印所有参数;$*字符串的形式打印所有参数;
- cd - 两个目录切换
- echo "line containing a car pattern" | tr -s " " 把字符串的多个空格减少到一个空格
- echo "line containing apattern " | tr -d 'n' 删除字符串中的n
- echo "line containing apattern " | sed "s/c/x/g" 将字符串的c替换成x
- name=${var%.}的含义是从右向左匹配%右侧的通配符. 并删除匹配结果,之后赋值给name %非贪婪 %%贪婪
- name=${var#.}的含义是从左向右匹配#右侧的通配符. 并删除匹配结果,之后赋值给name #非贪婪 ##贪婪
- tr ' ' '\n' 空格替换成\n,使得单行变多行。反过来多行可以变单行。
- awk NR是当前行号,NF是当前行字段数量。$0是当前行的全部内容, $1等是当前行第1列的内容。
- cat <indeximg.xml ....EOF 把EOF之前的内容重定向到xml中
- (子shell)& wait &表示脱离当前线程,wait表示全部完成才结束
- ssh -p3456 user@IP 本服务器连接到IP服务器,端口号3456
- 语句最后放一个&的意思是放置到后台运行
- netstat -tnpul查看开放的端口和服务
- 查看磁盘命令df=disk free du=disk usage
- $while read line;do ... done<<file 使用方法 可以读取第一个参数文件
- ps收集进程详细信息 结果各项含义:UID 用户ID; PID 进程ID; PPID 父进程ID; C CPU占用率; STIME 开始时间; TTY 开始此进程的TTY【终端】; TIME 此进程运行的总时间 ; CMD 命令名;
- which查找某个命令的位置 whereis 包括手册的位置 file文件类型细节 whatis打印手册的某一行
- kill -l信号列表 ; kill -s SIGNAL PID 发个信号给进程; killall process_name按程序名称杀; killall -u username process_name ; pkill 进程名; trap 处理信号函数 SIGINT(接收到SIGINT就运行处理函数)
- $ hostname查看主机名 $ uname -n查看主机名 $ uname -a系统版本 $ uname -r内核版本 $ uname -m平台
- cat /proc/cpuinfo【cpu信息】 cat /proc/meminfo【内存信息】 cat /proc/partitions【硬盘信息】
- corn调度命令 【分 小时 天 月 星期】 *代表每次 $crontab -e会打开计划表 执行corn所使用的权限和执行命令的一致 crontab -r移除当前用户的cron表
- cat<<! ....! 达到追加命令的效果,会将...一行一行的执行
- ftp状态下执行lcd 在本地机上改变工作目录
- MYTIME=`date +"%Y%m%d %T"` 反向单引号执行引号内语句,并将执行结果作为整体赋值给变量。普通单引号将语句作为字符串赋值给变量。
- $ pstack pid号 显示进程栈跟踪 ,对处于错误状态的进程执行这个命令,打印的栈信息就是进程现在执行的代码,帮助定位bug
- $strace -p pid号 查看进程正在使用哪些系统调用,可以看见系统调用的函数名称和报错信息。
- $free -m 查看内存大小
- $sysctl -p /etc/sysctl.conf重新载入内核参数,使配置生效
- $ grep hhh * 会显示包含hhh的文件名和包含hhh的字符串
- $ulimit -c unlimited 不限制core文件大小
Shell脚本命令常用技巧的更多相关文章
- 常用shell脚本命令
常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...
- shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式
shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式 1.sort命令 概述: Linux sort命令用于将文本文件内容加以排序. sort命令可针对文本文件的内容,以行为单 ...
- linux 基础 shell脚本命令
#########shell脚本命令#### 1.diff diff file file1 ####比较两个文件的不同 -c ####显示周围的行 -u ####按照一格式统一输出生成补丁 -r ## ...
- win7 cmd终端连接android手机运行adb shell脚本命令
win7 cmd终端连接android手机运行adb shell脚本命令 (2013-03-22 20:13:57) 转载▼ 标签: android it shell 连接 linux 分类: 嵌入式 ...
- shell脚本命令 运行python文件&python命令行运行python代码
单独的python文件运行的时候 报错: 在shell脚本中,运行shell脚本命令:在Python命令行中,运行Python代码.然而,“python hello.py”是一个脚本命令,不是pyth ...
- SHELL脚本和常用命令
什么是脚本? 脚本简单地说就是一条条的文字命令(一些指令的堆积),这些文字命令是可以看到的(如可以用记事本打开查看.编辑). 常见的脚本: JavaScript(JS,前端),VBScript, AS ...
- shell脚本中常用命令
1 Shell中的特殊符号 1.1 $ 美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值. 1.2 ...
- Linux Shell编程之常用技巧
前言 本文集中介绍了bash编程中部分高级编程方法和技巧.通过学习本文内容,可以帮你解决以下问题: 1.bash可以网络编程么? 2..(){ .|.& };. 据说执行这些符号可以死机,那么 ...
- Shell基础:常用技巧&重定向&管道操作
Shell脚本介绍和常用工具 Shell脚本 Shell脚本:实际就是windows里的批处理脚本,多条可一次执行的Shell命令集合.Linux上的脚本可以用很多种语言实现,bash shell是比 ...
随机推荐
- vue 常见记录
# vuex在组件中如何获取vuex的state对象中的属性 https://blog.csdn.net/gavincz/article/details/81049461 # vuex全局变量使用 h ...
- MFC读写文件详解
1.CFile类提供了对文件进行打开,关闭,读,写,删除,重命名以及获取文件信息等文件操作的基本功能,足以处理任意类型的文件操作. 虽然使用CArchive类内建的序列化功能是保存和加载持久性数据的便 ...
- leetcode133. 克隆图
给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆).图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node]).示例: 输入:{"$id":&quo ...
- centons 7 安装mysql
1 CentOS 7 yum安装mysql 1.1 Yum 安装mysql CentOS用yum安装相对省事,省去很多配置环节 安装mysql 源 yum localinstall h ...
- 浅析Nginx与Apache的区别
Nginx相对于Apache的优势: 1.轻量级,采用C进行编写,同样的web服务,会占用更少的内存及资源 2.抗并发,nginx以epoll and kqueue作为开发模型,处理请求是异步非阻塞的 ...
- 【Flutter 实战】酷炫的开关动画效果
此动画效果是我在浏览文章时发现的一个非常酷炫的效果,于是就使用 Flutter 实现了. 更多动画效果及Flutter资源:https://github.com/781238222/flutter-d ...
- 1. git简介
1.1 版本控制理解 版本控制 工程设计领域中使用版本控制管理工程蓝图的设计过程,在 IT 开发过程中也可以使用版本控制思想管理代码的版本迭代 集中式版本控制工具 CVS.SVN.VSS等 分布式版本 ...
- 区块链V1版本实现之一
1. 程序地址:https://gitee.com/Jame_sz/beijing_go_term2.git 2. 程序编写流程: //1. 定义结构(区块头的字段比正常的少) //>1. 前区 ...
- ModelSim入门
verilog设计进阶 时间:2014年5月5日星期一 主要收获: 1. 安装了ModelSim ALTERA 6.4a; 2. 熟悉基本流程,仿真成功: 3. 了解testbench语法基本. 为什 ...
- HTML 和CSS
1 HTML 介绍1.1 web 服务本质import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080))sk.lis ...