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是比 ...
随机推荐
- mac 快键键图标对应
Mac 键盘快捷键 您可以按下某些组合键来实现通常需要鼠标.触控板或其他输入设备才能完成的操作. 要使用键盘快捷键,请按住一个或多个修饰键,然后按快捷键的最后一个键.例如,要使用 Command- ...
- php批量转换时间戳
//批量转换时间戳 array_map(array($this, 'myfunction'),'时间戳数组'); //如 array('time1'=>11,'time2'=>2222); ...
- bWAPP----HTML Injection - Stored (Blog)
HTML Injection - Stored (Blog) 界面 1 <div id="main"> 2 3 <h1>HTML Injection - S ...
- empty
等效于false的都是true
- Android系统添加key和keypad
平台:MTK 一.添加一个按键 1.在DCT tool keypad list 文件增加新按键的选项alps\mediatek\source\dct\Keypad_YuSu.cmp中添加新键,如SMS ...
- 公式编辑器MathType之入门攻略
许多时候在工作.学习,尤其是写文献时,需要在Word文档中输入较多公式,简单的公式或符号,可以借助Word自带的公式编辑器,但是,遇到较多并且复杂的公式,该如何高效解决呢?其实可以借助一款强大的公式编 ...
- 思维导图MindManager属性功能怎么合理使用
在MindManager中为主题添加相应的标注可以使读者更好的理解主题内容,增强导图的可读性,因此,如何在MindManager中为主题添加标注也就成了我们的关注点. 巧妙使用这款思维导图软件的属性功 ...
- C语言讲义——全局变量和局部变量
局部变量 普通的局部变量也叫动态变量,默认有个关键字叫auto,可以省略.有两种形式: 1.函数内的局部变量 2.复合语句内的局部变量:for(int i = 0; i<5; i++){-} 静 ...
- 如何修改Docker的默认网段?
背景 公司的服务器全部都是购买的阿里云ECS主机,默认内网网段为172.16.0.0/12,测试服上的服务基本都是使用Docker部署的. 之前的同事在该机器上安装的Docker全部都是默认配置,网段 ...
- D. Numbers on Tree(构造)【CF 1287】
传送门 思路: 我们需要抓住唯一的重要信息点"ci",我的做法也是在猜想和尝试中得出的,之后再验证算法的正确性. 我们在构造中发现,如果树上出现了相同的数字,则会让树的构造变得不清 ...