《Mysql必知必会》读书笔记 jar包名中自动添加git commit id PyCharm教学视频学习笔记 《SQL基础教程》简要总结 《设计师要懂心理学》读书笔记 MySQL与MariaDB学习笔记 WDT (Folly) 安装指南 -- CentOS 7 [solved]Page build failed(Jekyll) 数据包过滤及分析实例 tshark tcpdump Scala Tour 学习总结 “Docker容器和容器云”读书笔记(1) “Docker Practice”读书笔记 “图解基础设施设计模式”小结 “图解服务器端网络架构”小结 Python网络安全编程 数据包解析笔记 华为挑战赛(1) DDoS攻击防御与云服务 基于网络回溯分析技术的异常行为分析 “Linux程序设计”小结(进程间通信) C语言编程规范(华为软件精英挑战赛) 2017阿里在线编程题--单源最短路径问题 2017年阿里在线编程题-- 数串分组 Uinx/Linux上的帮助查询命令 你懂C,所以C++不在话下 一篇特别长的总结(C专家编程) 程序员面试金典--笔记(精华篇) C陷阱与缺陷--笔记 半小时搭建电子商务网站--opencart linux网络知识和工具(持续更新) 网卡参数查询及设置工具ethtool 高性能流量生成工具trafgen(DDoS模拟) Linux流量控制工具TC 流量控制工具TC详细说明 tcpdump过滤数据包,结果不对? Lecture 网络攻击与防御技术笔记 gotgit-git权威指南 高效使用MacOS所要知道的 shell内置字符串处理 配置ntp(知其所以然) 360黑客攻防技术分享会--记录 中毒U盘恢复--快捷键病毒 Tor--anonymity network介绍(PPT) IBM bluemix 再读《Linux Shell脚本攻略》 linux shell 学习摘记(9) linux shell 学习摘记(8) linux shell 学习摘记(7) linux shell 学习摘记(6) linux shell 学习摘记(5) linux shell 学习摘记(4) linux shell 学习摘记(3) linux shell 学习摘记(2) linux shell 学习摘记(1) firefox vim 插件 vimperator A Byte of Vim 笔记 windows注册表小知识 安全测试工具篇(开源&商业) 安全及性能测试工具(网站收集) 性能测试工具 屡试不爽的“3个”iPad使用技巧 Shell Shortcuts(和Tab键一样实用) vim--自动添加jekyll post信息头 vim 自动给文件添加头部信息 GitHub Tips (很实用,值得收藏) Linux路由、防火墙、NAT命令

linux shell 学习摘记(9)

2016年09月29日

《linux shell 脚本编程攻略 (第2版)》 第九章 “管理重任” 笔记

常用命令:ps, which, whatis, whereis, file, pgrep, apropos, top, kill, trap, mesg, hostname, uname, /proc, crontab, imagemagick, mysql 脚本, 用户管理脚本, 图像管理脚本

  • ps
    1. ps, ps -f, ps -e, ps aux, ps -eo comm,cpu | head
    2. 显示所需要的信息-o参数, 如pcup, pid, ppid, pmen, comm(可执行文件名), cmd, user, nice, time, etime(进程启动后流逝的时间), tty, euid(所关联的tty设备), stat
    3. --sort根据特定的列进行排序, 如ps -eo comm,pcpu --sort -pcpu |head列出占用cpu最多的前10个进程。ps [OPTIONS] --sort -parameter1,+parameter2,parameter3 其中+表示降序,—表示升序。(mac terminal.app 无此功能)
    4. ps -C bash -o pid=直接打印出命令所对应的pid
    5. ps -u root -U root -o user,pcpu 根据用户id等信息过滤ps输出
    6. ps -t pts/0,pts/1通过tty过滤ps输出
    7. 显示线程相关的信息-L, 如ps -eLf --sort -nlwp | head, 其中NLWP表示线程的数量,WLP是ps输出中每个条目的线程ID
    8. ps -ef, ps -e u, ps -e w松宽输出
    9. 显示进程的环境变量ps -eo pid,cmd e | tail -n 3
  • which ls, whereis ls, file /bin/ls, whatis ls

  • apropos STRING 搜索和某个单词相关的命令是否存在(whatis database)

  • 查看平均负载uptime 分别表示1分钟,5分钟, 15分钟内的负载平均值

  • 根据字符串搜索pgrep bas -d ":", pgrep -u root COMMAND, pgrep -c COMMND

  • top

  • 信号kill用来向系统发送信号;trap用来处理接收到的信号
    1. kill -l
    2. kill -s SIGNAL PID, kill -s SIGKILL PROCESSID等同于kill -9 PROCESSID, kill -s SIGSTP PROCESSID等同于Ctrl+Z
    3. killall PROCESSNAME通过进程命令名终止进程 , killall -u UERNAME PROCESSNAME, killall -9 PROCESSNAME
    4. pkill PROCESSNAME, pkill -s SINGAL PROCESSNAME
    5. trap 'singal_handler_function_name' SINGALLIST
#!/bin/bash  
function handler()  
{  
  echo Hey, receievd singal: SIGINT  
}  
  
echo My process ID IS $$  
  
trap 'handler' SIGINT  
  
while true;  
do  
  sleep 1;  
done  
  • 向所有当前的登陆用户发送广播消息echo hello | wall

  • mesg y允许写入消息, mesg n不允许写入消息

  • 向特定用户发送消息

#!/bin/bash  
USERNAME=$1  
devices=`ls /dev/pts/* -l | awk '{ print $3,$10 }' | grep $USERNAME | awk '{ print $2 }'`  
for dev in $devices;  
do   
  cat /dev/stdin > $dev  
done  
  • 采集系统信息
    1. hostname, uname, cat /proc/cpuinfo | sed -n 5p, cat /proc/meminfo | head -;, cat /proc/partition或者fdiks -l, lshw(不一定有)
    2. proc is a pseudo filesystem. 对应的目录下有各个进程的PID, 进一步的有environ(进程相关的环境变量), cwd(一个到进程工作目录的符号链接), exe(进程所对应的可执行文件的链接) readlink exe, fd包含进程所使用的文件描述符
  • cron
    1. crontab -e, crontab -l, crontab -u 每个用户对应有自己的crontab
  • bash读写mysql数据库脚本

  • 用户管理脚本

  • convert 图像处理
    1. convert image.png -resize "50%" image.png, convert image.ong -resize 1024x768 image.png
    2. 图像管理脚本
  • 终端截图 import -window root screenshot.png, import screenshot.png

  • 管理多个终端screen

知识共享许可协议
SWF's Hacking Dreamonephone 创作,采用 知识共享 署名-非商业性使用 4.0 国际 许可协议进行许可。
© 2011-2018. All rights reserved by onephone. Powerd by Jekyll.