`

Linux常用命令

 
阅读更多

一、Linux进程相关命令

ps -ef | grep java

pstree -p 21239查看进程21239所有的子进程和线程。

pwdx 21239查看进程21239程序命令的目录。

 

二、grep命令

1、日志查找方法,可以用通配符查某台主机上的所有服务器

grep "关键字" /wls/applogs/custom-*/error.log

 

2、grep '关键字' error.log:在error.log中搜索'关键字'

3、grep -C10 '关键字' error.log:显示关键字前后10行记录

4、grep '关键字' error.log? -10[调整此参数,至能看到具体报错原因]

 

 

三、less命令(精简)

1、less error.log:对文件或其它输出进行分页显示

2、less error.log

        / 输入关键字,从文件头往后查,按n从前往后查找下一个关键字,按N从后往前查找下一个关键字

        ? Shift+G到文件尾,输入关键字,从文件尾往前查,按n从后往前查找下一个关键字,按N从前往后查找下一个关键字

3、less -N error.log

        在显示error.log的内容时,让其显示行号

4、less -Mp '2015-06-13' error.log

        查看某一天的日志是从哪一行开始的

5、less -Mp '00:11:41' error.log

        查看error.log从00:11:41开始的日志,同时显法读取文件的百分比、行号及总行数

 

四、Linux文件内容查看命令-less (详述)

less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大;由于less的内容太多,下面把最常用的介绍一下。

 

1.less的语法格式

less [参数] 文件

常用参数

-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;

-f 强制打开文件,二进制文件显示时,不提示警告;

-i 搜索时忽略大小写;除非搜索串中包含大写字母;

-I 搜索时忽略大小写,除非搜索串中包含小写字母;

-m 显示读取文件的百分比;

-M 显法读取文件的百分比、行号及总行数;

-N 在每行前输出行号;

-p  pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile

-s 把连续多个空白行作为一个空白行显示;

-Q 在终端下不响铃。

 

2.less的动作命令

        进入less后,我们得学几个动作,这样更方便 我们查阅文件内容。

回车键 向下移动一行;

y 向上移动一行;

空格键 向下滚动一屏;

b 向上滚动一屏;

d 向下滚动半屏;

h less的帮助;

u 向上洋动半屏;

w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;

g 跳到第一行;

G 跳到最后一行;

p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;

/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;

v 调用vi编辑器;

q 退出less

n 下一关键字

N 反向下一关键字

!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件

 

五、cat 命令的用法

这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

建议大家掌握这个常用的linux命令,在显示文件内容或结合wc命令统计文件行数时,经常用得到。

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

 

命令参数:

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

 

代码示例:

1、cat log2012.log

2、cat -n log2012.log log2013.log

把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里

3、cat -b log2012.log log2013.log log.log

把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。

4、cat -n log2012.log > log.log

把 log2012.log 的文件内容加上行号后输入 log.log 这个文件里

 

 

六、AWK 简明教程

1、起步上台:

我从netstat命令中提取了如下信息作为用例:

$ cat netstat.txt

 

下面是最简单最常用的awk示例,其输出第1列和第4例,

#其中单引号中的被大括号括着的就是awk的语句,注意,其只能被单引号包含。

#其中的$1..$n表示第几例。注:$0表示整个行。

 

$ awk '{print $1, $4}' netstat.txt

 

我们再来看看awk的格式化输出,和C语言的printf没什么两样:

$ awk '{printf "%-8s %-8s %-8s %-18s %-22s %-15s\n",$1,$2,$3,$4,$5,$6}' netstat.txt

 

 

2、脱掉外套

过滤记录

我们再来看看如何过滤记录(下面过滤条件为:第三列的值为0 && 第6列的值为LISTEN)

$ awk '$3==0 && $6=="LISTEN" ' netstat.txt

 

其中的“==”为比较运算符。其他比较运算符:!=, >, <, >=, <=

 

我们来看看各种过滤记录的方式:

$ awk ' $3>0 {print $0}' netstat.txt

 

如果我们需要表头的话,我们可以引入内建变量NR:

$ awk '$3==0 && $6=="LISTEN" || NR==1 ' netstat.txt

 

再加上格式化输出:

$ awk '$3==0 && $6=="LISTEN" || NR==1 {printf "%-20s %-20s %s\n",$4,$5,$6}' netstat.txt

 

内建变量

说到了内建变量,我们可以来看看awk的一些内建变量:

$0 当前记录(这个变量中存放着整个行的内容)

$1~$n 当前记录的第n个字段,字段间由FS分隔

FS 输入字段分隔符 默认是空格或Tab

NF 当前记录中的字段个数,就是有多少列

NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。

 

怎么使用呢,比如:我们如果要输出行号:

$ awk '$3==0 && $6=="ESTABLISHED" || NR==1 {printf "%02s %s %-20s %-20s %s\n",NR, FNR, $4,$5,$6}' netstat.txt

 

指定分隔符

$  awk  'BEGIN{FS=":"} {print $1,$3,$6}' /etc/passwd

上面的命令也等价于:(-F的意思就是指定分隔符)

$ awk  -F: '{print $1,$3,$6}' /etc/passwd

注:如果你要指定多个分隔符,你可以这样来:

awk -F '[;:]'

 

再来看一个以\t作为分隔符输出的例子(下面使用了/etc/passwd文件,这个文件是以:分隔的):

$ awk  -F: '{print $1,$3,$6}' OFS="\t" /etc/passwd

 

3、脱掉衬衫

字符串匹配

我们再来看几个字符串匹配的示例:

$ awk '$6 ~ /FIN/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

$ awk '$6 ~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

 

上面的第一个示例匹配FIN状态, 第二个示例匹配WAIT字样的状态。其实 ~ 表示模式开始。/ /中是模式。这就是一个正则表达式的匹配。

 

其实awk可以像grep一样的去匹配第一行,就像这样:

$ awk '/LISTEN/' netstat.txt

 

我们可以使用 “/FIN|TIME/” 来匹配 FIN 或者 TIME :

$ awk '$6 ~ /FIN|TIME/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

 

再来看看模式取反的例子:

$ awk '$6 !~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

或是:

$ awk '!/WAIT/' netstat.txt

 

折分文件

awk拆分文件很简单,使用重定向就好了。下面这个例子,是按第6例分隔文件,相当的简单(其中的NR!=1表示不处理表头)。

 

$ awk 'NR!=1{print > $6}' netstat.txt

 

你也可以把指定的列输出到文件:

$ awk 'NR!=1{print $4,$5 > $6}' netstat.txt

 

统计

下面的命令计算所有的C文件,CPP文件和H文件的文件大小总和。

$ ls -l  *.cpp *.c *.h | awk '{sum+=$5} END {print sum}'

 

几个花活

最后,我们再来看几个小例子:

#从file文件中找出长度大于80的行

awk 'length>80' file

 

#按连接数查看客户端IP

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

 

#打印99乘法表

seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}'

 

分享到:
评论

相关推荐

    linux常用命令大全.pdf

    ### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。 - `-l`:使用长格式列表输出,包括文件权限、拥有者、组、大小等详细...

    最全Linux常用命令大全.pdf

    以下是一些关于Linux常用命令的详细说明: 1. **pwd**:`pwd`(Print Working Directory)命令用于显示当前工作目录,即用户当前所在的目录路径。 2. **cd**:`cd`命令用于切换目录。例如,`cd /`进入根目录,`cd ...

    LINUX常用命令全集

    LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 LINUX常用命令全集 ...

    最全Linux常用命令大全-linux常用命令全集

    "最全Linux常用命令大全-linux常用命令全集" 本文档对 Linux 中最常用的命令进行了详细的总结和说明,涵盖了文件和目录管理、磁盘空间管理等方面的命令。 文件和目录管理命令 1. `pwd` 命令:显示当前目录 `pwd`...

    Linux常用命令手册大全.zip

    Linux常用命令手册大全.zip 部分内容: Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列...

    Linux常用命令详解.pdf

    ### Linux常用命令详解知识点 #### 一、命令格式与通配符 - **命令格式**: - **命令**:指定要执行的操作。 - **选项**:改变命令的行为方式,通常以`-`开头,多个选项可以用空格或直接连接的方式给出。 - **...

    linux常用命令大全.md

    linux常用命令大全 1. **ls**:列出目录内容 2. **cd**:改变当前目录 3. **pwd**:显示当前工作目录 4. **mkdir**:创建目录 5. **rmdir**:删除空目录 6. **cp**:复制文件或目录 7. **mv**:移动或重命名文件或...

    Linux常用命令教学视频

    04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...

    最新-Linux常用命令大全-非常实用

    Linux 常用命令大全 Linux 操作系统是一个功能强大且灵活的操作系统,拥有众多实用的命令来帮助用户管理和维护系统。下面是 Linux 中一些常用的命令,旨在帮助用户快速掌握 Linux 操作系统。 TTY 控制台终端 在 ...

    Linux常用命令汇总

    Linux常用命令汇总中,首先涉及到的是检查Java开发工具包(JDK)是否已安装以及版本信息。使用命令`java –version`和`javac –version`可以实现该功能。`java –version`用于查看Java运行环境的版本,而`javac –...

    LINUX常用命令语言

    LINUX 常用命令语言总结 LINUX 操作系统提供了大量的命令语言,以下是常用的命令语言概述: 1. 远程桌面连接命令:mstsc mstsc 是一种远程桌面连接命令,可以连接到另一台计算机,并在远程桌面上进行操作。 2. ...

    Linux常用命令.xls

    Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls Linux常用命令.xls ...

    Linux常用命令.md

    linux常用命令md文件

    Linux常用命令大全

    Linux常用命令全集.CHM Linux vi命令大全.txt liunx命令大全.txt liunx 下如何用命令行设置网络?.txt 请问怎么设置DNS的命令?.txt Red Hat Linux下配置Tomcat+JSP+Apache服务器的步骤.txt Linux 下 Apache 与 ...

    Linux 常用命令大全

    linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; linux常用命令大全; ...

    Linux常用命令及实用命令万字总结.doc

    "Linux常用命令及实用命令万字总结" 本文档旨在总结Linux系统中常用的命令和实用命令,涵盖了基本的文件管理、目录操作、文件查询、系统管理等方面的命令。 1. ls命令 ls命令是Linux系统中最常用的命令之一,用于...

    常用linux常用命令大全.zip

    linux常用命令大全常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用linux常用命令大全.常用...

Global site tag (gtag.js) - Google Analytics