网站首页 > 文章中心 > 其它

linux统计命令n_统计文件行数的Linux命令

作者:小编 更新时间:2023-09-28 13:38:10 浏览量:300人看过

Linux命令

命令格式: 命令 [-选项] [参数]

如:ls -la /usr

**说明: **

大部分命令遵从该格式

多个选项时,可以一起写 eg:ls –l –a à ls –la

简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a

作用:切换用户身份

语法:su [选项] 用户名

-c 仅执行一次命令,而不切换用户身份

$ su – root

env

$ su – root –c "useradd longjing"

文件或目录的CRUD

英文:change directory 命令路径:内部命令 执行权限:所有用户

作用: 切换目录

语法:cd [目录] / 切换到根目录

.. 回到上一级目录

. 当前目录

~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)

英文:list 命令路径:/bin/ls 执行权限:所有用户

作用:显示目录文件

语法:ls [-alrRd] [文件或目录]

-a all 显示所有文件,注意隐藏文件,特殊目录.和..

-l(long) 显示详细信息

-R(recursive) 递归显示当前目录下所有目录

-r (reverse) 逆序排序

-t(time) 按修改时间排序(降序)

英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户

作用:显示当前工作目录

语法:pwd [-LP]

-L 显示链接路径,当前路径,默认

-P 物理路径

eg:# cd /etc/init.d

英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户

作用:创建新目录

语法:mkdir [-p] 目录名

-p 父目录不存在情况下先生成父目录 (parents)

eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录.

命令路径:/bin/touch 执行权限:所有用户

作用:创建空文件或更新已存在文件的时间

语法:touch 文件名

eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件

创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号

注意:生产环境中,文件名,一定不要加空格

英文:copy 命令路径:/bin/cp 执行权限:所有用户

作用:复制文件或目录

语法:cp [–rp] 源文件或目录 目的目录

-r -R recursive 递归处理,复制目录

-p 保留文件属性 (原文件的时间不变)

eg:

①.,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/

英文:move 命令路径:/bin/mv 执行权限:所有用户

作用:移动文件或目录、文件或目录改名

语法:mv 源文件或目录 目的目录

英文:remove 命令路径:/bin/rm 执行权限:所有用户

作用:删除文件

语法: rm [-rf] 文件或目录

-r (recursive)删除目录,同时删除该目录下的所有文件

-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认

注意:工作中,谨慎使用rm –rf 命令.

扩展点 :删除乱码文件

一些文件乱码后使用rm -rf 依然无法删除

此时,使用ll -i 查找到文件的inode节点

然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;

就能顺利删除了

英文:concatenate 命令路径:/bin/cat 执行权限:所有用户

作用:显示文件内容

语法:cat [-n] [文件名]

-n 显示行号

eg:cat /etc/services

命令路径:/bin/more 执行权限:所有用户

作用:分页显示文件内容

语法:more [文件名]

空格或f 显示下一页

Enter键 显示下一行

q或Q 退出

命令路径:/usr/bin/head 执行权限:所有用户

作用:查看文件前几行(默认10行)

语法:head [文件名]

-n 指定行数

命令路径:/usr/bin/tail 执行权限:所有用户

作用:查看文件的后几行

语法:tail [文件名]

-f (follow) 动态显示文件内容

获取一个大文件的部分文件,可使用head或tail命令

head -n 100 /etc/services config.log

英文: link 命令路径:/bin/ln 执行权限:所有用户

作用:产生链接文件

语法:

ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径

ln [源文件] [目标文件] 创建硬链接

eg:ln -s /etc/service ./service.soft

创建文件/etc/service的软链接service.soft

eg:/etc/service /service.hard

创建文件/etc/service的硬链接/service.hard

软连接类似于windows下的快捷方式

软连接文件格式:

①. 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接.

格式解析(特征):

①., 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx

真正的权限取决于对源文件的权限

时间值为创建软连接的时间

软连接可以跨文件系统生成

硬链接特征

①.,相当于 cp -p ◆同步更新

删除软连接

rm -rf symbolic_name

英文:manual 命令路径:/usr/bin/man 执行权限:所有用户

作用:获取命令或配置文件的帮助信息

语法:man [命令/配置文件]

eg:man ls man services

(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)

调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出.

使用/加上关键的参数可直接定位搜索, n 查找下一个,shift◆n 查找上一个

eg: /-l 直接查看-l的介绍

help 查看shell内置命令的帮助信息

eg:help cd

内置命令,使用whereis,which,man都不能查看

type 命令 查看内部命令还是外部命令

命令名 --help 列举该命令的常用选项

eg: cp --help

命令路径:/bin/find 执行权限:所有用户

作用:查找文件或目录

语法:find [搜索路径] [匹配条件]

如果没有指定搜索路径,默认从当前目录查找

find命令选项

-name 按名称查找 精准查找

eg:find /etc -name "init" 在目录/etc中查找文件init

-iname 按名称查找

find查找中的字符匹配:

*:匹配所有

:匹配单个字符

eg:find /etc -name "init?" 在目录/etc中查找以init开头的,且后面有三位的文件

模糊匹配的条件,建议使用单引号或双引号括起来.如果*被转义,可使用 单双引号括住查询条件,或者使用*.

eg: # find . –name *g

-size ****按文件大小查找

**-type ** 按文件类型查找

f 二进制文件l 软连接文件 d 目录 c 字符文件

eg: find /dev -type c

find****查找的基本原则 :

占用最少的系统资源,即查询范围最小,查询条件最精准

eg:

如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/

命令路径:/bin/grep 执行权限:所有用户

作用:在文件中搜寻字串匹配的行并输出

语法:grep [-cinv] '搜寻字符串' filename

选项与参数:

-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)

-i :忽略大小写,所以大小写视为相同

-n :显示匹配行及行号

-v :反向选择,显示不包含匹配文本的所有行.

eg:grep ftp /etc/services

eg:#grep -v ^# /etc/inittab 去掉文件行首的#号

eg:# grep -n "init"/etc/inittab 显示在inittab文件中,init匹配行及行号

eg:# grep -c"init"/etc/inittab 显示在inittab文件中,init匹配了多少次

命令路径:/usr/bin/which 执行权限:所有用户

作用: 显示系统命令所在目录(绝对路径及别名)

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

alias ls='ls --color=auto'

/bin/ls

/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

命令路径:/usr/bin/whereis 执行权限:所有用户

作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **

eg: which passwd 和 whereis passwd

英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户

作用:压缩(解压)文件,压缩文件后缀为.gz

gzip只能压缩文件,不能压缩目录;不保留原文件

语法:gzip 文件

-d将压缩文件解压(decompress)

解压使用gzip –d或者 gunzip

-k:产生压缩文件后保留原文件(压缩比高)

-d 解压缩的参数(decompress)

命令路径:/usr/bin/zip 执行权限:所有用户

作用: 压缩(解压)文件,压缩文件后缀为.zip

语法:zip 选项[-r] [压缩后文件名称] [文件或目录]

-r压缩目录

eg:zip services.zip /etc/services 压缩文件;

zip -r test.zip /test 压缩目录

如果不加-r选项,压缩后的文件没有数据.

解压使用unzip

命令路径:/bin/tar 执行权限:所有用户

作用:文件、目录打(解)包

语法:tar [-zcf] 压缩后文件名 文件或目录

-c 建立一个压缩文件的参数指令(create),后缀是.tar

-x 解开一个压缩文件的参数指令(extract)

-z 以gzip命令压缩/解压缩

-v 压缩的过程中显示文件(verbose)

-f file 指定文件名,必选项

①., 单独的打包 ,解包 tar –cf tar –xf

tar -cf -xf 单独 压缩 解压缩

tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)

eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz

eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar

eg: tar -xvf bak.tar 解压

eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz

eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)

最常用: tar ◆ gzip

tar –zcvf 压缩

tar –zxvf 解压

补充:

①.,文件路径, 压缩包带文件路径

**shutdown **[选项] 时间

选项: -c: 取消前一个关机命令

-h:关机

-r:重启

其他关机命令 halt poweroff init 0

其他重启命令

**reboot **重启系统 reboot -h now立即重启

注意:生产环境中,关机命令和重启命令谨慎执行.

善于查看man help等帮助文档

利用好Tab键 自动补全

掌握好一些快捷键

ctrl ◆ c(停止当前进程)

ctrl ◆ z 挂起当前进程,放后台

ctrl ◆ r(查看命令历史) history

ctrl ◆ l(清屏,与clear命令作用相同)

方向箭头 上 下 可以查看执行过的命令

ctrl ◆ a 行首 ctrl ◆ e 行尾

ctrl ◆ k 清除 ctrl◆ w 清除单词

只有命令,没有菜单.

周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧.半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!

:

命令模式:又称一般模式

|

命令

作用

a

在光标后附加文本

A(shift ◆ a)

在本行行末附加文本 行尾

i

在光标前插入文本

I(shift◆i)

在本行开始插入文本 行首

o

在光标下插入新行

O(shift◆o)

在光标上插入新行

:set nu

设置行号

:set nonu

取消行号

gg

G

到第一行

到最后一行

nG

到第n行

:n

:w

保存修改

:w new_filename

另存为指定文件

:w a.txt

内容追加到a.txt文件中 文件需存在

:wq

保存修改并退出

shift◆zz(ZZ)

快捷键,保存修改并退出

:q!

不保存修改退出

:wq!

保存修改并退出(文件所有者可忽略文件的只读属性)

不保存并退出:

①., 有修改,但是修改后的内容是不保存的

x

删除光标所在处字符 nx 删除光标所在处后n个字符

dd

删除光标所在行,ndd删除n行

dG

删除光标所在行到末尾的内容

D

删除从光标所在处到行尾

yy、Y

复制当前行

nyy、nY

复制当前行以下n行

剪切当前行

ndd

剪切当前行以下n行

p、P

粘贴在当前光标所在行下 或行上

r

取代光标所在处字符

R(shift ◆ r)

从光标所在处开始替换字符,按Esc结束

u

undo,取消上一步操作

ctrl◆r

redo,返回到undo之前

/string

向后搜索指定字符串 搜索时忽略大小写 :set ic

string

向前搜索指定字符串

n

搜索字符串的下一个出现位置,与搜索顺序相同

N(Shift ◆ n)

搜索字符串的上一个出现位置,与搜索顺序相反

:%s/old/new/g

全文替换指定字符串

在一定范围内替换指定字符串

% 指全文,s 指开始,g 指全局替换

使用替换命令来添加删除注释

:% s/^/#/g 来在全部内容的行首添加 # 号注释

:1,10 s/^/#/g 在1~10 行首添加 # 号注释

vi里面怎么查命令?

:!which cp

vi里面怎么导入命令的结果?

:r !which cp

v 可视字符模式

V****(shift◆v) 可视行模式,选择多行操作

**ctrl◆v **可视块模式(列模式),操作列

I或者O进入插入模式.

①.,图形化界面

vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static

ONBOOT=yes

重启网络生效:

service network restart

命令路径:/bin/ping 执行权限:所有用户

作用:测试网络的连通性

语法:ping 选项 IP地址

-c 指定发送次数

ping 命令使用的是icmp协议,不占用端口

英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root

作用:查看和设置网卡网络配置

语法:ifconfig [-a] [网卡设备标识]

-a:显示所有网卡信息

ifconfig [网卡设备标识] IP地址 修改ip地址

英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户

作用:主要用于检测主机的网络配置和状况

-a all显示所有连接和监听端口

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 使用数字方式显示地址和端口号

-l (listening) 显示监控中的服务器的socket

eg:# netstat -tlnu 查看本机监听的端口

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口

netstat –antpl

临时生效:

hostname 主机名

永久生效:修改配置文件

vi /etc/sysconfig/network

修改主机名和ip地址之间的映射关系

vi /etc/hosts

可配置别名

进程和程序的区别:

①.、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的.

进程和线程的区别:

进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源.

线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程.

进程管理的作用?

判断服务器的健康状态

查看系统所有的进程

杀死进程

作用:查看系统中的进程信息

语法:ps [-auxle]

常用选项

查看系统中所有进程

ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息

作用: 查看当前进程树

语法:pstree [选项]

-p 显示进程PID

-u 显示进程的所属用户

作用:查看系统健康状态

显示当前系统中耗费资源最多的进程,以及系统的一些负载情况.

语法:top [选项]

作用:关闭进程

语法:kill [-选项] pId

kill -1 进程号(重启进程)

添加用户

语法:useradd [选项] 用户名

修改密码命令

语法:passwd [选项] [用户名]

删除用户

-r 删除账号时同时删除宿主目录(remove)

作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息.看剩余空间

语法:df [-hkam] [挂载点]

-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k  以KB 为单位显示各分区的信息,默认

-M 以MB为单位显示信息 -a  显示所有分区包括大小为0 的分区

作用:用于查看文件或目录的大小(磁盘使用空间)

语法:du [-abhs] [文件名目录]

-a 显示子文件的大小

-h以易读的方式显示 KB,MB,GB等

-s summarize 统计总占有量

du -a(all) /home  显示/home 目录下每个子文件的大小,默认单位为kb

du -b /home  以bytes为单位显示/home 目录下各个子目录的大小

du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小

du -sh /home  以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize

df命令和du命令的区别:

df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间.

du命令面向文件,只计算文件或目录占用的空间.

作用:查看内存及交换空间使用状态

语法: free [-kmg]

选项:

-k: 以KB为单位显示,默认就是以KB为单位显示

-m: 以MB为单位显示

-g: 以GB为单位显示

清理缓存命令:

echo 1 /proc/sys/vm/drop_caches

Linux常见日志统计分析命令

在上文中,我们已经详细介绍 linux 三剑客的基本使用,此时此刻呢我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析.

server.xml 使用配置方式,%D-请求时间,%F-响应时间

字段说明如下:

日志样例:

使用默认 combined 的经典格式上扩展 response_timeupstream_response_time

nginx.conf 使用配置方式:

日志示例:

为了能理解 AWK 程序,我们下面概述其基本知识.

此处使用Nginx access.log 举例,Tomcat 日志自己举一反三. 使用 awk 分解出Nginx access日志中的信息

以此类推...... 当我们使用默认的域分割符时,我们可以从日志中解析出下面不同类型的信息:

我们不难发现,仅使用默认的域分隔符,不方便解析出请求行、引用页和浏览器类型等其他信息,因为这些信息之中包含不确定个数的空格. 所以呢,我们需要把域分隔符修改为 " ,就能够轻松读出这些信息.

注意:这里为了避免 Linux Shell 误解 " 为字符串开始,我们使用了反斜杠,转义了 " . 现在,我们已经掌握了 awk 的基本知识,以及它是怎样解析日志的.

此处使用Nginx access.log 举例,Tomcat 日志自己举一反三.

如果我们想知道那些类型的浏览器访问过网站,并按出现的次数倒序排列,我可以使用下面的命令:

此命令行首先解析出浏览器域,然后使用管道将输出作为第一个 sort 命令的输入.第一个 sort 命令主要是为了方便 uniq 命令统计出不同浏览器出现的次数.最后一个 sort 命令将把之前的统计结果倒序排列并输出.

我们可以使用下面的命令行,统计服务器返回的状态码,发现系统可能存在的问题.

HTTP 协议状态码定义可以参阅:

有时候会发现其他网站出于某种原因,在他们的网站上使用保存在自己网站上的图片.如果您想知道究竟是谁未经授权使用自己网站上的图片,我们可以使用下面的命令:

注意:使用前,将 修改为自己网站的域名.

统计共有多少个不同的 IP 访问:

统计每一个 IP 访问了多少个页面:

将每个 IP 访问的页面数进行从小到大排序:

统计访问最多的前十个 IP 地址

查看某一个 IP访问了哪些页面:

统计某个 IP 的详细访问情况,按访问频率排序

列出传输大小最大的几个文件

列出访问最频的页面(TOP100)

列出访问最频的页面([排除php页面】(TOP100)

列出页面访问次数超过100次的页面

列出最近1000条记录,访问量最高的页面

统计每分钟的请求数,top100的时间点(精确到分钟)

统计每小时的请求数,top100的时间点(精确到小时)

统计每秒的请求数,top100的时间点(精确到秒)

统计当天的 pv

说明:

注意:NF 是当前记录中域的个数.$NF 即最后一个域.

统计蜘蛛抓取次数

通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处.在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说"只有想不到的,没有它做不到的".

Linux文本操作常用命令

在Linux系统里常用于文本查看、操作、统计的命令:

通过多敲键盘,形成手感 肌肉记忆 ,熟练掌握这些命令,在以后生信分析中游刃有余.以下是每个命令的详细的介绍(主要是跟着 生信技能树小郭老师 学习做的笔记)

此时此刻呢通过示例把10个命令的常用参数和用法展示出来:

参数的用法介绍:

注意事项:

zcat可以查看压缩的文本文件,tac逆向查看

结合 管道符| 使用

less命令用得最多 ,more命令用得比较少

less [参数] 文件名

less命令重要的补充用法1 :

需要注意 退出 :只要使用less命令, 按q键

参数用法:

less命令 不加参数 查看文件:

less命令加 -N参数 查看文件:显示行号

less命令加 -S参数 查看文件:单行显示,非常规整

对比:less和cat命令显示文本行号的用法:less -N,cat -n

**more ** 逐页查看,按空格翻页,按回车换行 ,more命令一般很少用,熟练掌握less命令就好

查看压缩文件

wc 统计字符是也把换行符统计进去,但是别的命令不一定会把换行符算进去,.

常见参数:

切记:用less命令,按q退出

cut命令是按关键词来切的

排列前:

排列后:

命令行查看一个表格结构时,因为制表符对齐的原因,出现一个错位的现象.还有 字典排序 可能和我们平时的认知不一样,所以 加上-n参数 , 让数值有数学意义上的大小来排序 .

uniq命令去重,只有两行出现重复,而且是相邻的两行,如果不相邻,即使出现两行一模一样,不会去重.

uniq命令通常和sort命令搭配使用

换其它文件试试

都说到这里了大家应该明白,uniq命令使用时经常和sort一起

常见用法1:

-s :按行合并 演示

要养成一个好习惯,原始数据不要轻易修改,修改的东西另外保存,文本保存用 (重定向)或是 (追加)

① 用 less 查看 example.gtf ,然后管道符传递给 wc

补充小知识 :

清屏 :control L

查看历史(输入过的)命令 :history

Linux 文件行数统计

第一段:行数统计方法

①.、系统命令:wc -l filename

参考文件

工作中总结的常用linux命令(Ⅱ)

[1] 每两行合并在一起

@dahusummaryReport

@dahucat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-

@innovusdbget selected.name

@innovusdbget top.fplan.boxes

@dahufind -iname "*tcic*"

[10] 在某个目录下,遍历所有文件内容,得到含有某个字符/字符串的行

@dahugrep -r 'insertion delay' ./

[11] 查看当前的INNOVUS版本号

@dahuecho $INVS_VER

@dahused -i"s/查找的内容/替换后的内容/g"◆grep -rl"查找的内容"./◆

@dahu ctd_trace?-from * ?-to * ?-color *

为了防止引用造成后面错乱.

gzip -d FileName.gz

@innovus dbset [dbget top.inst.name XXXXXXXX].pt_x AAA

@innovus dbset [dbget top.inst.name XXXXXXXX].pt_y BBB

@innovus zoomSelected

@innovus set_dont_touch BUFF false

@innovus set_dont_touch BUFF true

@innovus dbSet [].?h

vim 中:g/^s*$/d

简单解释一下:

g :全区命令

/ :分隔符

^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重复0到n个前面的字符,$表示行尾.连起来就是匹配只有空字符的行,也就是空行.

/d :删除该行

echo ' "AAAbbb" ' 1.tcl

echo " 'AAAbbb' " 1.tcl

openoffice.org 文件

@innovus report_timing -to XXX -path_type full_clock

@innovus report_timing -to XXX -uncounstrained

@innovus report_timing -to XXX -view

view = MODE ◆ corner

以上就是土嘎嘎小编为大家整理的linux统计命令n相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章