grep命令用法
Linux grep 命令用于查找文件里符合条件的字符串。 grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。 语法1grep "<查找内容>" [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 参数: -a 或 --text : 不要忽略二进制的数据。 -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<...
head命令用法
head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。 命令格式: 1head [参数] [文件] 参数: -q 隐藏文件名 -v 显示文件名 -c<数目> 显示的字节数。 -n<行数> 显示的行数。
ipvsadm
ipvsadm参数:123456789101112131415161718192021222324252627添加虚拟服务器 语法:ipvsadm -A [-t|u|f] [vip_addr:port] [-s:指定算法] -A:添加 -t:TCP协议 -u:UDP协议 -f:防火墙标记 -D:删除虚拟服务器记录 -E:修改虚拟服务器记录 -C:清空所有记录 -L:查看添加后端RealServer 语法:ipvsadm -a [-t|u|f] [vip_addr:port] [-r ip_addr] [-g|i|m] [-w 指定权重] -a:添加 -t:TCP协议 -u:UDP协议 -f:防火墙标记 -r:指定后端realserver的IP -g:DR模式 -i:TUN模式 -m:NAT模式 -w:指定权重 -d:删除realserver记录 -e:修改realserver记录 -l:查看通用: ipvsadm -ln:查看规则 s...
iptables学习
清理防火墙:123iptables -Fiptables -Xiptables -Z iptables命令选项输入顺序:1iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作 表名包括: raw:高级功能,如:网址过滤。 mangle:数据包修改(QOS),用于实现服务质量。 net:地址转换,用于网关路由器。 filter:包过滤,用于防火墙规则。 规则链名包括: INPUT链:处理输入数据包。 OUTPUT链:处理输出数据包。 PORWARD链:处理转发数据包。 PREROUTING链:用于目标地址转换(DNAT),路由前。 POSTOUTING链:用于源地址转换(SNAT),路由后。 动作包括: accept:接收数据包。 DROP:丢弃数据包。 REDIRECT:重定向、映射、透明代理。 SNAT:源地址转换。 DNAT:目标地址转换。 MASQ...
jq的使用
jq 命令可以方便快捷的解析 json 格式的数据。下面几个例子简单的记录了 jq 命令的用法。其中 task_feature_file 中的每一行都是一个 json 格式的数据。 解析 json 格式的数据1cat task_feature_file | jq . 根据 key[cms_data] 获取 value1cat task_feature_file | jq '.cms_data' 根据 key 获取 value(嵌套提取)1cat task_feature_file | jq '.cms_data.res_id' 提取所有 key1cat task_feature_file | jq 'keys' 提取所有 key(嵌套提取)1cat task_feature_file | jq '.cms_data' | jq 'keys' 判断是否有某个 key1cat task_feature_file | jq 'has("cms_data&qu...
linux下设置当前用户的环境变量
linux下设置当前用户的环境变量 1、首先 cd ~2、执行 ls -al3、执行步骤2后会看到一个文件.bash_profile4、vim .bash_profile 这种方式使用配置如java或者maven等指定好的sh,如果需要配置多个export,看下面的仿照bashrc1在.bash_profile文件中的Path中追加你要配置的路径,如下图 12多个目录通过:(冒号)分割开修改完后通过:wq命令保存 另一种方式仿照bashrc123vim ~/.sopei_env# 然后添加export xxx=xxxexport NODE_ENV=production 使变量生效 通过命令 source ~/.bash_profile 使得刚才的修改生效
linux问题总结
切换用户触发错误-bash: /dev/null: Permission denied此时,你需要删除 /dev/null 文件,并重新创建它: 1rm -f /dev/null; mknod -m 666 /dev/null c 1 3 ./ 运行bash脚本文件出现 报错信息 /usr/bin/env: “bash\r“: 没有那个文件或目录错误原因:这主要是因为bash后面多了\r这个字符的原因。在linux终端下,输出\r会什么都不显示,只是把光标移到行首。于是终端虽然输出了/usr/bin/env bash,但是碰到\r后,光标会被移到行首,接着输出了:No such file or directory把前面的覆盖掉了。于是出现了那个莫名其妙的出错信息了 解决办法: 1234用vim打开sh脚本文件, 重新设置文件的格式:set ff 然后回车 再重新设置下文件格式:set ff=unix 回车:wq! 保存退出 同时这样设置完也能解决一些其他的问题,比如想在bash文件中添加Pytho...
sed命令用法
语法1234sed [-hnV][-e<script>][-f<script文件>][文本文件]eg,带g则全局修改,不带则只修改匹配的第一个: sed -i 's/{原字符串}/{将要修改的字符串}/g' build.xml 参数说明: -e或--expression= 以选项中指定的script来处理输入的文本文件。 -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。 -h或--help 显示帮助。 -n或--quiet或--silent 仅显示script处理后的结果。 -V或--version 显示版本信息。 -i 选项 i 使 sed 修改文件 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d :删除,因为是删除啊,所以 d 后面通常不接任何东东; i :插入, i...
Shell脚本中$0、$?、$!、$、$*、$#、$@
Shell脚本中$0、$?、$!、$$、$*、$#、$@1. $$Shell本身的PID(ProcessID) 2. $!Shell最后运行的后台Process的PID 3. $?最后运行的命令的结束代码(返回值) 4. $-使用Set命令设定的Flag一览 5. $*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 6. $@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 7. $#添加到Shell的参数个数 8. $0Shell本身的文件名 9.$1~$n添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
sort命令用法
语法1sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]] 参数说明: -b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序。 -u 意味着是唯一的(unique),输出的结果是去完重了的。 -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。 +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 --help 显示帮助。 --vers...
