linux

打印第5行 

sed -n '5p' 1.txt

打印空行的行号  

awk 'if {NF==0} print NR' 1.txt   

sed -n '/^$/=' 1.txt   -n 对匹配行处理    =打印匹配行的行号  p打印匹配到的内容

删除空行

sed '/^$/ d' 1.txt

sed '/^#/ d' employee.txt  删除所有注释行

打印不含this的行内容

sed '/this/ d' 1.txt

打印非空行的内容

sed -n '/[^$]/p'1.txt    

[^$] ^代表以后面跟着的字符为开头,$代表以前面的字符为结尾;

^$联合使用,中间不加任何字符数字,代表匹配空行;

[ ] 在shell正则中表示取反

输出0到500中7的倍数

seq 0 7 500  seq 尾数   seq 首数  尾数  seq  首数 增量 尾数

统计文件的行数

awk ‘END{print NR}’1.txt

sed -n '$=' 1.txt

打印文档中单词数小于8的内容

cat 1.txt| awk '{for (i=1;i<=NF;i++) {if  (length($i)<8) print $i}}'

打印第六列的和

cat 1.txt | awk '{sum+=$6} END {print sum}'

打印文件中重复行的行数

awk '{for (i=1;i<=NF;i++){print $i}}' nowcoder.txt|sort|uniq -c|sort|awk '{print $2 $1}'

uniq 比较相邻行是否重复 -c 显示重复行数 和sort结合使用  显示结果第一列为重复次数 第二列为行内容

检查文件第二列是否有重复的行,并打印重复次数

awk '{print $2}' 1.txt|sort|uniq -cd|sort -n

查找当前文件夹以及子文件夹下所有".java"结尾的文件

find ./ -name *.java

找到当前目录及其子目录中的所有文件中所有包含ERROR的行

for logfile in `find . -name "*.log*"`

do 

     echo "$logfile:" 

     sed -n '/error/=' $logfile

done

文件输出

读取log文件的crash消息,找到后输出前10行和后10行

查找文件 find -name 1.file 

打印前10行和后10行 head -n 10 1.file > 2.file    tail -n 10 1.file >2.file

 tail -n 1000:显示最后1000行

 tail -n +1000:从1000行开始显示,显示1000行以后的

 head -n 1000:显示前面1000行

cat filename | tail -n +3000 | head -n 1000   :从第3000行开始,显示1000行。即显示3000~3999行

cat filename| head -n 3000 | tail -n +1000    显示1000行到3000行

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

内存相关

Linux 的基本命令, 查端口8080的状态

netstat -ntlp|grep 8080 

  -t : 指明显示TCP端口

  -u : 指明显示UDP端口

  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

  -n : 不进行DNS轮询,显示IP(可以加速操作)

替换

把'a,b,c,'字符串中“,”换成“\n”.(awk)

 echo "a,b,c" | awk  'BEGIN{RS=","}{print $0}'

RS控制记录分隔符,用于定义换行符 指定换行符为分隔符

echo "a,b,c" | awk -F ',' '{print $1"\n"$2"\n"$3}'

-F , 指定,为列分隔符

echo "a,b,c" | awk 'BEGIN{FS=",";OFS="\n"}{print $1,$2,$3}'

FS字段分隔符

OFS输出字段分隔符

一个日志文件,找出文件里有多少ip


cat t1.log | sort | uniq -c | sort -k 1 -n -r | awk -F '//' '{print $2}'

sort -k 1表示对于每行的第一个字段进行排序,这里即指代表重复记录数的那个字段。因为sort命令的默认排序是按照ASCII,这就会导致按从大到小进行排序时,数值2会排在数值11的前面,所以需要使用-n 参数指定sort命令按照数值大小进行排序。-r 表示逆序,即按照从大到小的顺序进行排序。

合并文件a,b 至 文件c

cat a >> b 

> 覆盖写入

>> append模式写入

任务调度

crontab

查看当前用户下有哪些作业:crontab -l

添加、编辑:crontab -e

禁用:加#

常用的linux命令有哪些?

ls mkdir rm cp mv touch cat

top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

tail

tail -f 1.log 实时查看日志

tail -n 5 1.log  显示倒数5行

tail -n +5 1.log 从第5行开始显示

scp 

命令用于 Linux 之间复制文件和目录

scp /root/test.txt root@192.168.1.10:/root/  将 /root/test.txt 拷贝到 192.168.1.10 的 /root/ 目录下,文件名还是 text.txt,使用 root 用户,此时会提示输入远程 root 用户的密码。

scp -r /root/test/ root@192.168.1.10:/root/  将整个目录 /root/test/ 复制到 192.168.1.10 的 /root/ 下,即递归的复制,使用 root 用户,此时会提示输入远程 root 用户的密码

查看进程ps 查看所有进程长格式ps -ef

打印当前文件夹文件 ls -al a所有文件 l详细信息

软链接 ln -s a target 硬链接 ln

创建目录 mkdir

修改权限 chmod

查看文件:

移动文件mv 也可以重命名

复制文件cp

删除文件 rm -r 递归删除 -f删除只读文件

通配符?单个字符,*多个字符,[a-z]字符集

grep 正则搜索 显示行号-n 查询个数-c 反选-v

查看指定进程 ps -ef | grep pid

查看命令历史 history

查看磁盘空间df -hl

查看文件大小du

查找文件 find [目录] 以名字查找-name “h*”以h开头

终止一个进程 kill -9 pid

如何防止新人误操作rm -rf

找进程号为199的进程 ls -ef|grep 199

某文件中含关键词的行数 grep -c "key" ./file

该目录下以.log结尾的文件中包含关键词a但不包含关键词b的行数 grep "a" ./file | grep -cv "b"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、常用命令,如查找某进程的端口,替换文件中的内容 创建文件 vim test.sh #!/bin/bash ec...
    有猫饼233阅读 79评论 0 0
  • 命令使用求助[1] 命令名 --help 查看命令的使用方法。如:date --help 管道操作[2] -| 管...
    踩蘑菇的大叔阅读 330评论 0 0
  • chapter 2 基本概念及操作 touch filetouch为命令,可一次性创建多个文件,此为创建一个名为f...
    Tdithyrambus阅读 383评论 0 0
  • 一、Linux内外部命令的判断方式以及命令的执行流程 1、Linux命令 Linux命令分为内部命令(shell自...
    Albert_Yu阅读 930评论 0 13
  • 个人专题目录 常用基本命令 export 输出所有的环境变量。 如果你想查看某个特定变量的值,用echo $VAR...
    Java及SpringBoot阅读 534评论 0 0