Linux必备命令(三)

一、echo命令

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

语法

echo (选项) (参数)

选项

-e:激活转义字符。 使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

/a 发出警告声;

/b 删除前一个字符;

/c 最后不加上换行符号;

/f 换行但光标仍旧停留在原来的位置;

/n 换行且光标移至行首;

/r 光标移至行首,但不换行;

/t 插入tab;

/v 与/f相同;

// 插入/字符;

/nnn 插入nnn(八进制)所代表的ASCII字符;

参数

变量:指定要打印的变量。

实例

用echo命令打印带有色彩的文字:

文字色:

[root@localhost ~]# echo -e "/e[1;31mThis is red text/e[0m"

Linux必备命令(三)

/e[1;31m 将颜色设置为红色

/e[0m 将颜色重新置回

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景色:

[root@localhost ~]# echo -e "/e[1;42mGreed Background/e[0m"

Linux必备命令(三)

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

文字闪动:

[root@localhost ~]# echo -e "/033[37;31;5mMySQL Server Stop…/033[39;49;0m"

Linux必备命令(三)

红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐
[root@localhost ~]# echo "this is test" > test.txt                //覆盖test.txt文件内容

Linux必备命令(三)

[root@localhost ~]# echo "this is test file" >> test.txt        //追加内容到test.txt文件

Linux必备命令(三)

二、less命令

less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

语法

less (选项) (文件)

选项

-e:文件内容显示完毕后,自动退出;

-f:强制显示文件;

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;

-l:搜索时忽略大小写的差异;

-N:每一行行首显示行号;

-s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x<数字>:将TAB字符显示为指定个数的空格字符。

/字符串:向下搜索"字符串"的功能

?字符串:向上搜索"字符串"的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b  向后翻一页

d  向后翻半页

h  显示帮助界面

Q  退出less 命令

u  向前滚动半页

y  向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]:   向上翻动一页

实例:

[root@localhost ~]# less test.txt            //查看test.txt文件

Linux必备命令(三)

[root@localhost ~]# ps -ef | less            // ps查看进程信息并通过less分页显示

Linux必备命令(三)

三、more命令

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:

Enter 向下n行,需要定义。默认为1行

Ctrl+F 向下滚动一屏

空格键 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

V 调用vi编辑器

!命令 调用Shell,并执行命令

q 退出

more

语法

more (语法) (文件)

选项

-<数字>:指定每屏显示的行数;

-d:显示"[press space to continue,'q' to quit.]"和"[Press 'h' for instructions]";

-c:不进行滚屏操作。每次刷新这个屏幕;

-s:将多个空行压缩成一行显示;

-u:禁止下划线; +<数字>:从指定数字的行开始显示。

-l :忽略Ctrl+l(换页)字符

-p:通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

+n:从笫n行开始显示

-n:定义屏幕大小为n行

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

实例

[root@localhost ~]# more +3 test.txt            //显示文件中从第3行起的内容

Linux必备命令(三)

[root@localhost ~]# more -5 test.txt            //设定显示行数

Linux必备命令(三)

四、netstat命令

netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

语法

netstat (选项)

选项

-a或--all,--listening:显示所有连线中的Socket;

-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;

-c或--continuous:持续列出网络状态;

-C或--cache:显示路由器配置的快取信息;

-e或--extend:显示网络其他相关信息;

-F或--fib:显示FIB;

-g或--groups:显示多重广播功能群组组员名单;

-h或--help:在线帮助;

-i或--interfaces:显示网络界面信息表单;

-l或--listening:显示监控中的服务器的Socket;

-M或--masquerade:显示伪装的网络连线;

-n或--numeric:直接使用ip地址,而不通过域名服务器;

-N或--netlink或–symbolic:显示网络硬件外围设备的符号连接名称;

-o或–timers:显示计时器;

-p或--programs:显示正在使用Socket的程序识别码和程序名称;

-r或--route:显示Routing Table;

-s或--statistice:显示网络工作信息统计表;

-t或--tcp:显示TCP传输协议的连线状况;

-u或--udp:显示UDP传输协议的连线状况;

-v或--verbose:显示指令执行过程;

-V或--version:显示版本信息;

-w或--raw:显示RAW传输协议的连线状况;

-x或--unix:此参数的效果和指定"-A unix"参数相同;

--ip或--inet:此参数的效果和指定"-A inet"参数相同。

实例

列出所有端口 (包括监听和未监听的)

netstat -a              //列出所有端口

netstat -at             //列出所有tcp端口

netstat -au            //列出所有udp端口

列出所有处于监听状态的 Sockets

netstat -l               //只显示监听端口

netstat -lt              //只列出所有监听 tcp 端口

netstat -lu             //只列出所有监听 udp 端口

netstat -lx             //只列出所有监听 UNIX 端口

显示每个协议的统计信息

netstat -s              //显示所有端口的统计信息

netstat -st            //显示TCP端口的统计信息

netstat -su           //显示UDP端口的统计信息

在netstat输出中显示 PID 和进程名称

netstat -pt

netstat -p

可以与其它开关一起使用,就可以添加"PID/进程名称"到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。

在netstat输出中不显示主机,端口和用户名(host, port or user) 当你不想让主机,端口和用户名显示,使用netstat -n。将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。

netstat -an

显示网络接口列表

netstat -i

五、ps命令

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

语法

ps (选项)

选项

-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。

a:显示现行终端机下的所有程序,包括其他用户的程序。

-A:显示所有程序。

-c:显示CLS和PRI栏位。

c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。

-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。

-d:显示所有程序,但不包括阶段作业领导者的程序。

-e:此选项的效果和指定"A"选项相同。

e:列出程序时,显示每个程序所使用的环境变量。

-f:显示UID,PPIP,C与STIME栏位。

f:用ASCII字符显示树状结构,表达程序间的相互关系。

-g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。

g:显示现行终端机下的所有程序,包括群组领导者的程序。

-G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。

h:不显示标题列。

-H:显示树状结构,表示程序间的相互关系。

-j或j:采用工作控制的格式显示程序状况。

-l或l:采用详细的格式来显示程序状况。

L:列出栏位的相关信息。

-m或m:显示所有的执行绪。

n:以数字来表示USER和WCHAN栏位。

-N:显示所有的程序,除了执行ps指令终端机下的程序之外。

-p<程序识别码>:指定程序识别码,并列出该程序的状况。

p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。

r:只列出现行终端机正在执行中的程序。

-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。

s:采用程序信号的格式显示程序状况。

S:列出程序时,包括已中断的子程序资料。

-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。

t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。

-T:显示现行终端机下的所有程序。

-u<用户识别码>:此选项的效果和指定"-U"选项相同。

u:以用户为主的格式来显示程序状况。

-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。

U<用户名称>:列出属于该用户的程序的状况。

v:采用虚拟内存的格式显示程序状况。

-V或V:显示版本信息。

-w或w:采用宽阔的格式来显示程序状况。

x:显示所有程序,不以终端机来区分。

X:采用旧式的Linux i386登陆格式显示程序状况。

-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位。

-<程序识别码>:此选项的效果和指定"p"选项相同。

--cols<每列字符数>:设置每列的最大字符数。

--columns<每列字符数>:此选项的效果和指定"–cols"选项相同。

--cumulative:此选项的效果和指定"S"选项相同。

--deselect:此选项的效果和指定"-N"选项相同。

--forest:此选项的效果和指定"f"选项相同。

--headers:重复显示标题列。

--help:在线帮助。

--info:显示排错信息。

--lines<显示列数>:设置显示画面的列数。

--no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。

--group<群组名称>:此选项的效果和指定"-G"选项相同。

--Group<群组识别码>:此选项的效果和指定"-G"选项相同。

--pid<程序识别码>:此选项的效果和指定"-p"选项相同。

--rows<显示列数>:此选项的效果和指定"–lines"选项相同。

--sid<阶段作业>:此选项的效果和指定"-s"选项相同。

--tty<终端机编号>:此选项的效果和指定"-t"选项相同。

--user<用户名称>:此选项的效果和指定"-U"选项相同。

--User<用户识别码>:此选项的效果和指定"-U"选项相同。

--version:此选项的效果和指定"-V"选项相同。

--widty<每列字符数>:此选项的效果和指定"-cols"选项相同。

由于ps命令能够支持的系统类型相当的多,所以选项多的离谱!

实例

[root@localhost ~]# ps –aux                //查看所有进程

Linux必备命令(三)

[root@localhost ~]# ps -ef | grep nginx            //查看Nginx进程状态

Linux必备命令(三)

六、top命令

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

语法

top (选项)

选项

-b:以批处理模式操作;

-c:显示完整的治命令;

-d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i<时间>:设置间隔时间;

-u<用户名>:指定用户名;

-p<进程号>:指定进程;

-n<次数>:循环显示的次数。

top交互命令

在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

h:显示帮助画面,给出一些简短的命令总结说明;

k:终止一个进程;

i:忽略闲置和僵死进程,这是一个开关式命令;

q:退出程序;

r:重新安排一个进程的优先级别;

S:切换到累计模式;

s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;

f或者F:从当前显示中添加或者删除项目;

o或者O:改变显示项目的顺序;

l:切换显示平均负载和启动时间信息;

m:切换显示内存信息;

t:切换显示进程和CPU状态信息;

c:切换显示命令名称和完整命令行;

M:根据驻留内存大小进行排序;

P:根据CPU使用百分比大小进行排序;

T:根据时间/累计时间进行排序;

w:将当前设置写入~/.toprc文件中。

实例

top – 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92 Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached 解释:

top – 09:44:56                //[当前系统时间],

16 days                           //[系统已经运行了16天],

1 user                              //[个用户当前登录],

load average: 9.59, 4.75, 1.92                   //[系统负载,1分钟、5分钟、15分钟负载情况]

Tasks: 145 total              //[总进程数],

2 running                        //[正在运行的进程数],

143 sleeping                   //[睡眠的进程数],

0 stopped                        //[停止的进程数],

0 zombie                         //[冻结进程数],

Cpu(s): 99.8%us              //[用户空间占用CPU百分比],

0.1%sy                            //[内核空间占用CPU百分比],

0.0%ni                             //[用户进程空间内改变过优先级的进程占用CPU百分比],

0.2%id                             //[空闲CPU百分比],

0.0%wa                           //[等待输入输出的CPU时间百分比],

0.0%hi                            //[硬中断(Hardware IRQ)占用CPU的百分比],

0.0%st                            //[软中断(Software Interrupts)占用CPU的百分比],

Mem: 4147888k total    //[物理内存总量],

2493092k used               //[使用的物理内存总量],

1654796k free                //[空闲内存总量],

158188k buffers             //[用作内核缓存的内存量]

Swap:  5144568k total    //[交换区总量],

56k used                         //[使用的交换区总量],

5144512k free                //[空闲交换区总量],

2013180k cached           //[缓冲的交换区总量]。

给TA打赏
共{{data.count}}人
人已打赏
运维

Shell 分析 Nginx 日志文件找出恶意 IP 教程

2023-11-15 21:22:31

运维

CentOS 6与CentOS 7区别

2023-11-21 16:25:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索