Linux常用命令总结

简介: Linux常用命令指南@Date 2017.05.23tail# 实时监听文件写入模式tail -f jvm.log# 查看文件倒数100行内容tail -100 jvm.

Linux常用命令指南

@Date 2017.05.23

tail

# 实时监听文件写入模式
tail -f jvm.log
# 查看文件倒数100行内容
tail -100 jvm.log
# 查看文件倒数100行内容 并 实时监听文件写入
tail -100f jvm.log

awk

  • awk ' pattern {action} '
  • 默认以空格切分
# 在jvm.log日志中搜索匹配com.test.java的行
awk '/com.test.java/' jvm.log
# 在jvm.log日志中搜索不匹配com.test.java的行
awk '!/com.test.java/' jvm.log
# 在jvm.log日志中搜索全匹配com.test.java 和 com.test2.java的行
awk '/com.test.java/ && /com.test2.java/' jvm.log
# 在jvm.log日志中,指定列(第一列)匹配com.test.java的行
awk '$1 ~ /com.test.java/' jvm.log
# NR(Number of Record) 输出行的行数(默认是换行符,所以是行数)
# NF(Number of Field) 当前行记录里域个数(横向切分的个数)
# 输出本行第一个和最后一个数据
awk '{print NR,NF,$1,$NF}' jvm.log     
# 输出的时候没有逗号间隔,则输出结果没有分割,是紧挨着的
awk '{print $1 $2}' jvm.log     
# -F 自定义指定分隔符
awk -F: jvm.log     
# RS 输入记录分隔符
# BEGIN 表示在处理任意行之前进行的操作
# END 表示在所有输入行处理完后进行处理
# NF(Number of Field) 当前行记录里域个数(横向切分的个数)
cat jvm.log  | grep -v "result" | awk  'BEGIN{RS="2017/05/23"} { split($NF,a,"m"); if(a[1]>1000) {print $0;} } END{}'
# 统计访问前X(10)的IP地址

awk '{print $1}' |sort|uniq -c|sort -nr |head -10 access_log

grep

# 文件查找
grep 'test' jvm.log
# 多文件查找
grep 'test' jvm.log gc.log 
# 在指定目录下查找所有符合关键字的文件
grep 'test' /home/admin/ -r -n
# -i 不区分大小写查找(默认区分大小写grep)
grep -i 'pattern1' jvm.log
# 匹配行向上匹配x
grep 'test' -A x

# 匹配行向下匹配x
grep 'test' -B x

# 匹配行上下匹配x
grep 'test' -C x
# grep 中OR 匹配
# \| : 注意转义
grep 'pattern1\|pattern2' jvm.log

# -E 选项可以用来扩展选项为正则表达式
# 使用-E时,可以直接使用 | 表达OR 
# egrep = grep -E
grep -E 'pattern1|pattern2' jvm
egrep 'pattern1|pattern2' jvm
# -v 可以实现 NOT 操作
grep -v 'pattern1' jvm.log

find

# 在多个目录下查找文件
find /home/admin/ /temp /etc -name \*.log
# 查找指定大小的文件
# 大于100k的文件
find /home/admin -size +100k

# 小于100k的文件
find /home/admin -size -100k

uniq

# 默认去重
uniq -c

netstat

# 查看网络链接并输出状态
netstat -nat|awk  '{print $6}'|sort|uniq -c|sort -rn 

top

# 显示PID对应的所有线程占用资源
top -Hp pid

printf

# 输出TID(线程ID)对应的十六进制表示
printf "%x" TID

date

# UNIX的时间戳
date +%s
# 标准时间 -> UNIX时间戳
date -d "2017-06-19 00:00:00" +%s 
date -d "2017/06/19 00:00:00" +%s
# UNIX时间戳 -> 标准时间
date -d @1497801600  "+%Y-%m-%d"
date -d @1497801600  "+%Y/%m/%d"

sed

# 统计一段时间内的日志
sed -n '/2017-07-16 12:30:00/,/2017-07-16 16:00:00/p' info.log

pmap

# 查看进程的内存占用
pmap -d pid

curl

# 查看请求的耗时时间
curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "域名"
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1116 1
二、Linux文本处理与文件操作核心命令
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
816 137
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
1352 143
linux命令—tree
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1777 58
|
12月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1718 2
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
962 16
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
1114 0
Linux内存问题排查命令详解
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
1928 13
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
2256 21
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。