1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -2 /etc/passwd 或 tail -n 2 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
3. 查看文件中间一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd
这样你就可以只查看文件的第5行到第10行。
1. 如果你只想看文件的前5行,能使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,能使用tail命令,如:
tail -10 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果
tail语法格式:
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
或者
tail [ -r ] [ -n Number ] [ File ]
使用说明:
tail 命令从指定点开始将 File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。 Number 变量<br />指定将多少单元写入标准输出。 Number 变量的值可以是正的或负的整数。如果值的前面有 +(加号),从文件开头<br />指定的单元数开始将文件写到标准输出。如果值的前面有 -(减号),则从文件末尾指定的单元数开始将文件写到<br />标准输出。如果值前面没有 +(加号)或 -(减号),那么从文件末尾指定的单元号开始读取文件。
主要参数:
-b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。
-c Number 从 Number 变量表示的字节位置开始读取指定文件。
-f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),
那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续
从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,
并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在
写入的文件的增长。
-k Number 从 Number 变量表示的 1KB 块位置开始读取指定文件。
-m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在
单字节和双字节字符代码集环境中的一致结果。
-n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)
表示,并通过行号 Number 进行位移。
-r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。
如果文件大于 20,480 字节,那么-r标志只显示最后的 20,480 字节。 -r 标志只有
与 -n 标志一起时才有效。否则,就会将其忽略。
input
tail -b +1 file
tail -c +1 file
tail -n +1 file//从开始数第一行的位置
linux Kill多个进程的妙招
管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:
“ps -efww”是Red Hat 7.0里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep LOCAL=NO”的输入。
“grep LOCAL=NO”的输出结果是,所有含有关键字“LOCAL=NO”的进程,这是Oracle数据库中远程连接进程的共同特点。
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。“kill -9”会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改“grep LOCAL=NO”中的关键字部分就可以了。
cut命令
主要用来提取各种各样的数据。
cut -cchars file
如:
-c5 提取第5个字符
-c5- 提取第5个字符以后的字符
-c1,5,12 提取多个字符,中间用“,”符号隔开
-c5-14 提取第5个字符到第14个字符间的字符
名称:cut
使用权限:所有使用者
用法:cut -cnum1-num2 filename
说明:显示每行从开头算起 num1 到 num2 的文字。
范例:
shell>> cat example
test2
this is test1
shell>> cut -c1-6 example ## print 开头算起前 6 个字元
test2
this i
-c m-n 表示显示每一行的第m个字元到第n个字元。例如:
---------file-----------
liubi 23 14000
---------file-----------
# cut -c 1-5,10-14 file
liubi 14000
-f m-n 表示显示第m栏到第n栏(使用tab分隔)。例如:
---------file-----------
liubi 23 14000
---------file-----------
# cut -f 1,3 file
liubi 14000
-c 和 -f 参数可以跟以下子参数:
m 第m个字符或字段
m- 从第m个字符或字段到文件结束
m-n 从第m个到第n个字符或字段
-n 从第1个到第n个字符或字段
我们经常会遇到需要取出分字段的文件的某些特定字段,例如 /etc/password就是通过":"分隔各个字段的。可以通过cut命令来实现。例如,我们希望将系统账号名保存到特定的文件,就可以:
cut -d: -f 1 /etc/passwd > /tmp/users
-d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段
如:
使用|分隔
cut -d'|' -f2 1.test>2.test
使用:分隔
cut -d':' -f2 1.test>2.test
这里使用单引号或双引号皆可。
只有第N项
N-
从第N项一直到行尾
N-M
从第N项到第M项(包括M)
-M
从一行的开始到第M项(包括M)
-
从一行的开始到结束的所有项
一般用netstat -na 来显示所有连接的端口并用数字表示.
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
该命令(linux下)的一般格式为 :
netstat [选项]
命令中各选项的含义如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ipconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
-A 显示任何关联的协议控制块的地址。主要用于调试
-a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联的套接字
-i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态不在输出之列
-m 打印网络存储器的使用情况
-n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号
-r 打印路由选择表
-f address -family对于给出名字的地址簇打印统计数字和控制块信息。到目前为止,唯一支持的地址簇是inet
-I interface 只打印给出名字的接口状态
-p protocol-name 只打印给出名字的协议的统计数字和协议控制块信息
-s 打印每个协议的统计数字
-t 在输出显示中用时间信息代替队列长度信息。
netstat命令的列标题
Name 接口的名字
Mtu 接口的最大传输单位
Net/Dest 接口所在的网络
Address 接口的IP地址
Ipkts 接收到的数据包数目
Ierrs 接收到时已损坏的数据包数目
Opkts 发送的数据包数目
Oeers 发送时已损坏的数据包数目
Collisions 由这个接口所记录的网络冲突数目