文章目录
wc
wc 实用程序显示 每个输入文件或标准输入(如果未指定文件)中每个输入文件中包含的行数,字数和字节数。一行定义为由字符分隔的字符串。最后一个字符之后的字符将不包括在行数中。
wc 参数格式
wc [-clmw] [file …]
wc命令参数
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
常用参数示例
$ ls
test.txt
$ wc test.txt
26 26 103 test.txt
$ wc -l test.txt #直接一把统计行数
26 test.txt
$ wc -c test.txt
103 test.txt
date & cal
当 不带参数调用时
,date实用程序将显示当前日期和时间
。否则,根据指定的选项,日期 将设置日期和时间或以用户定义的方式打印日期和时间。
date实用程序 显示从内核时钟读取的日期和时间。当用于设置日期和时间时,内核时钟和硬件时钟都将更新。
只有超级用户可以设置日期,并且如果系统安全级别(请参阅securelevel(7))大于1,则时间更改不得超过1秒。
date参数格式
date [-jRu] [-r seconds | filename] [-v [+|-]val[ymwdHMS]] … [+output_fmt] date [-jnu] [[[mm]dd]HH]MM[[cc]yy][.ss] date [-jnRu] -f input_fmt new_date [+output_fmt] date [-d dst] [-t minutes_west]
date命令参数
%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
常用参数示例
$ date
2022年 11月 12日 星期六 11:23:09 CST
$ date '+%D'
11/12/22
$ date '+%T'
11:23:28
$ date '+%X'
11时23分33秒
cal参数格式
cal [-3hjy] [-A number] [-B number] [[month] year] cal [-3hj] [-A number] [-B number] -m month [year] ncal [-3hjJpwy] [-A number] [-B number] [-s country_code] [[month] year] ncal [-3hJeo] [-A number] [-B number] [year] ncal [-CN] [-H yyyy-mm-dd] [-d yyyy-mm]
cal命令参数
-1 显示一个月的月历
-3 显示系统前一个月,当前月,下一个月的月历
-s 显示星期天为一个星期的第一天,默认的格式
-m 显示星期一为一个星期的第一天
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
cal常用参数示例
$ cal
十一月 2022
日 一 二 三 四 五 六
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
which
which命令的作用是,在PATH变量指定的路径中,** 搜索某个系统命令的位置,并且返回第一个搜索结果**。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which参数格式
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n参数相同,但此处的包括了文件的路径。
-w 指定输出时栏位的宽度。
which常用参数示例
$ which ls
alias ls='ls --color=auto'
/bin/ls
$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/alias
/usr/bin/which
whereis
whereis介绍
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)
。如果省略参数,则返回所有信息。
whereis参数格式
whereis [program …]
whereis命令参数
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
whereis常用参数示例
$ whereis ls
/bin/ls
$ whereis whereis
/usr/bin/whereis
nl
nl命令在linux系统中用来 计算文件中行号
。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n
有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
nl参数格式
nl [-p] [-b type] [-d delim] [-f type] [-h type] [-i incr] [-l num] [-n format] [-s sep] [-v startnum] [-w width] [file]
nl命令参数
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
-p 在逻辑定界符处不重新开始计算。
nl常用参数示例
$ nl my.cnf
1 [client]
2 default_character_set=utf8mb4
3 [mysqld]
4 collation_server = utf8mb4_general_ci
5 character_set_server = utf8mb4
ps
ps介绍
ps实用程序显示标题行,其后是包含有关 具有控制终端的所有进程的信息的行
ps参数格式
ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid…]] [-g grp[,grp…]] [-u uid[,uid…]] [-p pid[,pid…]] [-t tty[,tty…]] [-U user[,user…]] ps [-L]
ps命令参数
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
–lines<行数> 每页显示的行数
–width<字符数> 每页显示的字符数
ps常用参数示例
#查看所有进程
$ps -a
#查看进程的环境变量和程序间的关系
$ps -ef
cut
**取出文件的 前10行,并且打印 第7列 **
$ cat passwd | head -n 10|cut -c7
cut实用程序从每个文件中剪切出每行的选定部分(由列表指定),并将它们写入标准输出。如果未指定文件参数,或者文件参数为单破折号(-),则从标准输入中读取内容。列表指定的项目可以是列位置,也可以是由特殊字符分隔的字段。列编号从1开始。
cut参数格式
cut -b list [-n] [file …] cut -c list [file …] cut -f list [-d delim] [-s] [file …]
cut命令参数
-b:仅显示行中指定直接范围的内容;
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
–complement:补足被选择的字节、字符或字段;
–out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
cut常用参数示例
$cut -c-10 tmp.txt #cut tmp.txt文件的前10列
$cut -c3-5 tmp.txt #cut tmp.txt文件的第3到5列
$cut -c3- tmp.txt #cut tmp.txt文件的第3到结尾列
$cat passwd |head -n 10|cut -d ':' -f 3 # 以 : 作为分隔符,取出第3列,取出 passwd 文件前10行
diff
diff介绍
比较两个文件的不同
diff参数格式
diff [OPTION]… FILES
diff命令参数
-b或–ignore-space-change 不检查空格字符的不同。
-B或–ignore-blank-lines 不检查空白行。
-c 显示全部内文,并标出不同之处。
-C或–context 与执行"-c-"指令相同。
-d或–minimal 使用不同的演算法,以较小的单位来做比较。
-D或ifdef 此参数的输出格式可用于前置处理器巨集。
-e或–ed 此参数的输出格式可用于ed的script文件。
diff常用参数示例
$ diff testA.txt testB.txt
tar
tar常用参数示例
#打包 tar -cvf 包名 文件名
$tar -cvf test.tar test.txt
#解包 tar -xvf 包名
$tar -xvf test.tar
#压缩 tar -czvf 包名 文件名
$tar -czvf test.tgz test.txt
#解压 tar -xzvf 包名
$tar -xzvf test.tgz
du
du常用参数示例
#查看指定文件大小
$du -h filename
#展示该目录下所有文件大小,大小以可读方式展示
$du -h /
#展示当前目录大小
$du -sh
#展示当前目录下每个目录大小
$du -sh ./
#显示所有文件的大小,以可读方式展示
$du -ah /
netstat
#列出所有端口使用情况
$netstat -a
#显示当前UDP连接状况
$netstat -nu
#显示UDP端口号的使用情况
$netstat -apu
#显示网卡列表
$netstat -i
#显示网络统计信息
$netstat -s
#显示监听的套接口
$netstat -l
#显示所有已建立的有效连接
$netstat -n
#显示关于路由表的信息
$netstat -r
#列出所有 tcp 端口
$netstat -at
#找出程序运行的端口
$netstat -ap | grep ssh
#在 netstat 输出中显示 PID 和进程名称
$netstat -pt
wget
wget常用参数示例
#下载某个文件,wget 文件的地址
$wget https://blog.csdn.net/qq_38646470
vmstat
vmstat 报告有关进程,内存,页面调度,块IO,陷阱,磁盘和cpu活动的信息
vmstat参数格式
vmstat [options] [delay [count]]
vmstat命令参数
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
vmstat常用参数示例
#显示虚拟内存情况
$ vmstat 2 # 每隔2s打印一次 虚拟内存情况
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1690536 1052 558164 0 0 204 10 163 347 1 3 95 0 0
0 0 0 1690520 1052 558172 0 0 0 9 219 432 3 8 90 0 0
0 0 0 1690520 1052 558188 0 0 0 8 161 288 1 4 95 0 0
解释
Procs(进程):
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:
si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小
IO:(现在的Linux版本块的大小为1024bytes)
bi: 每秒读取的块数
bo: 每秒写入的块数
系统:
in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
CPU(以百分比表示):
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
wa: 等待IO时间
#表示在3秒时间内进行3次采样。将得到一个数据汇总他能够反映真正的系统情况。
$vmstat 3 3
#查看系统fork多少次
$ vmstat -f
166484246 forks
#查看内存使用的详细信息
$vmstat -s
#查看磁盘的读/写
$vmstat -d
#查看系统的slab信息
$vmstat -m
free
free 显示系统中可用和可用的物理内存和交换内存的总量,以及内核使用的缓冲区和高速缓存
。
free参数格式
free [options]
free命令参数
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
free常用参数示例
#显示内存使用情况
$ free
total used free shared buff/cache available
Mem: 65808884 4582700 23754736 684 37471448 60913052
$ free -h
total used free shared buff/cache available
Mem: 62G 4.4G 22G 684K 35G 58G
Swap: 0B 0B 0B
解释
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
#周期性的查询内存使用信息,5s执行一次
$ free -s 5