linux的命令操作记录
1.一些不常用的命令:
#______________查询系统安全/账号信息____________________________ #查找登录系统失败的20个账号 lastb | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 20 #定位有多少IP在爆破主机的root帐号 grep "Failed password for root" /var/log/secure | sort | uniq -c | sort -nr | more #查看所有重启日志信息 last reboot #查看哪些IP在爆破 grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c #查看哪些IP登录成功了 grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more #登录成功的日期,用户名,IP gerp "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}' #查找远程可以登录的账户 awk '/\$1|\$5|\$6/{print $1}' /etc/shadow #_______________查询系统记录相关__________________________________ #显示最近10个登录信 last -n 10 #查询2018年11月24日12时12分12秒之前的登录记录 last -t 20181124121212 #查看系统正常的运行时间 uptime -s #___________________系统进程/日志_________________________________ #通过某个进程号显示该进程打开的文件 lsof -p 12345 #查看所有TCP/UDP链接 lsof -i tcp #查看某个端口被占用情况 lsof -i :6379 #查看某个进程的运行时间 ps -p 3306 -o etimes,etime #动态实时查看日志 tail -f rumenz.log #如果想在日志中出现 Failed 等信息时立刻停止 tail 监控 tail -f rumenz.log | sed '/Failed/ q'
http://t.zoukankan.com/EasonJim-p-6803375.html ......ps查看进程的路径(进程所在路径)
2.文件匹配:
#__________去掉文件中空行-四中方式_____________ grep -v '^$' rumenz.txt sed '/^$/d' rumenz.txt cat rumenz.txt | tr -s '\n' awk '!/^$/' rumenz.txt #________________文件匹配______________________ #显示查找到的总行数 grep -c "rumenz" 1.txt #从多个文件查找指定字符串 grep "rumenz" *.html #打印匹配行的前5行 grep -B 5 'rumenz' 1.txt #模糊匹配 grep "abc" 1.txt //结果为abcd, abcde, abc等 #精确匹配 grep -w "abc" 1.txt #同时匹配多个字符串 cat 1.txt | grep -e "ab" -e "ef" -o #统计文件中包含字符串的次数 grep -o '字符串' 文件名 |wc -l #查询文件中字符串,用颜色区分并显示行号 grep -n "字符串" 文件名 #统计文件中-包含多个字符串的次数 grep -o "字符串1\|字符串2" chen.txt |wc -l #统计文件中包含字符串有多少行 more 文件名 |grep '字符串'|wc -l #查看文件有多少行,,-c统计文件字节wc -l 文件 grep '字符串' -n 文件名|wc -l #统计文件的行数 wc -l 文件名
3.目录结构查询:
#以树状结构显示目录 tree #列出当前目录文件夹node_modules的目录结构(只是目录而已) tree -P node_modules #显示目录node_modules两层的目录树结构 tree -P node_modules -L 2 #当前目录结果存到a.txt文件中 tree -L 2 >/tmp/a.txt #只显示目录 tree -d . #用颜色区分文件类型 tree -C .
4.简单使用字符截取:
# 使用简单的字符截取 str=abcdefjhigklmnopqrstuvwmnoxyz echo ${str%mno*} # 截取从字符串右边数第一个mno字符串前面所有字符。 echo ${str%%mno*} # 截取从字符串右边数最后一个mno字符串前面所有字符 echo ${str#*mno} # 截取从左向右数第一个mno字符串后所有字符 echo ${str##*mno} # 截取从左向右数最后一个mno字符串后的所有字符 echo ${str:5} # 截掉变量str左边数五个字符,保留第六个字符后面所有字符 echo ${str:5:1} # 截掉变量str左边数五个字符,保留一个字符,即截取第六个字符 echo ${#str} # 计算变量str字符数 echo ${str/n/czh} # 替换变量str左数第一个字符n为字符串czh echo ${str//n/czh} # 替换变量str所有字符n为字符串czh
5.资源相关:
#______________________top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况 #显示进程资源 top #可以使用一下命令查使用内存最多的5个进程 ps -aux | sort -k4nr | head -5 或者 top (然后按下M,注意大写) #查看某进程的资源 top | grep 进程pid
6.资源占用top:
#查询CPU占用前十名查看cpu ps auxw|head -1;ps -auxf|sort -nr -k3|head -10 #查询内存占用前十名查看cpu ps auxw|head -1;ps -auxf|sort -nr -k4|head -10 #查看指定目录中 占用最大5个文件或子目录 ls -lSh /usr/local/ | head -5 #比如,查找/etc目录下最大的5个文件: find /etc -type f -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh #查询root目录下大于200M的文件 find /root/ -type f -size +200M | xargs ls -Slh #查询根目录下100M和200M之间的文件 find / -type f -size +100M -size +200M | xargs ls -Slh #查询目录占用磁盘大小(首先到根目录运行命令查询哪个目录占用磁盘空间大) du -h --max-depth=1 |grep G|sort -n
7.常用命令
###########################ls命令####################### #以人类可读的格式显示文件大小 ll -lh #列出/tmp/wrk目录下的所有子目录。 ls -d /tmp/wrk/*/ #列出/tmp/wrk目录下、包含chen123文件和目录 ls -d /tmp/wrk/*chen123* ###########################find命令##################### #查找目录名包含特定字符串的目录(/tmp为目录) find /tmp -type d -name "localhost" #查找在过去 7 天内修改过的目录(/tmp为目录) find /tmp -type d -mtime -7 ##########################tree命令###################### #列出目录结构 tree -d #只显示目录 不显示文件(去掉-d显示文件和目录) #列出目录结构只显示到二级目录(-f表示显示路径, -L显示到目录的层级) tree -d -L 2 -f #列出到二级目录,并过滤掉.txt结尾的文件 tree -L 2 -I "*.txt" #########################grep命令###################### #显示文件包含hello的所有行 grep "hello" file.txt #显示文件包含hello的所有行,同时显示行 grep -n "hello" file.txt #统计包含echo的行数 grep -c "echo" jmetertest.sh #显示文件包含hello的所有行,忽略大小写 grep -i "echo" jmetertest.sh #显示关键词所在行,及其后3行(-B表示后,-A表示前) cat fruit.txt | grep 关键词 -A 3 #显示关键词所在行,及前后3行 cat fruit.txt | grep 关键词 -C 3 #################vim下的常用命令########################## ##命令模式-主页: i #切换到输入模式 x #删除当前光标所在处的字符 dd #删除光标那一行 o #在光标上面插入一行(0在光标下面插入一行) Home/End #光标最左侧或最右侧 Page Up/Page Down #光标上下翻页 H #光标移动当前屏顶部(M移动到中间、L移动到底部) gg 光标移动到文档首行 G 光标移动到文档尾行 : #切换到编辑模式 ##编辑模式 :set nu #显示行号 :set nonu #先行号显示 :wq #保存并退出vim编辑器(:wq!强制保存、 :w保存但是不退出) :q! #不保存退出(ZZ直接退出编辑器) :5,$d #删除第5行后的数据( :2,5d 删除2到5行的数据 )
##编辑模式下、查找文本与替换 :/abc #查询abc(n切换下一个、N切换上一个) :/^abc #查找以 abc 为行首的行 :/abc$ #查找以 abc 为行尾的行 :%s/abc/test/g #把文件内所有abc替换成test :5,10s/abc/test/g #替换指定范围(从5行到10行把abc替换为test)
8.磁盘相关
#查询磁盘情况 df -h ...............查看linux系统磁盘使用情况 df -h /var ...........查看某个目录的磁盘空间 #显示var目录下所有子目录,而不显示其子目录的详细信息(不加s就显示子目录下的信息) du -sh /var/* du -h /var/* #按照文件夹大小排序,查找该目录下前 10 的文件夹 du -h /var | sort -rh | head -n 10 #查看最大的 10 个文件 find / -type f -exec du -h {} + | sort -h | tail -n 10 #查看最大的 10 个目录 du -h --max-depth=1 / | sort -h | tail -n 11 | head -n 10 #查看每个目录占用的空间 du -sh /* | sort -h #找出大文件(大于100MB) find /var -type f -size +100M #清理临时文件 sudo rm -rf /tmp/* #查找根目录下超过 1GB 的大文件 find / -type f -size +1G 2>/dev/null
相关连接:
https://mp.weixin.qq.com/s?__biz=MzA3ODA3MjAxNg==&mid= ................................linux去除空格的几种方法,,常用命令
https://www.cnblogs.com/feng18/p/9544559.html ......................................................解决系统中大量的TIME_WAIT连接( time_wait表示系统在等待客户端的相应,是正常的。一段时间后它会自动转换到另一状态,或结束。)
https://blog.csdn.net/weixin_36343850/article/details/77856051 ..............................在Linux下检查内存泄露
https://blog.csdn.net/weixin_39506322/article/de ...................................................free 查询可用内存和判断是否有内存泄漏(实用总体)
https://blog.csdn.net/qq_43494013/article/details/124796422 ................................CentOS7中使用ifconfig无法看到自己网卡
https://blog.csdn.net/wwwwestcn/article/details/124292841 ...................................宝塔面板命令行帮助教程(包含重置密码)
https://segmentfault.com/a/1190000039693252 ......................................................yum快速安装jdk
浙公网安备 33010602011771号