一、cat命令
cat命令用来读取短文件非常方便(如果一个文件非常大的时候,用页命令如more、less、head、tail是比较方便的)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
用法:(1)一次显示整个文件,用cat命令查看文件:$ cat test.log
(2)$ cat -n test.log:在查看的时候加上行号
(3)可以使用通配符:$ cat -n *.log,把所有的log文件都显示出来(顺序显示)
也可以这样:$ cat -n test.log test1.log test2.log;结果用通配符输出结果是完全一样的
(4)与重定向操作符(>)一起使用,用于合并文件:$ cat test.log>> test1.log,这样就把test.log合并到
test1.log后面去了,合并的时候注意顺序,不能搞错。
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)
之后将内容附加到 textfile3 里
(5)从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件
使用cat命令新建一个文件并通过键盘直接向文件中输入内容:$ cat > myfile.php
输入完成以后使用ctrl+d来保存并退出文件
(6)cat /dev/null > /etc/test.txt 此为清空/etc/test.txt内容
二、more命令
显示输出的内容、分页显示、提示文件的百分比
more [参数选项] [文件]
参数如下
+num 从第num行开始显示;
-num 定义屏幕大小,为num行;
-c 从顶部清屏然后显示;
-d 提示Press space to continue, 'q' to quit.(按空格继续,按q键退出,禁用响铃功能);
-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;
-s 把连续的多个空行显示为一行;
+/pattern 从第一个pattern 单词前两行开始显示
参数举例:
more +4 /etc/profile 从profile的第4行开始显示;
more -4 /etc/profile 每屏显示4行;
more -dc /etc/profile 显示提示,并从终端或控制台顶部显示
more +/MAIL /etc/profile 从profile中的第一个MAIL单词的前两行开始显示;
more 的动作指令
退出more的动作指令是q
我们查看一个内容较大的文件时,ctrl+f(或空格键)是向下显示一屏,ctrl+b是返回上一屏
Enter键可以向下滚动显示n行,n自定义,默认为1行
v 调用vi编辑器
三、 less命令
less 与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页
区别:
1)more:以百分比的形式分页显示,提示给用户已经显示了多少内容
less:没有百分比的提示
2)less更加灵活,不仅可以有more的相同的翻页键,还可以通过【page down】【page up】上翻下翻页查看
已经显示出的内容,而more不具备
3)对less显示出的内容中可以使用 /'字符' 输入需要查找的字符或者字符串并高亮显示,而more 不具备
less搜索
当使用命令 less filename打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会
被高亮显示。
向前搜索
/ - 使用一个模式进行搜索,并定位到下一个匹配的文本
n - 向前查找下一个匹配的文本
N - 向后查找前一个匹配的文本
向后搜索
? - 使用模式进行搜索,并定位到前一个匹配的文本
n - 向后查找下一个匹配的文本
N - 向前查找前一个匹配的文本
v - 使用配置的编辑器编辑当前文件
退出less命令 按q键
浏览多个文件
方式一,传递多个参数给 less,就能浏览多个文件。less file1 file2
方式二,正在浏览一个文件时,使用 :e 打开另一个文件。less file1 :e file2
当打开多个文件时,使用如下命令在多个文件之间切换
:n - 浏览下一个文件(next下一个)
:p - 浏览前一个文件(prev上一个)
三、head命令和tail命令
head -n 100 test.log 显示test.log前100行,若不加参数-n就默认输出前面十行
tail -n 100 test.log 显示test.log最后100行
tail -f runlog.log 可以实时的显示新追加到文件中的信息,常用来跟踪日志文件
(执行del、ctrl-C、ctrl-X、ctrl-\均可以退出实时显示)
四、grep查找命令
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是
Global Regular Expression Print,表示全局正则表达式版本(打印与指定模式匹配的所有行)
grep [options]主要参数:
-n:显示匹配行及行号
-i:不区分大小写(只适用于单字符 默认情况区分大小写)
- x:输出完全匹配的内容
pattern正则表达式
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
. :匹配一个字符(所有的单个字符)。
* :匹配0或多个字符。
举例:
$ grep ‘test’ d* 显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。
$ more log.txt | grep -i 'error' 显示在log.txt中匹配error或ERROR的行
五、查看进程ps命令
ps命令是linex下查看进程最常用的命令,用于查看和监控后台进程的工作情况
参数:
-e :显示所有的进程
-a :显示终端上所有的进程,包括其他用户的进程(all)
-u : 显示有效使用者 (effective user) 相关的进程
-x :通常与 a 这个参数一起使用,可列出较完整信息
-f :全格式显示(full) 做一个更为完整的输出
-l : 长格式显示(long)较长、较详细的将该 PID
的的信息列出
最常用的参数是aux
举例:
ps aux
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef|grep java 是用标准的格式显示含有java的进程
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
六、中止进程kill命令
中止进程首先要知道进程ID(PID),用ps -ef查看一下PID,然后kill pid,这是最简单的用法
参数:
-s:指定发送的信号(signal),其中可用的信号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑,
砍掉, 结束; 详细的信号可以用 kill -l
kill -Signal pid
经常看到kill -9 pid,用于强行中止进程(即杀死进程)
这个-9表示什么意思呢?9是信号量,kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个进
程标识号,然后内核对进程标识号指定的进程进行操作。所以kill实际上是用来发送信号量给进程。可以通过
man
kill查看信号量列表。
TERM(或数字9)表示“无条件终止”;因此 kill - 9 表示强制杀死该进程;
而单独的kill则有局限性,例如后台进程,守护进程等;
停止和重启进程
有时候只想简单地停止和重启进程,可以用命令:kill -HUP pid 或者kill -1(数字1) pid
该命令让linux内核和缓地执行进程关闭,然后立即重新启动该进程,在配置应用程序时这个命令很方便
对配置文件做修改后需要使之生效就可以使用该命令重启进程即可。
最好在使用完kill -9命令后,再用free命令回收内存(kill -9突然中止运行的进程
中止后不能自我清理,导致系统
资源无法释放)
例:$ kill -9 XXX
$ free
其中,XXX是无用的进程标识号。然后使用下面命令:$ free 此时会发现可用内存容量增加了。
TERM信号:给父进程发送一个TERM信号,试图杀死它和它的子进程 如 $ kill -TERM pid
Linux下还提供了一个 killall命令
killall 杀死同一进程组内所有的进程,并且允许使用进程名而不是进程ID指定要终止的进程
例如:$ killall httpd
七、who命令
该命令主要用于查看当前在线上的用户情况
这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。
who命令显示以下信息
ebpp pts/0 2011-12-26 14:20 (144.131.254.134)
ebpp pts/1 2011-12-26 17:06 (172.16.26.23)
第一列是登录用户的帐号;
第二列是登录所使用的终端;
第三列是登录时间;
第四列是用户从什么地方登录的网络地址,这里是域名。
参数
-m 和“who am i”的作用一样,显示运行该程序的用户名
-q count 只显示用户的登录帐号和登录用户的数量
八、netstat命令
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连
接情况。利用netstat命令可以得知整个Linux系统的网络情况
常用参数:
netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
netstat -n 显示所有已建立的有效连接。
例子:netstat
显示结果:
Proto Local Address Foreign Address State
TCP Eagle:2929 219.137.227.10:4899 ESTABLISHED
协议(Proto):指是传输层通讯协议
本地机器名(Local Address):Eagle,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929)
远程机器名(Foreign Address):219.137.227.10
远程端口:4899
状态:ESTABLISHED
如何只查询tomcat的连接呢?
netstat -na|grep ESTAB|grep 80|wc -l
netstat -na|grep ESTAB|grep 8080|wc -l
九:查看CPU内存使用情况
通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次
top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
第一部分 -- 最上部的 系统信息栏 :
<空格>:立刻刷新。
p:根据CPU使用大小进行排序。
t:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
m:根据使用内存大小进行排序。
s - 改变画面更新频率,如s5:每5s刷新一次
相关推荐
5.2 使用和约束 5.3 应用 5.3.1 创建 capped collection 5.3.2 限制capped collection中对象个数 5.4 注意事项 5.5 本章小结 第6章 GridFS存储文件 6.1 为什么要用GridFS 6.2 如何实现海量存储 ...
5.2 使用和约束 5.3 应用 5.3.1 创建 capped collection 5.3.2 限制capped collection中对象个数 5.4 注意事项 5.5 本章小结 第6章 GridFS存储文件 6.1 为什么要用GridFS 6.2 如何实现海量存储 ...
实例033 Zend Studio中部署Apache服务器 60 第2章 PHP基础 63 2.1 基本语法 64 实例034 在页面中打印PHP的配置信息 64 实例035 在页面中打印服务器时间 65 实例036 在页面中打印当前执行的PHP文件名 67 实例037 区分...
实例033 Zend Studio中部署Apache服务器 60 第2章 PHP基础 63 2.1 基本语法 64 实例034 在页面中打印PHP的配置信息 64 实例035 在页面中打印服务器时间 65 实例036 在页面中打印当前执行的PHP文件名 67 实例037 区分...
常用的几个Btrace脚本整合在一起形成一个独立风格的应用,但其核心代码用的是Scala,我们没这方面的编程维护经验,所以只好艳羡HouseMD 的才思敏捷而无法在其上增加功能。 于是乎,Greys诞生了。 PS:目前...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...