Shell基础笔记
Shell文本变量及符号 特殊变量
整数比较符
括号用途
文本常用处理命令 grep常用参数 -E:模式是扩展正则表达式 -x:模式匹配整行 -v:打印不匹配的行 -c:只打印匹配的行数 -s:不输出错误的信息 grep –v –E “^$|^#”/etc/nginx/nginx.conf #去除开头是空格或者#的配置文件
sed命令常用方法 匹配打印(p) tail /etc/services| sed -n ‘/^b/p’#打印匹配开头的行 tail /etc/services|sed –n ‘1,3p’#打印1到3行 匹配删除(d) sed -i ‘/^$/d;/^#/d’/etc/nginx/nginx.conf #删除空行和注释 匹配替换(s) tail /etc/services | sed –n ‘s/tcp/lsk/p’#打印替换匹配的tcp字符 sed –i ‘s/http/lsk’/etc/nginx/nginx.conf #在nginx.conf配置文件上替换字符
awk命令(处理文本的编程语言工具) 常用选项: -f :从文件中读取awk程序源文件 -F fs:指定fs为分隔符 -v var=value 指定变量符 常用模式: BEGIN{ }:给程序赋予初始状态,先执行的工作 END{}:程序结束之后执行的工作 逻辑not,or,and(!,||,&&) 内置变量: FS:输入字段分隔符,默认是空格或制表符 OFS:输出字段分隔符,默认是空格 RS:输入记录分隔符,默认是换行符n ORS:输出记录分隔符,默认是换行符n NF: 统计当前记录中字段个数 NR: 统计记录编号,没处理一行记录,编号会自增1 FNR:统计记录编号,没处理一行记录,编号自增1,处理第二个文件时,编号会重新计数 ENVIRON:当前系统的环境变量 IGNORECASE:忽略大小
tail /etc/services | awk –F ‘[#]’‘{print $2}’//[]为元字符,符号其中任意一个字符。每遇到一个/或者#就分割字段 tail /etc/services | awk ‘/^blp5/{print $0}’//正则表达式,匹配开头是blp5的行 tail /etc/services | awk '/tcp/ || /blp5/{print $0}'//筛选tcp或者blp5字段的行 awk ‘BEGIN{FS=”:”;OFS=”-”}{print $1,$3,$5}’/etc/passwd //过滤/etc/passwd文件,以冒号为分隔符,输出分隔符以-分隔 常用系统配置文件
/dev 目录
/proc 目录
常用Shell基础命令 echo :-n 不加换行符;-e解释转义符
cat:-b 显示非空行行号;-n 显示所有行号 ;-T 显示tab,用^I表示;-E 显示以$结尾 tac:倒序打印每一行 rev:反向打印每一行 wc:-c 打印文件字节数;-m 打印文件字符数;-l 打印多少行;-L 打印最长行的长度,也可以统计字符串的长度 mkdir:-p 递归创建目录; -v 显示创建过程。 du:-h 易读格式显示(K,M,G);-b 单位bytes显示,-k 单位KB显示;-m 单位MB显示;-s 只显示总大小。 cut:-b 选中第几个字符;-c 选中多少个字符;-d 指定分隔符字段,默认是空格;-f 显示选中字段 stat:-Z 显示selinux安全上下文;-f 显示文件系统状态;-c 指定格式输出内容;-t 以简洁的形式打印 seq:-f 使用printf样式格式;-s 指定换行符,默认是n;-w 等宽,用0填充 sort(排序文本):-f 忽略字母大小写;-M 根据月份比较;-h 根据易读的单位大小比较;-g 按照常规数值排序;-n 根据字符串数值比较;-r 倒序排序;-u 去重重复 行;-t指定分隔符;-o 将结果写入文件 uniq(去除重复行,只统计相邻的):-c 打印出现的次数;-d 只打印重复行;-u 只答应不重复行;-D 只打印重复行,并且把所有重复行打印出来;-i 忽略大小写; tee(从标准输入读取写到标准输出和文件): -a 追加到文件 join(连接两个文件):-i 忽略大小写;-o 按照指定文件栏位显示;-t 使用字符作为输入和输出字段的分隔符 paste(合并文件):-d 指定分隔符;-s 将文件内容平行合并,默认是tab键分隔 head(输出文件的前几行):-c 打印前多少K,M;-n 打印前多少行 tail(输出文件的后几行):-c 打印后多少K,'sans-serif'">;-f 实时读文件,随着文件的暑促胡附加输出;-n 输出最后几行 xargs(从标准输入中执行命令):-a file 从指定文件中读取数据作为标准输入;-0 处理包含空格的文件名;-d 指定分隔符,默认是空格分隔显示;-i 标准输入以{}代 替;-I 标准输入的结果以指定的名字代替;-t 显示执行命令;-p 交互显示是否执行命令;-n 最大命令行参数 nl(打印文件行号):-b<a|t> 指定行号显示方式,a表示所有行号都打印行号,b表示空行不显示行号;-n <ln|rn|rz> 行号显示方法,ln左对齐,rn右对齐,rz 右边显 示;-w 行号栏位在左边占用的宽度 date(打印或设置系统日期和时间):-d string 显示指定字符串所描述的时间,而非当前时间;-f datefile 从日期文件中按行读入时间描述;-I 输出IPS 8601格式的 日期和时间;-r 显示文件的最后修改时间;-R 输出RFC 2822 格式的日期和时间;-s string 设置时间所描述的字符串;-u 打印或者设置UTC时间 wget(非交互式网络下载):-b 后台运行;-c 断点续传;FTP: --ftp-ser=USER,--ftp-password=PASS 设置ftp用户名和密码;-r 指定递归下载 curl(发送数据到URL,类似于HTTP客户端):-k 允许HTTPS连接网站,-C 断点续传;-I 查看HTTP头信息;-s 静默模式,不输出任何内容;-H 自定义头信息发送 给服务器;-T 上传文件 scp(基于SSH的安全远程服务器文件拷贝):-i 指定私钥文件;-l 限制速录;-P 指定远程主机SSH端口;-p 保存修改时间,访问时间和权限;-r 递归拷贝目录 rsync(远程或本地文件同步工具):-v 显示复制信息;-q 不输出错误信息;-c 跳过基础校验,不判断修改时间和大小;-a 归档模式,保留权限,数组;-r 递归目 录;-l 拷贝软连接;-z 压缩传输数据;-e 指定远程shell nohup(运行程序,忽略挂起信号) iconv(将文件内容字符集转成其他字符集):-l 列出所有已知的字符集;-f 原始文本编码;-t 输出编码;-o 输出到文件;-s 关闭警告 tar(归档目录或文件):-c:创建新归档;-d:比较归档和文件系统的差异;-r:追加文件到归档;-t:存档的内容列表;-x:提取归档所有文件;-C:改变解压目 录;-f:使用归档文件或设备归档;-j:bzip2压缩;-z:gzip压缩;-v:输出处理过程 netstat(打印网络连接、路由表、接口统计信息、伪装连接和多播成员):-r 显示路由表;-i 显示接口表;-n 不解析名字;-p 显示程序名;-l 显示监听的socket;-a 显示所有的socket ;-o 显示计时器;-Z 显示上下文;-t 只显示tcp连接;-u 只显示udp连接;-s 显示每个协议统计信息 ss(比netstat更强大的socket查看工具):-n 不解析名字;-a 显示所有的socket;-l 显示所有的监听的socket显示计时器;-e 显示socket详细信息;-m 显示 socket内存使用;-p 显示进程使用的socket;-I 显示内部的TCP信息;-s 使用汇总;-t 只显示TCP socket;-u 只显示UDP socket;-d 只显示DDCP socket lsof(列出打开的文件):-i 监听的网络地址,如果没有,默认列出所有;-U 列出Unix域socket文件;-p 制定PID;-u 指定用户名或UID所有打开的文件;+D 递归 搜索 ps(报告当前进程的快照):-a 显示所有的进程;-u 选择有效的用户ID或名称;-x 显示无控制终端的进程;-e 显示所有进程;-f 全格式;-r 只显示运行的进程;-T 这个终端的所有进程;-p 指定进程ID;-m 线程;-o 用户自定义格式; top(动态显示活动的进程和系统资源利用率):-d 信息刷新时间间隔;-p 只监控指定的进程PID;-i 只显示正在使用CPU的进程;-H 显示线程;-u只查看指定用户 名的进程;-b 将输出编排成易处理格式,适合输出到文件处理;-n 指定最大循环刷新数;-----交互命令: f 添加或杀出显示的指标;c 显示完整命令;P 按CPU使用 百分率排序;按驻留内存大小排序;T 按进程使用CPU时间排序;l 显示每个CPU核心使用率;k 终止一个进程 free(查看内存使用率):-b bytes显示;-k KB显示;-m M 显示;-g G 显示;-h易读单位显示;-s 没几秒重复打印;-c 重复打印几次退出; df(查看文件系统的磁盘空间的使用情况):-a 包括虚拟文件系统;-h 可易读单位显示;-i 显示inode信息而非块使用量;-k 1K块的数量;-t 只显示指定文件系统为 指定类型的信息;-T 显示文件系统类型 vmstat(报告虚拟内存,swap,io,上下文和CPU统计信息):-a 打印活跃和不活跃的内存页;-d 打印硬盘统计信息;-D 统计硬盘表;-p 打印硬盘分区统计信 息;-s 打印虚拟内存表;-m 打印内存分配信息;-t 添加时间戳到输出 iostat(报告CPU利用率和磁盘I/O):-c 显示CPU使用率;-d 只显示磁盘使用率;-k 单位KB/S代替BLOCK/S单位 MB/S 代替Block/s;-N 显示所有映射设备名 字;-t 打印报告时间;-x 显示扩展统计信息; sar(查看系统资源综合方面利用率):-u CPU;-r memory;-b disk;-n DEV,NIC traffic;-q systemload;-b TPS;-o output to file dstat(查看系统资源综合方面利用率—需要额外安装):-p cpu统计;-d 磁盘统计;-m 内存统计;-n 网络统计;-s swap统计;-l 负载统计 ip(查看/操作路由表、设备、路由策略和隧道):---操作对象:address 网络设备地址;12tp 以太网IP隧道;link 配置网络设备;monitor 动态监控网络连 接;mroute:多播路由缓存条目;route 路由表;rule 角色在路由策略数据库;tunnel IP隧道; nc(TCP和UDP连接和监听):-I interval 指定间隔时间发送和接收行文本;-l 监听模式;-n 不解析域名;-p 指定本地源端口;-s 指定本地源IP地址;-u 使用udp协 议;默认是tcp;-v 执行过程输出;-w timeoute连接超时时间;-x proxy_address请求连接主机使用代理地址和端口;-z 指定扫描监听端口,不发送任何数据
evel(执行参数作为shell命令) ssh(ssh远程连接客户端) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |