• 如果一个命令只有一次输出,但想持续观察输出变化,使用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脚本命令常用技巧的更多相关文章

  1. 常用shell脚本命令

    常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...

  2. shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式

    shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式 1.sort命令 概述: Linux sort命令用于将文本文件内容加以排序. sort命令可针对文本文件的内容,以行为单 ...

  3. linux 基础 shell脚本命令

    #########shell脚本命令#### 1.diff diff file file1 ####比较两个文件的不同 -c ####显示周围的行 -u ####按照一格式统一输出生成补丁 -r ## ...

  4. win7 cmd终端连接android手机运行adb shell脚本命令

    win7 cmd终端连接android手机运行adb shell脚本命令 (2013-03-22 20:13:57) 转载▼ 标签: android it shell 连接 linux 分类: 嵌入式 ...

  5. shell脚本命令 运行python文件&python命令行运行python代码

    单独的python文件运行的时候 报错: 在shell脚本中,运行shell脚本命令:在Python命令行中,运行Python代码.然而,“python hello.py”是一个脚本命令,不是pyth ...

  6. SHELL脚本和常用命令

    什么是脚本? 脚本简单地说就是一条条的文字命令(一些指令的堆积),这些文字命令是可以看到的(如可以用记事本打开查看.编辑). 常见的脚本: JavaScript(JS,前端),VBScript, AS ...

  7. shell脚本中常用命令

    1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值. 1.2    ...

  8. Linux Shell编程之常用技巧

    前言 本文集中介绍了bash编程中部分高级编程方法和技巧.通过学习本文内容,可以帮你解决以下问题: 1.bash可以网络编程么? 2..(){ .|.& };. 据说执行这些符号可以死机,那么 ...

  9. Shell基础:常用技巧&重定向&管道操作

    Shell脚本介绍和常用工具 Shell脚本 Shell脚本:实际就是windows里的批处理脚本,多条可一次执行的Shell命令集合.Linux上的脚本可以用很多种语言实现,bash shell是比 ...

随机推荐

  1. Redis未授权访问漏洞复现与利用

    漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...

  2. php接收base64数据生成图片并保存

    public function base64(){ //接收base64数据 $image= $_POST['imegse']; //设置图片名称 $imageName = "25220_& ...

  3. 如何在Camtasia中对录制视频进行动画编辑

    生活中,我们时时会遇到要剪辑视频不知道哪一款软件比较简单:当我们想要录制电脑屏幕时,网上的方法也总是不奏效.那是否有一款软件可以同时兼备这两种功能呢?今天我给大家推荐的便是一款同时兼备这两种功能的软件 ...

  4. 如何用Folx的浏览器集成功能设置捕获类型

    Folx的浏览器集成功能,可将Folx的下载功能添加到浏览器的上下文菜单(也就是右键快捷菜单)中,方便用户使用Folx捕获页面中的下载链接,并创建下载任务. 那么,用户需要进行哪些设置才能使用Folx ...

  5. React Native两种加载图片的方式

    1 加载网络图片 通过uri就可以加载网络图片 <Image source={{uri:'http://facebook.github.io/react/img/logo_og.png'}} s ...

  6. 通过PHPExcel将Excel表文件中数据导入数据库

    1 <?php 2 header("Content-Type:text/html;charset=utf-8"); 3 include_once 'PHPExcel.php' ...

  7. Django中ModelForm详解

    1.ModelForm组件介绍:这个组件的功能就是把model和form组合起来 2.ModelForm的使用 1.首先需要导入ModelForm from django.forms import M ...

  8. 【mq读书笔记】客户端处理消息(回调提交到异步业务线程池,pullRequest重新入队)

    看一下客户端收到消息后的处理: MQClientAPIImpl#processPullResponse private PullResult processPullResponse( final Re ...

  9. 【MySQL/C#/.NET】VS2010报错--“.Net Framework Data Provider。可能没有安装。”

    前言 公司行业是金融软件,之前用的都是Oracle数据库.Oracle数据库用一个词来形容:大而全.MySQL的话,可能是因为开源.便宜,现在越来越主流. 我们也支持MySQL数据库,不过平时不用.最 ...

  10. python - os.sep用法

    python是跨平台的.在Windows上,文件的路径分隔符是'\',在Linux上是'/'.为了让代码在不同的平台上都能运行,那么路径应该写'\'还是'/'呢?使用os.sep的话,就不用考虑这个了 ...