linux--命令

一、文件系统:

1、常用
  • /etc/profile 是所有用户的环境变量, 需要执行source /etc/profile生效
//java的环境变量
export JAVA_HOME=/opt/java/jdk1.7.0_11
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
  • ~/.bashrc 当前用户的设置。 //一般用来自定义别名
  • /usr/bin/ //目录放到$PATH了, 里面的命令可以在任意地方使用
  • ln -s /opt/installer/Postman/Postman /usr/bin/postman //创建软连接,
2、文件元数据
  • 文件名称存储在目录中,目录本身的大小>=4096字节
  • 改变文件名不会改变文件大小,会改变目录的大小,目录下有超多文件时,目录本身会大于4096字节。

二、压缩解压缩

1、gzip(.gz)
  • 压缩:gzip src //执行后生成src.gz,但是会把src这个原文件删除
  • 压缩保留源文件:gzip -c src > src.gz
  • 解压缩:gzip -d 1.gz执行后生成1,但是会把1.gz这个原压缩文件删除
  • 解压缩保留源文件:gzip -dc 1.gz > 1
2、zip/unzip(.zip)
  • 压缩:zip abc.zip abc/
  • 解压缩:zip abc.zip //不指定解压目录
  • 解压缩:zip abc.zip -d abc123 //指定解压目录
3、tar(.tar, .tar.gz)
  • 压缩:tar -zcvf abc.tar.gz abc/
  • 解压缩:tar -zxvf abc.tar.gz //不指定解压目录

三、查找

1、find 查找文件
  • find ./ -name ${FILE_NAME}* // 模糊查找必须加上通配符
2、grep(Globally search a Regular Expression and Print) 查找内容
  • grep -nr goal ./test/ //递归查询"./test/"目录,包含"goal"的内容。-n//行号
  • grep -nrE “go\w{2}l” ./test/ // -E 使用正则表达式
  • grep -C 10 “wnj” logs/catalina.out //-A,-B //上下10行
  • find ./ -name \*.xml | xargs grep -n goal // 递归查询"./test/"目录中的.xml文件,包含"goal"的内容

四、vi

1、撤销
  1. u 撤销最后一次修改
2、插入光标(进入编辑模式)
  • a 在光标后插入文本
  • A 在当前行插入文本
  • i 在光标前插入文本
  • I 在当前行前插入文本
  • o 在当前行的下边插入新行
  • O 在当前行的上边插入新行
3、移动光标
  • w 移到下一个字的开头
  • W 移到下一个字的开头,忽略标点符号
  • b 移到前一个字的开头
  • B 移到前一个字的开头,忽略标点符号
  • ^ 移到行首
  • $ 移到行尾
  • G 移到文件的最后一行
  • nG 移到文件的第n行
  • H 将光标移动到屏幕的顶行
  • nH 将光标移动到屏幕顶行下的第n行
  • M 将光标移动到屏幕的中间
  • L 将光标移动到屏幕的底行
  • nL 将光标移动到屏幕底行上的第n行
4、删除字符x
  • x 删除光标处的字符
  • nx 从当前光标处往后删除n个字符
  • X 删除光标前的字符
  • nX 从当前光标处往前删除n个字符
  • 删除单词和行d
  • dw 删至下一个字的开头
  • ndw 从当前光标处往后删除n个字
  • db 删除光标前面的字
  • ndb 从当前行开始往前删除n字
  • dd 删除整行
  • ndd 从当前行开始往后删除
  • d$ 从光标处删除到行尾
  • dG 删除行,直到文件结束
5、复制粘贴
  • yy 复制当前行
  • nyy 复制当前光标开始的n行
  • p 粘贴至光标的后面(当前光标的下一行开始)
  • P 粘贴至光标的前面(建议使用这个)
6、查找与替换
  • /text 在文件中向前查找text
  • ?text 在文件中向后查找text
  • n 在同一方向重复查找
  • N 在相反方向重复查找
  • %s/abc/123/g 替换所有的abc为123
  • 2,5s/abc/123/g 替换2到5行的abc为123

五、常用命令

  • lsof -f | grep Log //查看那个在用Log 文件
  • shell文件第一行:#!bin/bash 不然可能运行出错// sh脚本有好几种,bash最常用
  • tee //把一份副本写入o1,o2,另一份作为后续命令的stdin
  1. cat a* | tee o1 o2 | cat -n
  • cat a.txt -n //显示行号
  • sort
  1. sort -nrk 2 ee.txt //-nrk//n=数字、r=逆序,“k 2”=第二列
  2. sort ee.txt |uniq -c //uniq 过滤重复,-c 重复次数
  • sed(stream editor)
  1. sed ‘s/9/nine/g’ ee.txt //替换,g表示全部,可以不用。同vi
  • awk:对数据流的行和列操作。
  1. cat /etc/passwd |awk -F ‘:’ ‘/^mysql/{print $1","$2}’ //过滤mysql开头的,正则表达式用"//“不用”{}"
  • xargs: 把stdio转换为命令行参数,多行单行互转。
  1. ps -ef | grep root |awk ‘{print $2}’ |xargs //合并成1行
  2. ps -ef | grep root |awk ‘{print $2}’ |xargs -n 20 //合并成行(每行20个)
  3. ll | awk ‘{print $8}’ |xargs rm -fr //并把合并后的值,作为参数传递给rm
  • 反引号,循环
 for id in `\cat catalina.out | \grep "server" |awk '{print $8}' | awk -F ':' '{print $NF}'`
        do
         echo -n "${id}----"  ;   cat catalina.out | \grep -c "${id}" | sort -n
        done
cur_date="`date +%Y-%m-%d`"
fileName=$cur_date.log
echo $fileName
  • ps -eo pid,lstart | grep 21673 //查看进程启动时间
  • ps -eo pid,lstart,cmd | grep java //查看进程启动时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值