1、linux命令学习笔记Linux学习History=!显示前面100条命令!$显示上个命令的最后一个参数!1000指定打开第1000调命令 !ls 执行最靠近的那条ls命令alias a=b简化操作命令 取消 unalias als 12.txt ls ?.txt ls以1或2开始和任何txt结尾的文件txtab a字符覆盖b文件重定向 追加,不覆盖cat 错误重定向 2错误追加 &1代表 1.logSleep 100 休眠100秒 ctrl+z 停止/放入后台 ctrl+c是杀死命令 jobs查看停止的后台命令 sleep 100 & 直接放入后台运行fg 1打开已经停止的序号为1的后台命令
2、 fg不加序号有限恢复优先级别高的命令系统变量和自定义变量 :env打印系统变量 a以a开头的set打印所有变量 export a=b 声明 在全局生效 不声明只在当前目录生效变量a=”b”取消变量设定 unset arpm qf which vim 查询vim是哪个安装包安装的cut d “:” -f 1,2 filename cut d “:” f 1-5 分别打印12列和1-5列cut c 1-10 打印1-10个字符sort t “:” k3 filename 对第三段排序 sort t “:” k3 -n filename按照数字排序 直接sort n 用得多 sort nr 逆向排
3、序sort n | uniq c 排序后再统计次数tr a-z A-Z把左右字母替换为大写tee filename 重定向并打印wc l filename | split -l 100 filename (a) 每100行切割一个文件(切割后文件名都是以a开头的文件名)split b 1M filename 把文件按1M大小切割 grep c “字符” filename 打印含有字符的行数grep -n “字符” filename 打印含有字符的行 并标注行号grep -o “字符” filename | wc l 打印含有字符的个数grep -v “字符” filename 打印不含有字符的
4、行(取反)grep A2 n “字符” filename 把含有字符的下面两行打印出来,标注行号A=after 同理可推 B=before -C2 上下各两行grep -r “字符” /目录名 搜索该目录下所有含有字符的文件以及打印该行grep -v $ filename 过滤空行 grep a$ filename 打印以字母a结尾的行grep 0-9 filename 中括号内代表非的意思,过滤出非数字开头的行,并打印*零个或多个任意字符 “ .”一个任意字符 “?” 零个或者一个前面的字符匹配 “ro?t” 匹配 rt 和rot “+” 表示前面的字符匹配一个或者多个.*任意字符(贪婪匹配
5、) grep a|b filename 匹配a或者b的行 是脱义的意思grep E (oo)+ filename 匹配一组或者多组(oo)grep E (oo)2 filename 精确匹配2次 grep -q 不输出东西sed 1,5p -n filename 打印1到5行 sed 5,$p -n filename打印5-末行sed -r /root|mysql/p -n 打印含有root或者mysql的行(不加r就要对特殊字符脱义) /ro?t /p /ro+t /p /(oo)+ /psed e /root/p -e /mysql/p filename -e的作用 匹配root打印 再匹
6、配mysql再打印 可能一行打两次sed /root/p;/mysql/p -n filename 和上面类似意思sed -r 1,5d filename 把1-5行删除sed -r /root|mysql/d filename sed -r /0-9 /d filenamesed -r /0-9 /d filename sed替换 sed 1,10s/root/toor/g filename 把1-10行root替换为toorsed s/root/ /g filename 把root替换为空位置替换awk -F : print $2 filename 分隔符随意指定,可以: 可以字符awk
7、-F : $1/字符/ print$3,$4 filename 先$1匹配字符匹配在打印字段 awk -F : $1/字符/ OFS=”#”;print$3, $4 filename输出的时候指定#号作为分隔符awk -F : $1=/字符/ OFS=”#”;print$3, $4 filename 精准匹配Chmod +x 赋予权限 bash x 查询执行过程date 重点,使用频率特别高date +%Y 四位数的年份 +%y 两位数年份 +%m 月份 +%d 日期 +%H 小时 +%M 分钟 +%S 秒显示2015-06-15 date -%F 20:20:56 date +%Tdate
8、+”%Y-%m-%d %H:%M:%S” 2017-04-22 20:29:40模式显示date +%w 周几显示 +%W显示现在第几周echo “365/7” | bc bc就是一个计算器date d “-1 day” +%F %T 同理+ month year week hour min secread p 表示后面可以接提示符$0脚本本身 $1第一个变量 $2 第二个变量 $# 参数个数可以这样的方式表达大于 gt$a lt 10 a $a -gt 1 -a and的意思 -o 就是or的意思if 判断 -e是否存在 -d是否为目录 -f 是否为文件 r 是否可读 -w是否可写 -x是否可执行 -z判断是否为空 -n判断不为空$?返回值exec filename 2&1 接下来的命令输出的内容重定向文件当中,错误暑促也重定向进去,一般exec写在最上面。exec前面的不会重定向进去,有执行顺序if判断 for循环 for I in seq 1 10 反序 seq 10 -1 1 seq 1 2 10 步长为2 seq -1 -1 -10 步长为-1while 死循环Continue 退出本次循环 break 退出for 循环 exist 退出整个脚本程序
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2